Compare commits

..

No commits in common. "17d9aca511bc336a9510cc61f256a7b1b9470d3d" and "152ecae1aae8ad577a9ed7f0fd761ad1333e11f9" have entirely different histories.

View file

@ -2,7 +2,7 @@
SimonUp ist der Entwurf für eine moderne, fluss- und blockorientierte Auszeichnungssprache (Dateiendung: `.up`). Sie wird entwickelt, um den Schreibfluss zu maximieren, die Fingerakrobatik auf der Tastatur zu minimieren und die Schwachstellen von traditionellem Markdown elegant zu lösen. SimonUp ist der Entwurf für eine moderne, fluss- und blockorientierte Auszeichnungssprache (Dateiendung: `.up`). Sie wird entwickelt, um den Schreibfluss zu maximieren, die Fingerakrobatik auf der Tastatur zu minimieren und die Schwachstellen von traditionellem Markdown elegant zu lösen.
Du siehst hier meinen Entwurf V1.2b vor dir. Du siehst hier meinen Entwurf V1.2 vor dir.
--- ---
@ -10,7 +10,7 @@ Du siehst hier meinen Entwurf V1.2b vor dir.
SimonUp trennt strikt zwischen zwei Logiken: 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. 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* (mit Ausnahme der Listen und horizontalen Linie) am Zeilenanfang mit `&` plus einem Typ-Kürzel und enden mit einem einzelnen `/&` auf einer eigenen, neuen Zeile. 2. **Block-Formatierungen (Strukturell):** Beginnen *immer* am Zeilenanfang mit `&` plus einem Typ-Kürzel und enden mit einem einzelnen `&` auf einer eigenen, neuen Zeile.
--- ---
@ -51,8 +51,8 @@ Hier beginnt ein völlig neuer Absatz.
| `//` | *Alles schliessen* | Schliesst alle offenen Fluss-Formatierungen. | | `//` | *Alles schliessen* | Schliesst alle offenen Fluss-Formatierungen. |
| `\Zeichen` | *Escape* | Hebt die Bedeutung von Steuerzeichen auf (z. B. `\#`). | | `\Zeichen` | *Escape* | Hebt die Bedeutung von Steuerzeichen auf (z. B. `\#`). |
### Ausrichtung im Fluss ### 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 `/>`. Lässt sich auch für Text in Tabellen anwenden, darum ist es eine Fluss- und keine Block-Formatierung. Die Positionierung und Ausrichtung von Fliesstext wird einheitlich über das Basiszeichen `>` gesteuert, gefolgt von einem Richtungskürzel. Das schliessende Zeichen ist immer ein `/>`.
* `>l Links bündig />` → Richtet den Text explizit **linksbündig** (*left*) aus. * `>l Links bündig />` → Richtet den Text explizit **linksbündig** (*left*) aus.
* `>r Rechts bündig />` → Richtet den Text **rechtsbündig** (*right*) aus. * `>r Rechts bündig />` → Richtet den Text **rechtsbündig** (*right*) aus.
@ -68,32 +68,32 @@ Die Positionierung und Ausrichtung von Fliesstext wird einheitlich über das Bas
___ ___
``` ```
*Ergebnis: Horizontale Linie.* *Ergebnis: Horizontale Linie. Da dieser Block keinen Inhalt umschliesst, wird er als Ausnahme weder mit einem & geöffnet noch mit einem & geschlossen.*
### Listen & Strukturen ### Listen & Strukturen
`-` Erster Listenpunkt `-` Erster Listenpunkt
`-` Zweiter Listenpunkt `-` Zweiter Listenpunkt
*Ergebnis: Unsortierte Aufzählung (Bullet Points).* *Ergebnis: Unsortierte Aufzählung (Bullet Points).*
`1.` Erster nummerierter Punkt `1.` Erster nummerierter Punkt
`2.` Zweiter nummerierter Punkt `2.` Zweiter nummerierter Punkt
*Ergebnis: Nummerierte Liste (1., 2., ...).* *Ergebnis: Nummerierte Liste (1., 2., ...).*
### Kompakte Block-Übersicht (`&>`, `&>>`, `&c`, `&q`, `&b`, `&f` , `&i`, `&toc`) ### Kompakte Block-Übersicht (`&>`, `&>>`, `&c`, `&q`, `&b`, `&f` , `&i`, `&toc`)
| Block-Typ | Kurzbeschreibung & Syntax-Beispiel | | Block-Typ | Kurzbeschreibung & Syntax-Beispiel |
| --- | --- | | --- | --- |
| **Einrückung (`&>`)** | `&>` <br> Rückt den umschlossenen Text **1x ein** (*tab*). <br> `/&` | | **Einrückung (`&>`)** | `&>` <br> Rückt den umschlossenen Text **1x ein** (*tab*). <br> `&` |
| **Doppelte Einrückung (`&>>`)** | `&>>` <br> Rückt den umschlossenen Text **2x ein** (*double tab*). <br> `/&` | | **Doppelte Einrückung (`&>>`)** | `&>>` <br> Rückt den umschlossenen Text **2x ein** (*double tab*). <br> `&` |
| **Code (`&c`)** | `&c python` <br> `print("Fluss-Formatierungen werden hier ignoriert")` <br> `&` | | **Code (`&c`)** | `&c python` <br> `print("Fluss-Formatierungen werden hier ignoriert")` <br> `&` |
| **Zitat (`&q`)** | `&q` <br> „Dies ist ein eigenständiger **Zitatblock** (Blockquote).“ <br> `/&` | | **Zitat (`&q`)** | `&q` <br> „Dies ist ein eigenständiger **Zitatblock** (Blockquote).“ <br> `&` |
| **Bibeltext (`&b`)** | `&b` <br> „Ein spezialisierter Textblock für Bibelstellen.“ <br> `/&` | | **Bibeltext (`&b`)** | `&b` <br> „Ein spezialisierter Textblock für Bibelstellen.“ <br> `&` |
| **Spoiler / Fold (`&f`)** | `&f Klickbarer Titel des Spoilers` <br> Hier steht der standardmässig versteckte Inhalt (HTML `<details>`). <br> `/&` | | **Spoiler / Fold (`&f`)** | `&f Klickbarer Titel des Spoilers` <br> Hier steht der standardmässig versteckte Inhalt (HTML `<details>`). <br> `&` |
| **Infobox (`&i`)** | `&i Wichtiger Hinweis #ff6347` oder `&i Wichtiger Hinweis tomato` <br> Erzeugt eine farbige Infobox mit Titel. Akzeptiert HTML-Farbnamen und Hex-Codes. <br> `/&` | | **Infobox (`&i`)** | `&i Wichtiger Hinweis tomato oder &i Wichtiger Hinweis #ff6347` <br> Erzeugt eine farbige Infobox mit Titel. Akzeptiert HTML-Farbnamen und Hex-Codes. <br> & |
| **TOC (`&toc`)** | `&toc Titel` <br> Einleitende Worte. <br> `/&` | | **TOC (`&toc`)** | `&toc Titel` <br> Einleitende Worte. <br> & |
### Tabellen & Galerien (`&t`) ### Tabellen & Galerien (`&t`)
@ -106,24 +106,23 @@ Tabellen definieren ihre Spaltenstruktur flexibel direkt in der Startzeile:
Jede Spalte endet mit einem | Jede Spalte endet mit einem |
```text ```text
&t 30% 40% 30% &t 3x
**Name** | **Beruf** | **Stadt** | **Name** | **Beruf** | **Stadt** |
Simon | Entwickler | Zürich | Simon | Entwickler | Zürich |
/& &
``` ```
#### Multi-line Zellen & Zeilenumbrüche #### 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. 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 ```text
&t 300px 500px
**Projekt** | **Beschreibung** | **Projekt** | **Beschreibung** |
SimonUp | Eine moderne Auszeichnungssprache. SimonUp | Eine moderne Auszeichnungssprache.
Sie trennt strikt zwischen Fluss und Block Sie trennt strikt zwischen Fluss und Block
und erlaubt echte Absätze in Tabellen.| und erlaubt echte Absätze in Tabellen.|
Aktiv | Läuft.| Aktiv | Läuft.|
/& &
``` ```
--- ---
@ -139,7 +138,7 @@ Aktiv | Läuft.|
### Bildergalerien (Nutzt die Multi-line-Tabellen-Logik) ### 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: 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 ```text
&t 3x &t 3x
@ -151,7 +150,7 @@ Da Zellen durch das schliessende `|` flexibel über mehrere Zeilen fliessen kön
![Schwarzwald](wald.jpg) ![Schwarzwald](wald.jpg)
>c Abbildung 3: Schwarzwald /> | >c Abbildung 3: Schwarzwald /> |
/& &
``` ```
(Hinweis: Der Zeilenumbruch zwischen dem Bild und der Beschreibung wird vom Parser als einfaches `<br>` gerendert, sodass der Text perfekt unter dem Bild steht, während das | am Ende die gesamte Zelle abschliesst.) (Hinweis: Der Zeilenumbruch zwischen dem Bild und der Beschreibung wird vom Parser als einfaches `<br>` gerendert, sodass der Text perfekt unter dem Bild steht, während das | am Ende die gesamte Zelle abschliesst.)
@ -163,13 +162,6 @@ Da Zellen durch das schliessende `|` flexibel über mehrere Zeilen fliessen kön
--- ---
## Demo, Playground, Spielwiese
Unter https://simonpipe.codeberg.page/SimonUp/ entsteht ein Playground (eine Spielwiese), um SimonUp auszuprobieren.
Aber Achtung, der Parser ist noch sehr unausgereift und bedarf noch viel Liebe.
---
## Namensherkunft: Warum „SimonUp“? ## Namensherkunft: Warum „SimonUp“?
Der Name **SimonUp** ist ein durchdachtes (und augenzwinkerndes) dreifaches Wortspiel: Der Name **SimonUp** ist ein durchdachtes (und augenzwinkerndes) dreifaches Wortspiel: