Warum Markdown nicht ganz richtig ist

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 3 Kommentare

Commonmark spezifiziert die Auszeichnungssprache und bietet nützlich Hilfsmittel.

warum markdown nicht ganz richtig ist

Alle lieben Markdown, weil es minimalistisch und universell ist. Wer braucht schon eine hochgezüchtete und over-engineerte Auszeichnungssprache wie docx oder odt? In der Kürze liegt die Würze, die unsere Zeit spart und leicht erlernbar ist. Doch Achtung, manches ist nicht so, wie es scheint.

Wir haben bei GNU/Linux.ch sehr oft die vereinfachte Auszeichnungssprache, die von John Gruber und Aaron Swartz im Dezember 2004 entworfen wurde, gelobt und für leicht formatierte Dokumente empfohlen. Diese Empfehlung gilt auch weiterhin. Wie so oft liegt die Tücke im Detail. Dieser Artikel erklärt, warum das so ist.

Gruber schrieb den ersten Markdown-zu-HTML-Konverter in Perl, der bald auf vielen Websites eingesetzt wurde. Bis 2014 gab es Dutzende von Implementierungen in vielen Sprachen. In der Beschreibung der Markdown-Syntax von John Gruber ist die Syntax nicht eindeutig festgelegt. Aufgrund der fehlenden Spezifikation basierten frühe Implementierungen auf dem ursprünglichen Pearl-Code (markdown.pl), um diese Unklarheiten zu beseitigen. Markdown.pl war jedoch ziemlich fehlerhaft und lieferte in vielen Fällen offensichtlich schlechte Ergebnisse, sodass es keinen zufriedenstellenden Ersatz für eine Spezifikation darstellte. Markdown.pl wurde zuletzt am 17. Dezember 2004 aktualisiert.

Da es keine eindeutige Spezifikation gibt, haben sich die Implementierungen in den letzten 10 Jahren stark auseinanderentwickelt. Infolgedessen sind die Benutzer oft überrascht, dass ein Dokument, das auf einem System (z. B. einem GitHub-Wiki) auf die eine Weise dargestellt wird, auf einem anderen System (z. B. bei der Konvertierung in Docbook mit Pandoc) anders dargestellt wird. Erschwerend kommt hinzu, dass in Markdown nichts als Syntaxfehler gilt und die Abweichung oft nicht sofort entdeckt wird.

Um diesen Missstand zu beheben, zielt das Projekt Commonmark.org auf die Erstellung einer standardisierten, eindeutigen Syntax-Spezifikation für Markdown ab. Commonmark.org bietet:


Quelle: https://commonmark.org/

Tags

Markdown, Syntax, Spezifikation, Commonmark, Auszeichnungssprache

Jane Doe
Geschrieben von Jane Doe am 11. Oktober 2022 um 12:31

Gut ist es auch, einen Linter zu verwenden, z.B. https://github.com/DavidAnson/markdownlint

Naja
Geschrieben von Naja am 11. Oktober 2022 um 13:29

und das obligatorische XKCD dazu: https://xkcd.com/927/

:)

kamome
Geschrieben von kamome am 12. Oktober 2022 um 09:47

Reflexartig: Oder man verwendet das von Anfang an ordentlich spezifizierte asciidoc – heute meist in Form von asciidoctor.

Einziger Nachteil ist, dass es nicht „überall“ unterstützt wird (aber in vielen Editoren und bei GitLab/-Hub schon).