# 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 (`
`)** → 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 |
| :--- | :--- | :--- |
| `#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
* `|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 `
`&` |
| **Linie (`&_`)** | `&_` oder auch `___` |
### Tabellen & Galerien (`&t`)
Tabellen definieren ihre Spaltenanzahl (`3x` = 3 gleiche Spalten) oder manuelle Breiten (`20% 80%`) in der Startzeile. Die erste Zeile wird durch `*` oder `**` automatisch als Tabellenkopf deklariert.
```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"`)
* `` → Standard-Bild
* `` → Bild mit definierter Breite (Höhe skaliert automatisch)
### Bildergalerien (Kombination aus `&t` und `![...]`)
```text
&t 3x
 |  | 
|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