Compare commits
10 commits
152ecae1aa
...
17d9aca511
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17d9aca511 | ||
|
|
9df1e1a9f7 | ||
|
|
193a95a4bf | ||
|
|
f99b3c9074 | ||
|
|
65e268cc85 | ||
|
|
b4757a745a | ||
|
|
0eccd06bd5 | ||
|
|
d03bddcacd | ||
|
|
58325c7e10 | ||
|
|
4d725b54b2 |
1 changed files with 36 additions and 28 deletions
64
readme.md
64
readme.md
|
|
@ -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.2 vor dir.
|
Du siehst hier meinen Entwurf V1.2b vor dir.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -10,7 +10,7 @@ Du siehst hier meinen Entwurf V1.2 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* am Zeilenanfang mit `&` plus einem Typ-Kürzel und enden mit einem einzelnen `&` auf einer eigenen, neuen Zeile.
|
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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -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 & Einrückung im Fluss
|
### Ausrichtung 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 `/>`.
|
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.
|
||||||
|
|
||||||
* `>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. Da dieser Block keinen Inhalt umschliesst, wird er als Ausnahme weder mit einem & geöffnet noch mit einem & geschlossen.*
|
*Ergebnis: Horizontale Linie.*
|
||||||
|
|
||||||
### 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 tomato oder &i Wichtiger Hinweis #ff6347` <br> Erzeugt eine farbige Infobox mit Titel. Akzeptiert HTML-Farbnamen und Hex-Codes. <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> `/&` |
|
||||||
| **TOC (`&toc`)** | `&toc Titel` <br> Einleitende Worte. <br> & |
|
| **TOC (`&toc`)** | `&toc Titel` <br> Einleitende Worte. <br> `/&` |
|
||||||
|
|
||||||
### Tabellen & Galerien (`&t`)
|
### Tabellen & Galerien (`&t`)
|
||||||
|
|
||||||
|
|
@ -106,23 +106,24 @@ Tabellen definieren ihre Spaltenstruktur flexibel direkt in der Startzeile:
|
||||||
Jede Spalte endet mit einem |
|
Jede Spalte endet mit einem |
|
||||||
|
|
||||||
```text
|
```text
|
||||||
&t 3x
|
&t 30% 40% 30%
|
||||||
**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.|
|
||||||
&
|
/&
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -138,7 +139,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
|
||||||
|
|
@ -150,7 +151,7 @@ Da Zellen durch das schliessende `|` flexibel über mehrere Zeilen fliessen kön
|
||||||
|
|
||||||

|

|
||||||
>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.)
|
||||||
|
|
@ -162,6 +163,13 @@ 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:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue