SimonUp/readme.md
2026-07-06 22:12:58 +02:00

6.1 KiB

SimonUp Syntax-Spezifikation

SimonUp ist eine moderne, fluss- und blockorientierte Auszeichnungssprache (Dateiendung: .up). Sie wurde entwickelt, um den Schreibfluss zu maximieren, die Finger-Akrobatik auf der Tastatur zu minimieren und die Schwachstellen von traditionellem Markdown elegant zu lösen.


Philosophie: Fluss vs. Block

SimonUp trennt strikt zwischen zwei Logiken:

  1. Fluss-Formatierungen (Inline): Werden mit einem einzelnen Zeichen (oder einer Verdopplung) geöffnet und geschlossen. Sie erlauben Formatierungen mitten im Satz, ohne eine neue Zeile zu erzwingen, und funktionieren auch innerhalb von Blöcken.
  2. Block-Formatierungen (Strukturell): Beginnen immer am Zeilenanfang mit & plus einem Typ-Kürzel und enden mit einem einzelnen & auf einer eigenen, neuen Zeile.

Absätze & Zeilenumbrüche

SimonUp eliminiert kryptische oder unsichtbare Zeichen am Zeilenende. Der Parser interpretiert die natürliche Nutzung der Enter-Taste direkt und intuitiv:

  • 1x Enter (<br>) → Erzeugt einen einfachen Zeilenumbruch (Soft Break).
  • 2x Enter (<p>) → Erzeugt eine Leerzeile und startet einen neuen Absatz.

Beispiel:

Das ist die erste Zeile.
Diese Zeile steht direkt darunter.

Hier beginnt ein völlig neuer Absatz.

1. Fluss-Formatierungen (Inline)

Syntax Ergebnis Besonderheit / Usecase
#Text# bis ######Text###### Überschrift (H1 bis H6) Text kann direkt in der Zeile weiterfliessen.
*Text* Medium Halbfette Betonung (font-weight: 500).
**Text** Fett (Bold) Starke Betonung (font-weight: 700) / Tabellenkopf.
/Text/ Kursiv Leichte Betonung / Zitate im Text.
_Text_ Unterstrichen Sauberer, dokumentenähnlicher Textstil.
~Text~ Durchgestrichen Korrekturen oder erledigte To-Dos.
=Text= Highlight Textmarker-Effekt für wichtige Schlüsselwörter.
^Text^ Hochgestellt Mathematische Notation oder Indizes.
°Text° Tiefgestellt Chemische Formeln (liegt auf derselben Taste wie ^!).
`Text` Inline-Code Technische Begriffe im Fließtext.
\Zeichen Escape Hebt die Bedeutung von Steuerzeichen auf (z. B. \#).

Ausrichtung & Einrückung im Fluss

Die Positionierung und Ausrichtung von Fließtext wird einheitlich über das Basiszeichen > gesteuert, gefolgt von einem Richtungskürzel. Das schließende Zeichen ist immer ein einfaches >.

  • >l Links bündig> → Richtet den Text explizit linksbündig (left) aus.
  • >r Rechts bündig> → Richtet den Text rechtsbündig (right) aus.
  • >c Zentriert> → Richtet den Text zentriert (center) aus.
  • >j Blocksatz> → Richtet den Text im Blocksatz (justified) aus.
  • >t Eingerückt> → Rückt den umschlossenen Text 1x ein (tab).
  • >tt Doppelt eingerückt> → Rückt den umschlossenen Text 2x ein (double tab).

2. Block-Formatierungen

Horizontale Linie

___

Ergebnis: Horizontale Linie. Da dieser Block keinen Inhalt umschließt, wird er als Ausnahme nicht mit einem & geschlossen.

Listen & Strukturen (&-, &+)

&-
Erster Listenpunkt
Zweiter Listenpunkt
&

Ergebnis: Unsortierte Aufzählung (Bullet Points).

&+
Erster nummerierter Punkt
Zweiter nummerierter Punkt
&

Ergebnis: Nummerierte Liste (1., 2., ...).

Kompakte Block-Übersicht (&c, &q, &b, &f)

Block-Typ Kurzbeschreibung & Syntax-Beispiel
Code (&c) &c python
print("Fluss-Formatierungen werden hier ignoriert")
&
Zitat (&q) &q
„Dies ist ein eigenständiger Zitatblock (Blockquote).“
&
Bibeltext (&b) &b
„Ein spezialisierter Textblock für Bibelstellen.“
&
Spoiler / Fold (&f) &f Klickbarer Titel des Spoilers
Hier steht der standardmäßig versteckte Inhalt (HTML <details>).
&
Infobox (&i) &i Wichtiger Hinweis tomato oder &i Wichtiger Hinweis #ff6347
Erzeugt eine farbige Infobox mit Titel. Akzeptiert HTML-Farbnamen und Hex-Codes.
&

Tabellen & Galerien (&t)

Tabellen definieren ihre Spaltenstruktur flexibel direkt in der Startzeile:

  • Automatisch: 3x teilt den Platz in 3 gleich große Spalten auf.
  • Prozentual: 20% 80% setzt relative Breiten.
  • Pixelgenau: 150px 350px erzwingt feste Spaltenbreiten.
  • Mischbetrieb: 20% 200px 10% erlaubt das nahtlose Kombinieren von Prozent- und Pixelwerten für maximale Flexibilität.

Jede Spalte endet mit einem |

&t 3x
**Name** | **Beruf** | **Stadt** |
Simon | Entwickler | Zürich |
&

Multi-line Zellen & Zeilenumbrüche

Um den Schreibfluss bei viel Text zu erhalten, können Zellen über mehrere Zeilen fließen. Der Parser sammelt allen Text (inklusive normaler Zeilenumbrüche), bis ein Spaltenrenner | die nächste Zelle einleitet.

**Projekt** | **Beschreibung** |

SimonUp | Eine moderne Auszeichnungssprache.
Sie trennt strikt zwischen Fluss und Block
und erlaubt echte Absätze in Tabellen.|
Aktiv | Läuft.|
&

  • [Codeberg](URL) → Standard-Link (selber Tab)
  • [Codeberg]{URL} → Komfort-Link (neuer Tab / target="_blank")
  • ![Alt-Text](URL) → Standard-Bild
  • ![Alt-Text w:300](URL) → Bild mit definierter Breite (Höhe skaliert automatisch)

Bildergalerien (Nutzt die Multi-line-Tabellen-Logik)

Da Zellen durch das schließende | flexibel über mehrere Zeilen fließen können, lassen sich Bilder und ihre dazugehörigen Beschreibungen nahtlos in derselben Zelle kombinieren. Mit >c ...> werden die Bildunterschriften sauber unter den Bildern zentriert:

&t 3x
![Alpen](berge.jpg)
>c Abbildung 1: Alpen>|

![Italien](strand.jpg)
>c Abbildung 2: Italien>|

![Schwarzwald](wald.jpg)
>c Abbildung 3: Schwarzwald>|
&

Fußnoten

  • ^1[Hier steht der Fußnotentext]^ → Manuelle Nummerierung (Fußnote 1)
  • ^x[Hier steht der Fußnotentext]^ → Automatische, fortlaufende Nummerierung durch SimonUp