up.sql
5.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
CREATE TABLE markdowns (
id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
name VARCHAR(256) NOT NULL,
content TEXT NOT NULL,
number_of_versions INTEGER NOT NULL DEFAULT (1),
date_created TEXT NOT NULL,
date_updated TEXT NOT NULL
);
-- This holds compressed reverse patches to markdown.content.
-- The markdown.content field always holds the latest version.
-- This way we can always restore every version we had in the past.
-- The date_created here should be set to the value of
-- markdown.date_updated when the patch was created. This diff_id
-- is always current last max diff_id for given markdown_id plus 1.
CREATE TABLE markdown_diffs (
markdown_id INTEGER NOT NULL,
diff_id INTEGER NOT NULL,
diff BLOB NOT NULL,
date_created TEXT NOT NULL,
PRIMARY KEY (markdown_id, diff_id)
);
INSERT INTO markdowns
(name, content, date_created, date_updated)
VALUES
( 'md-example'
, "# Markdown Cheatsheat
## Überschriften
---
# # <H1>
## ## <H2>
### ### <H3>
#### #### <H4>
##### ##### <H5>
###### ###### <H6>
## Absätze und Umbrüche
---
Ein einfacher Zeilenumbruch
verändert den Textfluss nicht. Spaces haben auch keinen Einfluss auf den Textfluss. Es ist selten eine gute Idee große Abstände innerhalb eines Textes zu habe, sollte man diese aber wirklich brauchen kann man auf inline html zurückgreifen.
Leerzeilen erzeugen neue Paragraphen. Um im formatierten Text einen Zeilenumbruch zu erzeugen verwendet man zwei Spaces vor einem Zeilenumbruch im Eingabetext.
Dies führt nicht zu einem Paragraphen.
## Hervorhebungen
---
- *kursive (schwache) Hervorhebung*
- **fette (starke) Hervorhebung**
- ***kursiv und fette (sehr starke) Hervorhebung***
- *schwache mit **eingebetteter starker** Hervorhebung*
- **starke mit *eingebetteter schwacher* Hervorhebung**
- ~~durchgestrichen~~
- <u>unterstreichen nur mit HTML</u>
- ~~*durchgestrichen kursiv*~~
- **~~fett durchgestrichen~~**
- *<u>kursiv unterstrichen</u>*
- <u>**unterstrichen fett**</u>
## Gedanken- und Binde--strich
---
Ein Einfaches Minus bildet im Text den Gedankenstrich *hyphen* (-). Zwei oder mehr Minus werden zu verschieden langen Bindestrichen *dash* (--, ---). In regulärem
Text kommen zwei Minuszeichen hintereinander in der Regel nicht vor. In
Programmcode, der in ASCII geschrieben ist allerdings schon. Will man also zwei
Minuszeichen separat darstellen kann man diese in inline code packen (`--, ---`).
## Listen
---
- erster Listeneintrag
- erster Unterlisteneintrag
- zweiter Unterlisteneintrag
- zweiter Listeneintrag
1. erster nummerierter Listeneintrag
1. erster nummerierter Unterlisteneintrag
2. zweiter nummerierter Unterlisteneintrag
3. dritter nummerierter Unterlisteneintrag
2. zweiter nummerierter Listeneintrag
- dritter Listeneintrag
- [x] erster Auswahllisteneintrag
- [ ] zweiter Auswahllisteneintrag
- [x] dritter Auswahllisteneintrag
- vierter Listeneintrag
1. [ ] erster nummerierter Auswahllisteneintrag
2. [x] zweiter nummerierter Auswahllisteneintrag
## Code Blöcke
---
Dies ist ein codeblock durch Einrückung.
In diesem werden keine Formatierungen
vorgenommen.
Mit backticks lassen sich Codeblöcke mit Sprachinformation
erstellen. Theoretisch könnte für solche Böcke dann Syntax-Highliting eingebaut werden.
```shell
#!/bin/env sh
FOO=\"foo\"
function func() {
local BAR=bar
}
```
Auch in den Fließtext lassen sich `inline code` Elemente einfügen um z.B. einzelne Kommandos hervorzuheben.
## Zitate und horizontale Linie
---
> Dies ist ein Zitat.
>
>> Zitate können verschachtelt sein.
>
> Wir können also zitieren was jemand zitiert hat.
> Solange die Zeilen ohne Unterbrechung mit einem >
> beginnen bleibt es ein Zitat
> Sobald eine Zeile ohne führendes > auftaucht endet ein
> Zitat.
## Links
---
Ein Link kann inline geschrieben werden, so wie diese zu
[Heise.de](https://heise.de/ 'Heise.de') oder als Referenz am Ende des Textes
wie diese nach [Telepolis][lnk1].
## Bilder
---
Wie Links lassen sich auch Bilder wie mein
![Gravatar](https://www.gravatar.com/avatar/fd016c954ec4ed3a4315eeed6c8b97b8)
in den Text ein.
Im Fließtext sieht das allerdings ein bisschen dumm aus es sei denn man hat
entsprechend angepasste styles. Besser scheint mir daher Bilder nur zwischen
Paragraphen zu platzieren.
![Gravatar](https://www.gravatar.com/avatar/fd016c954ec4ed3a4315eeed6c8b97b8)
Etwas so wie hier.
## Tabellen
---
Die folgenden Beispiele kommen von [markdown.land][lnk2]:
| Artikel | Preis | Bestand |
|---------------|-----------|------------|
| Saftige Äpfel | 1.99 | *8* |
| Bananen | **1.89** | 5234 |
Man braucht sie nicht schön zu formatieren.
Artikel | Preis | Bestand
---|---|---
Saftige Äpfel | 1.99 | 739
Bananen | 1.89 | 6
und die Spaltenausrichtung kann man auch einstellen:
| Artikel | Preis | Bestand |
|---------------|:-------:|-----------:|
| Saftige Äpfel | 1.99 | 739 |
| Bananen | 1.8900 | 6 |
## Fußnoten
---
Man kann auch verlinkte Fußnoten[^1] in den Text
einbinden. Die Fußnote selber kann dann an beliebige stelle im Text stehen.
---
[^1]: Zum Beispiel so.
[^2]: Diese Fußnote hat keine Verlinkung im Text.
## HTML einbetten
<ul>
<li>
<pre>Man kann auch direkt HTML tags einbetten,
wie hier.</pre>
</li>
</ul>
[lnk1]: https://heise.de/tp/ 'Telepolis'
[lnk2]: https://arkdown.land/markdown-table 'markdown.land'"
, '2022-01-29 21:33:34.000'
, '2022-01-29 21:33:34.000' );