# 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. ## 1. Fluss-Formatierungen (Inline) | Syntax | Ergebnis | Besonderheit / Usecase | | :--- | :--- | :--- | | `#Text#` | **Überschrift H1** | Text kann direkt in der Zeile weiterfließen. | | `##Text##` | **Überschrift H2** | Text kann direkt in der Zeile weiterfließen. | | ... | | | | `######Text######` | **Überschrift H6** | Text kann direkt in der Zeile weiterfließen. | | `*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 * `|Text|` → Der umschlossene Text wird **zentriert**. * `>Text>` → Der umschlossene Text wird **1x eingerückt**. * `>>Text>>` → Der umschlossene Text wird **2x eingerückt**. ## 2. Block-Formatierungen ### 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äßig versteckte Inhalt (HTML `
`).

`&` | ### Tabellen & Galerien (`&t`) Tabellen definieren ihre Spaltenanzahl (`3x` = 3 gleiche Spalten) oder manuelle Breiten (`20% 80%`) in der Startzeile. ```text &t 3x **Name** | **Beruf** | **Stadt** Simon | Entwickler | Zürich & ``` ## 3. Links, Medien & Fußnoten ### 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 (Kombination aus `&t` und `![...]`) ```text &t 3x ![Alpen](berge.jpg) | ![Italien](strand.jpg) | ![Schwarzwald](wald.jpg) |Abbildung 1: Alpen| |Abbildung 2: Italien| |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 ``` ## 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.