Markdown
Inhalt
Diese Seite enthält die Beschreibung aller von
Markdown kann ohne Herumgeklicke direkt mit den Tasten unter den Fingern Format-Befehle für geschriebenen Text einfügen. Für die Nachbearbeitung gibt es für einen Großteil der Zeichenformatierungen Tastenbefehle, die im Menü „Bearbeite → Auszeichnungen“ aufgelistet sind.
Wie die Auszeichnungen letztendlich aussehen, entscheidet die verwendete Stilvorlage (CSS-Datei). Diese muss beim Export-Ergebnis über das Layout verknüpft werden.
Grundlagen
Die „Urform“ von Markdown wird John Gruber und Aaron Swartz zugeschrieben. Mit einem reinen Texteditor lässt sich betriebssystem-unabhängig eine „Steuerdatei“ zur Übersetzung in „ausgestaltete“ Texte schreiben – und lesen.
Das grundlegende Konzept ist leicht erweiterbar, weshalb sich „Dialekte“ entwickelt haben. Das macht sich auch
Der in
Rang der Auszeichnungen
Der Markdown-Übersetzer von
Dennoch kann es Wechselwirkungen geben. Diese lassen sich fast immer lösen, wenn (kurz) über die Abarbeitungsreihenfolge nachgedacht wird.
Die Bearbeitungsreihenfolge
Die Reihenfolge ist auf das für die Ausgabe Relevante vereinfacht. U.a. die Block-Operationen sind erheblich komplexer als hier dargestellt.
- Die Quelldatei wird in einen Arbeitspuffer kopiert.
- Strukturprüfung
- Im Arbeitspuffer werden alle Präprozessor-Funktionen durch den damit erzeugten Inhalt ersetzt
- Für den so entstandenen Markdown-Text werden die Werte für die Lesezeit-Variablen errechnet.
- Der Yaml-Header wird eingelesen und entfernt.
- Meta-Zeichen werden ersetzt.
- Softbreaks werden im Arbeitspuffer reformatiert.
- Alle Kommentare werden entfernt.
- Alle Fußnoteninhalte werden gesammelt und auf Doubletten geprüft.
- Alle Referenzen werdn gesammelt und auf Doubletten geprüft.
- Definitionslisten erzeugen:
Jede Definitions-Hierarchie muss mit einer Leerzeile beendet werden. Sie funktionieren wie mathematische Klammern und werden „von innen nach außen“ absatzweise gesucht und als Struktur erzeugt. - Abschnitte öffnen/schließen:
- Zitate
- Code, PHP, HTML-Kommentare, Beliebiger Code
- Listen/Aufzählungen
- Tabellen
- HTML-Abschnitt, Pandoc-Abschnitt, Doppelklammer
- Überschriften
- Absätze
- Auszeichnungen
- fett, kursiv, …
- Ersetzen der Module
- Verknüfungen (Hyperlinks, Fußnoten, Referenzen)
- Fußnoteninhalte nach Auftreten sortieren,nummerieren, anhängen
- Einfügen des Ergebnisses in das Layout
- Ersetzen der Yaml- und übrigen Editor-Variablen
- Ersetzen der Postprozessor-Funktionen
Wo ist die Reihenfolge relevant?
Konkrete Beispiele
- Mehrere Absätze kursiv oder fett auszeichnen, muss absatzweise erfolgen.
- Leerzeilen werden wie Kommentar behandelt, es sei denn, sie folgen auf eine Definition.
- Es wird nur der Yaml-Header der Quelldatei ausgewertet.
- In durch Präprozessor-Funktionen eingefügtes Markdown werden Yaml-Variablen ersetzt, aus Markdown HTML-erzeugt.
- In durch Postprozessor-Funktionen eingefügten Code finden keine Markdown-Übersetzung oder Yaml-Ersetzungen statt.
- In durch Postprozessor-Funktionen eingefügtes, übersetztes Markdown (insert/define) wurden Yaml-Ersetzungen ausgeführt.
- Durch Postprozessor-Funktionen eingefügter Text ist kein Bestandteil der Lesezeit-Ermittlung.
Was kompliziert scheint, ist im Grunde ganz einfach:
Ein überspitztes Beispiel, bei dem viele Interpreter bereits an der gelben Hervorhebung und/oder Definitionsliste scheitern. Die Tabelle, der „Beispiel“-Einzug und die Umrahmung darin außen vor … 😉
Beispiel
- In einer Definitionsliste,
-
- die eine Definitionsliste enthält,
-
- eine Tabelle mit ausgerichteten Spalten erzeugen,
-
in der verschiedene Zeichenfomatierungen, u.a. „Mark“ verwendet werden?
Wie geht das ? Nimm einfach OSE
🤔 Eine Überschrift in einer Box für das Inhaltsverzeichnis? Geschenkt! 🖖
Strukturprüfung
Die Markdown-Datei wird vor der Bearbeitung einer (rudimentären) Prüfung auf geschlossene Abschnitte unterzogen:
- Gibt es unpaarige runde Klammern () ?
Das können unvollständige Funktionen, Hyperlinks oder Doppelklammer-Abschnitte auslösen. Zwangsläufig fehlerhaft sind Aufzählungen mit „)“.
??( Damit dieser Fehler gefangen ↑ wird - Gibt es unpaarige rechteckige Klammern [] ?
Das kann eine fehlerhafte Modul-Notation sein. - Gibt es unpaarige Pandoc-Abschnitte ::: … ::: ?
Hierfür werden Meldungen ausgegeben, die ignoriert oder verfolgt werden können: Die Ausgabe wird fortgesetzt.
Unpaarige Funktionsblöcke $$$…$$$ blockieren die Umwandlung des Markdowns: Das könnte bei einigen davon zu einer Endlos-Schleife führen.
Wird mit Funktionen Markdown hinzugeladen, erfolgt das nach diesen Prüfungen. Fehlt in diesem Code z.B. ein $$$ bei einem „define“, bleibt das im günstigsten Fall unbemerkt, im ungünstigsten Fall könnte sich
Die Strukturkontrolle erfolgt ebenfalls beim Speichern einer Markdown-Datei. Optional kann das Speichern zum Korrigieren abgebrochen werden. Bei Kombinierten Befehlen (Speichern & Exportieren [& FTP]) wird die Kontrolle nur vom Export durchgeführt.
Zeichenkonvertierung
⨹Zeichen werden »wie sie sind« durchgereicht. Das kann unter Umständen zu unerwünschten Seiteneffekten, die sich mit „escapen“ lösen lassen. Diese Zeichen werden mit dieser Methode vor der Markdown-Bearbeitung in ihr HTML-Pendant übersetzt:
Eingabe | Übersetzung |
---|---|
\ (\Leerzeichen) | → „festes“ Leerzeichen |
\! | &33; |
\" | " |
\( | ( |
\) | ) |
\* | * |
\- | ­ → bedingter Trennstrich |
\: | : |
\[ | [ |
\\ | \ |
\] | ] |
\^ | ^ |
\_ | _ |
\` | ` |
\{ | { |
\| | | |
\} | } |
\~ | ~ |
\§ | § |
\° | ° |
\0 .. \a .. \k | ⓪ .. ⑩ … ⑳ → eingekreiste Zahlen |
Softbreak
- Markdown-Zeichen
-
…\
oder…<br/>
oder…<BR/>
oder…<br>
oder…<BR>
am Absatzende
Der nachfolgende Absatz wird vor der Markdown-Bearbeitung nach einem <br/> an den aktuellen angehängt. Kommentar, Überschrift, Tabellenanfang, …, ist ohne Bedeutung: Der nachfolgende Absatz wird ohne Rücksicht auf weitere Auszeichnungen angehängt.
Es gibt bewusst keine Unterstützung von zwei oder mehr Leerzeichen am Zeilenende.
„Unsichtbare“ Formatierungszeichen widersprechen dem Ansatz von Markdown, Text mit lesbaren Formatanweisungen zu formatieren.
Zitate
- Markdown-Zeichen
-
>
am Absatzanfang
Die Zitat-Strukturen („blockquote“) können beliebig tief verschachtelt werden. Sie gelten per se für den ganzen Absatz, deshalb ist keine „Ende-Kennung“ erforderlich.
⨹ Es ist unerheblich, ob und wie viele Leer- und Tabulatorzeichen vor dem (oder den) >
stehen.
Innerhalb eines Zitats können nahezu alle Auszeichnungen verwendet werden. Das entspricht der Daring-Fireball-Konvention, wird aber von anderen Interpretern nur eingeschränkt unterstützt.
- Zitate formatieren
-
Damit mehrstufige Zitate „optisch konsistent“ funktionieren, müssen entsprechende Stile definiert sein. Mit CSS ist keine Referenzierung auf das Eltern-Element möglich. Folge-Definitionen wie z.B.
:first-child
machen mehrstufige Blockquotes schwer vorhersehbar. Geplante Format-Kombinationen sollten daher explizit mit Stilvorlagen beschrieben werden.
Als Alternative für verschachtelte Blockquote-Hervorhebungen bieten sich (in
Code-Abschnitte
Zur Definition von Abschnitten muss sich die umklammernde Notation alleinstehend in einem Absatz befinden.
Das Ergebnis von verschachtelten Code-, PHP-, HTML-Kommentar- und Code-Blöcken ist unvorhersehbar.
Es entsteht fast immer ein Resultat, das im günstigsten Fall schlecht aussieht, im ungünstigsten Fall die Seitendarstellung generell verhindert oder gar den Server zum stehen bringt.
Quelltext
- Markdown-Zeichen
-
~~~ [Klasse]
oder``` [Klasse]
am Abschnittsanfang, am Zeilenanfang oder nach Zitatzeichen.
Alles hinter diesen Zeichen bis zum Absatzende wird als Formatanweisung (class="…"
) übernommen.~~~ [Klasse]
oder``` [Klasse]
am Abschnittsende am Zeilenanfang oder nach Zitatzeichen.Anfangs- und Endzeichen sollten identisch sein, ⨹ die gemischte Verwendung wird unterstützt.
Codeblöcke werden mit <pre><code>
eingeschlossen. Optional übergebene Formate werden dem <code class="…">
-Tag zugeordnet.
- In Code-Abschnitten werden Formatanweisungen von Browsern ingoriert.
- Abhängig von der Stilvorlage erfolgt die Darstellung „wie geschrieben“, d.h. Umbrüche und Leerzeichen werden respekiert.
~~~
Ausgabe „wie eingegeben“, ggf. auch mehrere → ← Leerzeichen, die ansonsten zu einem zusammengezogen werden.
~~~
⨹ Auch in Codeblöcken findet die Zeichenkonvertierung statt, mit der sich möglicherweise auftretende Darstellungsfehler beheben lassen.
PHP-Code
- Markdown-Zeichen ⨹
-
<?php
am Abschnittsanfang?>
am Abschnittsende
Die Umklammerung ist Bestandteil der Ausgabe.
Diese Notation kann sowohl innerhalb von Absätzen also auch über mehrere Absätze hinweg genutzt werden.
Freistehend in ein- und ausleitenden Absätzen verwendet, werden alle dazwischenliegenden Absätze inklusive der Umklamerung als unveränderter PHP-Programmcode 1:1 in die Zieldatei geschrieben.
<?php
Alles zwischen den Marken wird „als Code“
in die Zieldatei geschrieben.
?>
Das aktuelle Datum <?php echo date(d.m.Y); ?> im Absatz.
HTML-Kommentare
- Markdown-Zeichen ⨹
-
<!--
am Absatzanfang beginnt den Abschnitt-->
am Absatzanfang schließt den Abschnitt ab
Die Umklammerung ist Bestandteil der Ausgabe.
Diese Notation kann sowohl innerhalb von Absätzen also auch über mehrere Absätze hinweg genutzt werden.
Freistehend in ein- und ausleitenden Absätzen verwendet, werden alle dazwischenliegenden Absätze inklusive der Umklamerung als unveränderter HTML-Kommentar in die Zieldatei geschrieben.
<!--
Dieser Kommentar kommt – wie er ist –
in der Datei an, bleibt im Browser jedoch unsichtbar.
-->
Hier wird <!-- lediglich --> ein Wort ausgeblendet.
Beliebiger Code
- Markdown-Zeichen ⨹
-
<?code
am Absatzanfang beginnt den Abschnitt?>
am End schließt den Abschnitt abDie Umklammerung wird entfernt.
Im gegensatz zu PHP-Code und HTML-Kommentar wird diese Auszeichnung innerhalb von Absätzen ignoriert.
Text-Abschnitte (DIV)
Das ursprüngliche Markdown bietet keine Strukturierungsmöglichkeiten von Textabschnitten.
Es gibt keine Kontrolle, ob geöffnete Abschnitte geschlossen wurden.
Doppelklammer
- Markdown-Zeichen ⨹
-
〈〈 [optionale Klasse〈n〉]
explizit am Absatzanfang beginnt den Abschnitt〉〉 [optionaler Kommentar]
explizit am Absatzanfang schließt den AbschnittVerschachtelte Klammern werden „von innen nach außen“ abgearbeitet.
Mindestens zwei öffnende oder schließende RUNDE Klammern am Absatzanfang umschließen einen Abschnitt.
- Text hinter öffnenden Klammern wird als Klasse an den
<div class="…">
-Tag übergeben. - Text hinter schließenden Klammern wird als
OSE -Kommentar in der Ausgabe entfernt. - Eine größere Anzahl Klammern kann zur Visualisierung zusammengehörender Abschnitte verwendet werden, für die Code-Erzeugung ist es irrelvant.
(( info
Beliebig viele Absätze, die mit allen Formatbefehlen, etc. versehen sein können.
)) Hier endet der Infoblock
Erzeugter Code:
<div class="info">
<p>Beliebig viele Absätze, die mit allen Formatbefehlen, etc. versehen sein können.<p>
</div>
Für diese Schreibweise verwendet die Funktion „Einfügen → Wrapper“.
Pandoc DIV
- Markdown-Zeichen (⨹)
-
::: Klasse
explizit zu Beginn des Absatzes beginnt den Abschnitt:::
explizit zu Beginn des Absatzes schließt den AbschnittVerschachtelte Klammern werden „von innen nach außen“ abgearbeitet.
Diese Notation wurde von Pandoc übernommen.
- Es müssen mindestens drei Doppelpunkte sein
- Einer öffnenden Marke muss eine Klassendefinition folgen, die keine Formatdefinition haben muss. Sie dient bei der Interpretation allein der Erkennung eines öffnenden Abschnitts.
- Der Abschnitt wird ausschließlich mit mindestens drei Doppelpunkten beendet, es darf kein Text folgen (sonst neuer Abschnitt…).
- Eine größere Anzahl Doppelpunkte kann zur Visualisierung zusammengehörender Abschnitte verwendet werden, für die Code-Erzeugung ist es irrelvant.
::: Formatname
Text der ersten Ebene
:::::: Formatname
Test der zweiten Ebene
:::
:::
Markdown-Kommentar
- Markdown-Zeichen ⨹
-
??
explizit am Absatzanfang
Zwei Fragezeichen ??
als erste Zeichen eines Absatzes markieren eine Kommentarzeile. Sie wird beim Export ignoriert wie eine Leerzeile.
?? Diese Zeile ist ein Kommentar, der beim Export ignoriert wird,
?? also nur in der Markdown-Datei steht.
Überschriften
- Überschriften erhalten automatisch einen ID, der referenziert werden kann.
Der ID wird identisch zur Funktion Bearbeite → Umwandeln → ID/Dateiname erzeugt. - Überschriften erhalten den „tabindex="0"“, was sie mit
TAB
/SHIFT
TAB
„navigierbar“ macht.
Verweise auf Überschriften der aktuellen Seite können im Editor als Querverweis eingefügt werden.
## Dies Überschrift[^joEea] ist für die [ID-Erzeugung](/editor/bearbeiten/umwandeln#iddateiname "hingehen") kein Problem
wird zu:
<H2 id="dies-ueberschrift-ist-fuer-die-id-erzeugung-kein-problem" tabindex="0">Dies Überschrift<a href="#fnz1" class="fnl" id="fnh1">1</a> ist für die <a href="/editor/bearbeiten/umwandeln#iddateiname" title="hingehen">ID-Erzeugung</a> kein Problem</H2>
Absätze
- Markdown-Zeichen
-
keine.
Jeweils alles zwischen↵
bzw. Textanfang und↵
sowie↵
und Textende.
Ein Absatz besteht aus mindestens einem (beliebigen, auch „unsichtbaren“) Zeichen und endet mit einem ↵
(Absatzende-Zeichen, „Wagenrücklauf“) oder dem Dateiende.
In der Grundeinstellung bricht
Nur bei Definitionslisten) definieren Leerzeilen deren Ende. Ansonsten werden sie strukturell ignoriert und erzeugen keine Absätze. Sie können beliebig zur Strukturierung der Quelldatei verwendet werden.
„Besondere“ Absätze
Beginnen Absätze mit „<“ und enden Sie mit „>“, wird der gesamte Absatz als HTML-Code interpretiert und unbearbeitet in die Zieldatei geschrieben.
- Detailunterschied
-
Ein möglicher HTML-Befehl „<…>“ wird respektiert und wie er ist ausgegeben.
Für einmalige „special effects“ erspart es Einträge in Stilvorlagen:
Wer das <span style="color:pink;font-size:3em">braucht</span>, …
Ergibt
Wer das braucht, …
Es findet keine Prüfung statt, ob direkt eingefügter HTML-Code eine valide Quelldatei erzeugt.
Auszeichnungen
Innerhalb von Absätzen werden die nachfolgenden Zeichenformatierungen unterstützt.
Auszeichnungen werden auf jeden Fall, abweichend von manchen anderen Generatoren, am Absatzende geschlossen, damit valides HTML entsteht.
Was | wofür | Anmerkung |
---|---|---|
**…** | **Fett** | Fett ① |
__…__ | __Fett__ | Fett ① ③ |
*…* | *kursiv* | Kursiv ① ② |
_…_ | _kursiv_ | Kursiv ① ③ |
***…*** | ***kursiv-fett*** | kursiv-fett ① |
___…___ | ___kursiv-fett___ | kursiv-fett ① ③ |
`…` | `Code` | Code , HTML-encodiert ④ |
°°…°° | °°klein°°schreiben | ⨹ kleinschreiben |
^…^ | ^hoch^stellen | ⨹ hochstellen |
~…~ | ~tief~stellen | ⨹ tiefstellen |
~~…~~ | ~~durch~~streichen | ⨹ |
!!…!! | !!unter!!streichen | ⨹ unterstreichen |
==…== | ==Achtung== | ⨹ Achtung ⑤ |
-shy;-shy;- | (-shy;-shy;-) | (Trennlinie) ⑥ |
- Keine Ersetzung innerhalb von Modulen, Referenzen und Hyperlinks zum Schutz von Pfadnamen (Unterstrich) und Quantoren (
<em>
). „Offene“ Auszeichnungen (kein paariger Abschluss) werden am Absatzende zwangsweise geschlossen. - Ein
<em>
gefolgt von einem Leerzeichen am Anfang wird als Aufzählungszeichen interpretiert. - Der Unterstrich wird von der Korrektur als „Zeichen“ gewertet – was er faktisch ist, weshalb die
<em>
-Varianten evtl. etwas handlicher sind. - : Automatische Ersetzung von <,>,[,],(,) mit HTML-Encodierung innerhalb der <Code>-Auszeichnung.
- Es wird das HTML5-Element
<mark>…</mark>
verwendet, das älteren Browsern unbekannt ist. - „Offiziell“ werden Trennlinien (
<hr/>
) nur alleinstehend in einem Absatz unterstützt.
⨹ Hier wird es auch innerhalb eines Absatzes erkannt, was zum „Verschwinden“ des Absatzes führen kann. Es wird unterstützt, damit Trennstriche in Blockquotes möglich sind.
Bilder
- Markdown-Zeichen
-
![Ersatztext]〈Link Titel〉
„Titel“ ist optional, er dient der Barrierefreiheit.
- Es muss einen Ersatztext geben
- Es muss etwas geben, das als Link verwendet werden kann
- Link und Titel mit Leerzeichen müssen mit Hochkommata umschlossen sein
- Trenner zwischen Link und Titel ist (mindestens) ein Leerzeichen
- Fehlt der Titel wird dafür der Ersatztext verwendet
- Der Link enthält eine referrerpoliciy und ist XML-konform
- Der Ersatztext ist gleichzeitig die Bild-ID (s. Überschriften)
- Der Bildpfad muss passend zur Webseitenkonfiguration angelegt sein,
/
am Anfang wird üblicherweise als „ab Root“ verstanden
Hyperlink
- Markdown-Zeichen
-
[Linktext]〈Link Titel〉
„Titel“ ist optional, er dient der Barrierefreiheit.
- Es muss einen Linktext geben
- Es muss etwas geben, das als Link verwendet werden kann
- Link und Titel mit Leerzeichen müssen mit Hochkommata umschlossen sein
- Trenner zwischen Link und Titel ist (mindestens) ein Leerzeichen
- Der Titel ist optional
- Ein Link kann vollständig („https://…“) oder relativ zum Dokument sein.
Abhängig von der Server-Konfiguration sind root-basierte Links erforderlich. Diese haben den Vorteil einer „zweifelsfreien“ Navigation: Der Startpunkt ist klar definiert.
Referenzen
- Markdown-Zeichen
-
[Linktext][referenz]
im Fließtext eines Absatzes[referenz]: Link Titel
am Absatzanfang eines eigenständigen Absatzes, (⨹) irgendwo im Dokument
- Die Referenz muss am Zeilenanfang stehen, (⨹) vorweg dürfen Leerzeichen stehen
- Link und Titel mit Leerzeichen müssen mit Hochkommata umschlossen sein
- Trennstelle zwischen Link und Titel ist (mindestens) ein Leerzeichen
- Wird keine Referenz gefunden, wird eine Fehlermeldung » UNGÜLTIGE REFERENZ « an der referenzierenden Stelle ausgegeben (s. „mark“).
- Es können absolute und relative Adressen referenziert werden
Fehlende Referenzen werden beim Export gemeldet und der Erzeugung aller Seiten im Protokoll vermerkt.
Ausgabe
Referenzen erhalten grundsätzlich
- … ein
target="_blank"
Das öffnet den Link (überlicherweise) in einem neuen Browser-Tab oder -fenster.
Für „externe“ Links ist das zweckmäßig, damit der Eindruck vermieden wird, sie wären Bestandteil des eigenen Angebots (→ Haftung für den Inhalt). - … die Klasse
rrl
(Referenzlink)
Fußnoten
- Markdown-Zeichen
-
[^ref]
im Fließtext[^ref]: Link Titel
am Absatzanfang eines eigenständigen Absatzes, (⨹) irgendwo im Dokument
- Fußnoten-Referenzen werden generisch in der Reihenfolge ihres Auftretens durchnummeriert und verlinkt:
- Fußnoten haben für alle drei Elemente vorgegebene Klassen, s. Seitenlayouts.
- Eine „vergessene Fußnote“ wird hervorgehoben: » UNGÜLTIGE FUSSNOTE « (s. „mark“)
- Ein Fußnotentext kann mehrfach referenziert werden. Die Referenz im Text erhält immer die gleiche Nummer, der Rücksprung erfolgt zum ersten Verweis im Text.
- Bei mehrfachen Fußnotentexten mit identischer Referenz gilt der von oben erste gefundene. Spätere auftretende werden verworfen.
- Im Fußnotentext können andere Fußnoten und Referenzen referenziert werden.
Die Funktion Einfügen → Fußnoten generiert automatisch eindeutige1 Fußnoten-IDs.
Definitionslisten
- Markdown-Zeichen (⨹)
-
Definition
: …
…
← Das muss eine ECHTE Leerzeile sein!
- Ein Definitionsabschnitt endet mit einer Leerzeile.
- Die Leerzeile darf keinerlei Zeichen (auch keine unsichtbaren oder Leerzeichen) enthalten
- Kommentare sind für eine Definitionsliste keine Leerzeilen
- Titel und Inhalt der Definition werden mit
<dl>…</dl>
umklammert - Definitionslisten können verschachtelt werden
- Die Auflösung erfolgt „von innen nach außen“, d.h. die erste Leerzeile schließt die innerste Definition
- Jeder Definitionsabschnitt muss mit einer Leerzeile beendet werden
- Die Position der Leerzeile bestimmt, ob die Elemente eingezogen oder auf der gleichen Ebene ausgegeben werden.
Das entspricht dem Verhalten von Markdown Extra-Definitionlisten
Tabelle
- Markdown-Zeichen (⨹)
-
| Kopf 1 | Kopf 2 | kopf 3 |{tabellenid}
| :--- | :---: | ---: |
| links | mittig | rechts |
| Standard | Nur mit Formatzeile | Längerer Text wird – abhängig von der Formatvorlage – in der Spalte umgebrochen.
| Tabelle in Tabelle? | **Geht!** | $$$ insert tdemo $$$ |
$$$ define tdemo :
| TH 3 | TH 4 | TH 5 |
| ---: | :--- | :---: |
| rechts | links | mittig |
$$$Kopf 1 Kopf 2 kopf 3 links mittig rechts Standard Nur mit Formatzeile Längerer Text wird – abhängig von der Formatvorlage – in der Spalte umgebrochen. Tabelle in Tabelle? Geht! TH 3 TH 4 TH 5 rechts links mittig
- Tabellen kann (optional) eine ID zugewiesen werden (s. Code), anderfalls wird ein generischer vergeben. Ein „zugewiesener“ ist ggf. einfacher für Referenzen verwenbar.
- Aus der ersten Zeile wird grundsätzlich ein
THEAD…THEAD
-Bereich erzeugt. - Mit einer „Formatzeile“① kann Spaltenausrichtung festgelegt werden
- Wenn eine Formatzeile gefunden wird , …
- … für die Tabelle ein
style
-Bereich erzeugt, - … die Formatierung dem Tabellen-ID zugewiesen,
- … den Spalten eine entsprechende Ausrichtung zugewiesen,
- … der Kopfzeilentext jeder Spalte zentriert und fett,
- … mit
TBODY
alles unterhalbTHEAD
umklammert. - Ohne Formatzeile werden keine Formatanweisungen erzeugt
- Tabellen werden auch in Blockquote-Bereichen erzeugt
① Im Gegensatz zu anderen Markdown-Implementationen die Tabellen unterstützen, darf bei
Aufzählungen/Listen
Markdown unterstützt ungeordnete Listen (Zeile beginnt mit -
,+
oder *
) und geordnete, nummerierte Listen. Einige Dialekte unterstützen Alphabetische Listen.
Bis auf die römische Nummerierung können geordnete Listen durch den verwendeten Startwert (mit bis zu drei Stellen) fortgesetzt werden.
- Generell
-
- Alle Listen müssen mit (mindestens) einem Leerzeichen vom nachfolgenden Text getrennt werden.
- Die Aufzählungshierarchie wird durch Tabulator- oder Leerzeichen vor dem Aufzählungszeichen festgelegt.
- Bei
OSE genügt ein Leerzeichen Unterschied beim Einzug. Die Verwendung von Tabulatoren wird unterstützt, was es übersichtlicher macht.
- „Geordnete“ Listen
-
- Geordnete Listen müssen mit einem Punkt oder einer ⨹schließenden Klammer2 enden.
- Der Aufzählungstyp einer Hierarchie wird mit de ersten Position festgelegt. Für alle nachfolgenden dieser Hierarchie ist das verwendete Startelement unerheblich.
- Die Zählung startet neut mit dem angegebenen Startwert, wenn ein Absatz mit Inhalt zwischen Aufzählungen einer Hierarchie liegt oder sie sich in einem Abschnitt befinden.
- Im Editor
-
- Listen werden so lange fortgesetzt, bis ein Absatz folgt, der kein Aufzählungs-/Listenzeichen am Anfang hat.
- ENTER in einer Aufzählung erzeugt eine Aufzählungszeile mit dem identischen Einzug und Typ.
- Leere Aufzählungszeilen werden mit ENTER so lange ausgerückt, bis es wieder ein „normaler Absatz“ ist.
- Mit TAB kann eine Aufzählung unabhängig von der Cursor-Position eingezogen, mit SHIFT TAB ausgerückt werden.
- ENTER innerhalb eines Aufzählungsabsatzes teilt sie und fügt das aktuelle Aufzählungszeichen am Absatzanfang ein.
Aufzählungstypen
Erste Zeichen | Anmerkung |
---|---|
- + * | ungeordnete Liste, „*“ als Listenzeichen kann mit Textauszeichungen (kursiv, fett) kollidieren |
1 … 999 | Nummierierte Liste, optionaler Startwert bis 999 |
A … ZZZ | ⨹ Großbuchstaben, optionaler Startwert bis ZZZ |
a … zzz | ⨹ Kleinbuchstaben, optionaler Startwert bis zzz |
I oder i | ⨹ Römische Nummerierung, kein freier Startwert möglich Deshalb ist kein Startwert/Fortsetzungwert „i“ bzw. „I“ bei Buchstabenlisten möglich. |