# SimonUp Syntax-Spezifikation SimonUp ist der Entwurf für eine moderne, fluss- und blockorientierte Auszeichnungssprache (Dateiendung: `.up`). Sie wird entwickelt, um den Schreibfluss zu maximieren, die Finger-Akrobatik auf der Tastatur zu minimieren und die Schwachstellen von traditionellem Markdown elegant zu lösen. Du siehst hier quasi meinen Entwurf 1.0 vor dir. --- ## 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 (`
`)** → Erzeugt einen einfachen Zeilenumbruch (Soft Break). * **2x Enter (`

`)** → Erzeugt eine Leerzeile und startet einen neuen Absatz. **Beispiel:** ```text 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 | | :--- | :--- | :--- | | `1#Text1#` bis `6#Text6#` | **Überschrift (H1 bis H6)** | Text kann direkt in der Zeile weiterfliessen. | | `1#xText1#x` bis `6#xText6#x` | **Überschrift (H1 bis H6) mit automatischer Nummerierung** | Text kann direkt in der Zeile weiterfliessen. | | `1#-Text1#-` bis `6#-Text6#-` | **Überschrift (H1 bis H6) werden nicht im TOC aufgenommen** | Text kann direkt in der Zeile weiterfliessen. | | `*Text*` | **Medium** | Halbfette Betonung (`font-weight: 500`). | | `**Text**` | **Fett (Bold)** | Starke Betonung (`font-weight: 700`) | | `/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. | | `` `Text` `` | `Inline-Code` | Technische Begriffe im Fliesstext. | | `\Zeichen` | *Escape* | Hebt die Bedeutung von Steuerzeichen auf (z. B. `\#`). | ### Ausrichtung & Einrückung im Fluss Die Positionierung und Ausrichtung von Fliesstext wird einheitlich über das Basiszeichen `>` gesteuert, gefolgt von einem Richtungskürzel. Das schliessende 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 ```text ___ ``` *Ergebnis: Horizontale Linie. Da dieser Block keinen Inhalt umschliesst, wird er als Ausnahme weder mit einem & geöffnet noch mit einem & geschlossen.* ### Listen & Strukturen (`&-`, `&+`) ```text &- Erster Listenpunkt Zweiter Listenpunkt & ``` *Ergebnis: Unsortierte Aufzählung (Bullet Points).* ```text &+ 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ässig versteckte Inhalt (HTML `

`).
`&` | | **Infobox (`&i`)** | `&i Wichtiger Hinweis tomato oder &i Wichtiger Hinweis #ff6347`
Erzeugt eine farbige Infobox mit Titel. Akzeptiert HTML-Farbnamen und Hex-Codes.
& | | **TOC (`&toc`)** | `&toc Titel TOC`
& | ### Tabellen & Galerien (`&t`) Tabellen definieren ihre Spaltenstruktur flexibel direkt in der Startzeile: * **Automatisch:** `3x` teilt den Platz in 3 gleich grosse 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 | ```text &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 fliessen. Der Parser sammelt allen Text (inklusive normaler Zeilenumbrüche), bis ein Spaltenrenner `|` die nächste Zelle einleitet. ```text **Projekt** | **Beschreibung** | SimonUp | Eine moderne Auszeichnungssprache. Sie trennt strikt zwischen Fluss und Block und erlaubt echte Absätze in Tabellen.| Aktiv | Läuft.| & ``` --- ## 3. Links, Medien & Fussnoten ### Links & Medien * `[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 schliessende `|` flexibel über mehrere Zeilen fliessen 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: ```text &t 3x ![Alpen](berge.jpg) >c Abbildung 1: Alpen>| ![Italien](strand.jpg) >c Abbildung 2: Italien>| ![Schwarzwald](wald.jpg) >c Abbildung 3: Schwarzwald>| & ``` (Hinweis: Der Zeilenumbruch zwischen dem Bild und der Beschreibung wird vom Parser als einfaches `
` gerendert, sodass der Text perfekt unter dem Bild steht, während das | am Ende die gesamte Zelle abschliesst.) ### Fussnoten * `^1[Hier steht der Fussnotentext]^` → Manuelle Nummerierung (Fussnote 1) * `^x[Hier steht der Fussnotentext]^` → Automatische, fortlaufende Nummerierung durch SimonUp --- ## Namensherkunft: Warum „SimonUp“? Der Name **SimonUp** ist ein durchdachtes (und augenzwinkerndes) dreifaches Wortspiel: 1. **Das Upgrade:** Das „Up“ steht für den evolutionären Schritt nach vorn (*Upgrade*, *SpeedUp*). Es symbolisiert eine Sprache, die den Schreibfluss beschleunigt und modernisiert. 2. **Der logische Gegensatz:** Es ist die direkte, optimierte Antwort auf traditionelles *Markdown* – SimonUp zieht deine Dokumente nach oben, statt sie nach unten zu drücken. 3. **Der Insider-Witz:** Wer sagt eigentlich, dass eine Auszeichnungssprache immer nach dem deutschen Vornamen „Mark“ (*Markdown*) benannt sein muss?