Orgdown

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 14 Kommentare Auf Mastodon ansehen

Mit der Auskopplung des Emacs Org-mode in die Syntax der vereinfachten Auszeichnungssprache Orgdown, soll ein besserer Standard als Markdown gesetzt werden. Was Orgdown ist und ob das mit dem neuen Standard etwas werden kann, lest ihr in diesem Artikel.

orgdown

Ihr alle kennt Markdown und nutzt es wahrscheinlich auch. Markdown ist eine vereinfachte Auszeichnungssprache, die von John Gruber entworfen und im Dezember 2004 mit Version 1.0.1 spezifiziert wurde. Ein Ziel von Markdown ist eine leicht lesbare Ausgangsform bereits vor der Konvertierung. Als Auszeichnungselemente wurden daher vor allem Auszeichnungsarten verwendet, die in ASCII-Text und E-Mails üblich sind.

Leider ist die Spezifikation von Markdown unzureichend, weshalb sich über die Zeit diverse Implementierungen der Auszeichnungssprache entwickelt haben. Über die damit verbundenen Probleme habe ich bereits 2022 einen Artikel geschrieben: Warum Markdown nicht ganz richtig ist.

Neben den verschiedenen Ausprägungen der Markdown-Syntax und -Implementierung (Tools), gibt es weitere populäre vereinfachte Auszeichnungssprachen, wie AsciiDoc, WikiText und reStructuredText. Nicht zu vergessen, die Org-Erweiterung für den Emacs-Editor namens Org-mode. Und genau dieser Org-mode ist der Ausgangspunkt dieses Artikels.

Auf der EmacsConf 2021 hat der Entwickler Karl Voit die Löslösung der Org-mode Syntax von der Implementierung in Emacs vorgeschlagen. Um eine Namensverwirrung zu vermeiden, schlug er als Namen für die Syntax der Auszeichnungssprache Orgdown vor. In einem lesenswerten Artikel legt Voit die Gründe und Vorteile dar, nämlich:

  • Bessere Unterstützung des Org-Modus in Nicht-Emacs-Werkzeugen
  • Die schön gestaltete Org-Syntax einer größeren Anzahl von Menschen zugänglich machen
  • Bessere Unterstützung für die Zusammenarbeit von Emacs und Nicht-Emacs-Benutzern bei der Verwendung von textbasierten Dokumenten vorantreiben
  • Vergleich der Orgdown-Unterstützung verschiedener Werkzeuge
  • Die irritierende Verwechslung der Syntax der Auszeichnungssprache und der Elisp-Implementierung beheben

An dieser Stelle fällt euch vielleicht der bekannte XKCD-Strip zu Standards ein:

Wenn wir 14 konkurrierende Standards haben und einen neuen Standard erfinden, um dieses Problem zu lösen, haben wir danach 15 konkurrierende Standards.

Um diese Standards-Wucherung zu vermeiden, braucht man gute Gründe und Erfolg bei der Umsetzung eines neuen Standards. Gute Gründe liefert Karl Voit; an der Umsetzung hapert es noch. Orgdown soll diese Vorteile bieten:

  • leichtgewichtige Markdown-Sprache
  • einfach zu erlernen
  • konsistente Syntax
  • einfache Eingabe auch ohne Werkzeugunterstützung
  • Orgdown-Levels, um Syntax-Klassen voneinander abzugrenzen

Orgdown kann mit OD oder O↓ abgekürzt werden. Bisher wurde die Syntax von Orgdown-Level 1 (OD1) spezifiziert; weitere Level sollen folgen und mehr Syntax-Elemente unterstützen. Das erleichtert die Werkzeug-Kompatibilität.

Zur näheren Information über Orgdown gibt es mehrere Seiten:

Da Karl Voit die Syntax auf den oben genannten Seiten gut dokumentiert hat, erspare ich mir, diese in meinem Artikel abzutippen. Schaut euch die ersten beiden Links an, dann bekommt ihr einen guten Eindruck.

Die Seite der Werkzeuge mit Orgdown1-Unterstützung lässt mich etwas ratlos zurück. Die OD1-Kompatibilität ist entweder unbekannt oder liegt unter 100 %, ausser bei Emacs. Von den Werkzeugen kenne ich nur Logseq, worüber es bei uns Artikel gibt. Ich hätte Orgdown gerne in einem (dafür gedachten) Editor ausprobiert oder zumindest mit einem CLI-Converter in eine gerenderte Ausgabe umgewandelt - alleine die Mittel dafür finde ich nicht.

Vermutlich genügt dafür ein gewöhnlicher Org-mode-Parser, wie man sie auf dieser Seite findet. In meiner Verzweiflung habe ich das Schweizer Taschenmesser unter den Konvertierern installiert: Pandoc (Achtung: 226 Pakete an Abhängigkeiten). Damit kann man einen Orgdown-Quelltext z. B. in html umwandeln. Hier seht ihr mein Beispiel:

Der Pandoc-Befehl lautet: pandoc -i orgdown.org -o orgdown.html

Fazit

Die einfache Syntax und das Level-Konzept von Orgdown finde ich überzeugend. Bei der Werkzeugunterstützung gibt es noch Verbesserungsbedarf. Hier verlässt man sich zu sehr auf bestehende Emacs-Werkzeuge, bzw. auf Tools, die den Org-mode unterstützen. Ich bin mir unsicher, ob ich das gut oder schlecht finde; man muss das Rad nicht neu erfinden. Allerdings hätte ich mir nach 4 Jahren der Orgdown Existenz einen Referenzeditor gewünscht, der direkt ein gerendertes Ergebnis des Orgdown-Codes darstellt und die OD1-Syntax vollständig unterstützt.

Ob Orgdown das Zeug für einen neuen Standard unter der vereinfachten Auszeichnungssprache hat, wage ich zu bezweifeln.

Titelbild: https://gitlab.com/publicvoit/orgdown

Quellen:

https://de.wikipedia.org/wiki/Markdown

https://gnulinux.ch/warum-markdown-nicht-ganz-richtig-ist

https://karl-voit.at/2021/11/27/orgdown/

https://xkcd.com/927/

https://gitlab.com/publicvoit/orgdown

https://orgmode.org/worg/org-tools/index.html

Tags

Markdown, Auszeichnungssprache, Orgdown, Emacs, Org-mode

Klaus
Geschrieben von Klaus am 9. Juli 2025 um 16:16

Die Markdown Leutchen haben ja drum gefragt, dass es noch eine, vielleicht konsistentere Version einer Markdown artigen Sprache gibt. Markdown selbst hat zumindest den Vorzug, dass die Editoren auch HTML verstehen - zumindest die, dich ich bisher benutzt habe. Das habe ich in Orgdown nicht gesehen (oder übersehen). Als einfachstes Beispiel: HTML Entitäten. CSS Durchreichung wäre auch nicht verkehrt, falls man die HTML Ausgabe (oder PDF) doch mal komplexer formatieren will. Ansonsten: Wenn man die Dokumente vor allem für sich selbst schreibt, spielt es überhaupt keine Rolle ob und was framan verwendet solangs für framan funktioniert. Da muss manfra sich keinen Kopf machen. Bei Kollaborationen aber schon.

Karl Voit
Geschrieben von Karl Voit am 9. Juli 2025 um 18:26

Vielen Dank für den Artikel!

Nur: ich muss korrigieren, dass ich wohl kein Entwickler bin. Ich schreibe nur laienhaft PIM-Software hauptsächlich für mich selbst, weil's sonst niemand macht. Das macht mich noch nicht zu einem Entwickler nach meiner persönlichen Einschätzung. Aber das ist wohl subjektiv. ;-)

Wenn man nach Tool-Support für Orgdown sucht, muss man leider nach den Begriffen org, org-mode oder orgmode Ausschau halten, weil das mit dem getrennten Namen für die Syntax noch nicht so populär ist. Da sieht es nicht so schlecht aus: https://gitlab.com/publicvoit/orgdown/-/blob/master/doc/Tool-Support.org

Mit dem GNU Emacs hat man einen Referenzeditor, der alle Stückerl spielt - so eine gute Unterstützung für irgendeine Lightweight Markup Language habe ich noch nie wo gesehen. Mit Abstand. (Leider.)

Das wichtigste Tool daneben ist pandoc, wie schon im Artikel erwähnt. Damit kann man orgdown-Dateien in dutzende andere Formate inkl. odt, docx oder PDF umwandeln.

Die OD1-Kompatibilitäten ab ca. 85% sind in der Praxis meiner Meinung nach schon gut ausreichend für die meisten Use-Cases der Menschen. Wenn ein Tool nicht nutzt, weil beispielsweise in Tabellen die Fließkommazahlen nicht rechtsbündig gesetzt werden, ist wohl etwas übertrieben für die meisten Menschen.

> Allerdings hätte ich mir nach 4 Jahren der Orgdown Existenz einen Referenzeditor gewünscht, der direkt ein gerendertes Ergebnis des Orgdown-Codes darstellt und die OD1-Syntax vollständig unterstützt.

Das verstehe ich nicht so ganz. Lightweight Markup Languages (LML) wie Orgdown (oder Markdown) werden nicht gerendered. Der Text, den man tippt, ist das eigentliche Ergebnis. Syntax-Hervorhebung von Überschriften usw. sind zwar nett aber für eine Referenz nicht ausschlaggebend, wenn man sich mal im Thema der Syntax bewegt. Falls man die LML-Dateien dann mit einer Tool-Unterstützung bequemer bearbeiten möchte, so ist das voll verständlich aber ein separates Thema. Im Falle von Orgdown hat man mit GNU Emacs out of the box die perfekte Referenzumgebung für Tool-Support sowohl für Syntaxhervorhebungen als auch Manipulationsfunktionen (neue Überschrift, Tabellen editieren, Links einfügen, ...).

Falls gewünscht, kann ich gerne einen Austausch anbieten.

Danke fürs Engagement!

Ralf Hersel Admin
Geschrieben von Ralf Hersel am 9. Juli 2025 um 19:15

Hallo Karl, und vielen Dank, dass Du diesen Artikel gelesen und kommentiert hast. Dafür liebe ich die FOSS-Community. Danke auch für Deine hilfreichen Erläuterungen im Kommentar, auf die ich hier nicht näher eingehen möchte. Da Du einen Austausch anbietest, schlage ich eine Podcast-Folge mit Dir zum Thema "Markdown" vor. Dieses Thema interessiert unsere Community sehr, und Du wärest ein idealer Gesprächspartner dafür. Ich nehme per E-Mail Kontakt mit Dir auf. Herzliche Grüsse, Ralf.

Marc
Geschrieben von Marc am 9. Juli 2025 um 21:31

Also wenn ihr Karl in den Podcast holt, dann macht doch bitte PIM (Personal Information Management) zum Haupthema und Orgmode https://orgmode.org/ zum Nebenthema. Orgmode ist die fast perfekte Lösung für wirklich alles (Notizen, Aufgaben, Listen, Projektplanung, Kalender, Termine, Erinnerungen, Links und Verknüpfungen u.v.a). Als Teil der sehr mächtigen Text-Anwendung Emacs ist es relativ klein und verbraucht nur sehr wenige Resourcen. PIM betrifft alle Menschen und Orgmode hat in diesem Bereich sehr viel mehr Aufmerksamkeit verdient, als es bislang bekommen hat. Danke!

Ralf Hersel Admin
Geschrieben von Ralf Hersel am 9. Juli 2025 um 22:28

Bestimmt nicht. Markdown und PIM sind zwei völlig verschiedene Themen. Bei PIM sehe ich überhaupt keinen Redebedarf; das Thema ist seit Jahren gelöst, im Gegensatz zu Markdown.

Karl Voit
Geschrieben von Karl Voit am 10. Juli 2025 um 11:08

Ich würde das auch als zwei vollkommen getrennte Themen sehen: Markdown vs. Orgdown (die Syntax von Org-mode und nicht die Elisp-Implementierung!) und Org-mode (GNU Emacs) vs. diverse andere PIM-Tools wie (aktuell gehypted) Obsidian.

Allerdings bin ich nicht der Meinung, dass das PIM-Thema seit Jahren gelöst ist. ;-)

klausb
Geschrieben von klausb am 9. Juli 2025 um 21:05

Was ich noch nicht ganz verstehe, was kann Orgdown was Markdown nicht kann? Dies wäre eine wichtige Entscheidungshilfe ob ich das eine oder das andere benutze.

Ralf Hersel Admin
Geschrieben von Ralf Hersel am 9. Juli 2025 um 22:29

Es geht nicht um das Können oder das Nicht-Können, sondern um die Standardisierung.

klausb
Geschrieben von klausb am 9. Juli 2025 um 23:34

Sorry, aber da läuft es auf den erwähnten 15. Standard hinaus ;) Ich habe nichts gegen noch eine Markdownsprache (Vielfalt kann nie schaden), aber für mich (und wahrscheinlich nicht nur für mich) ist neben der leichten Erlernbarkeit auch der Funktionsumfang (macht dies genau das was ich brauche?) ein Kriterium. Und da kann ich noch nichts sehen, warum ich statt Markdown Orgdown benutzen sollte, die Unterschiede sind mir zu minimal. Aber ich will keine Diskussion a la "Emacs vs vi" anfangen...

Karl Voit
Geschrieben von Karl Voit am 10. Juli 2025 um 11:11

Das ist eben komplex und da solltest du meine Artikel abwarten.

Nur als Teaser: Markdown ist nicht standardisiert und extrem fragmentiert. Insofern machst du für dich ein Markdown-File was voll OK ist und auf meiner Seite komplett zerstört wird, sobald ich es mit meinem Prozess weiterverarbeiten will.

Und MD fehlt etliche praktische Syntaxelemente, die man nur ggf. in irgendwelchen Flavors findet.

Und ich habe bislang kein ernstzunehmendes Markdown-Tool gesehen, das nur annähernd an den Tool-Support herankommt, den ich sonst bei LML gewohnt bin.

Wie gesagt: am besten Feeds von karl-voit.at folgen. Soviel poste ich ja nicht. ;-)

Herbert Hertramph
Geschrieben von Herbert Hertramph am 11. Juli 2025 um 01:13

Dann bin ich auch mal auf Deinen Artikel gespannt :-) Momentan überzeugt mich nicht das Argument der Fragmentierung (obwohl ich auch für einen umfangreichen Markdown-Standard bin): Wenn ich mit Kollegen A und B gemeinsam an einen Text schreibe, dann einigen wir uns einfach auf eine Variante (z. B. Nextcloud-Note oder Multimarkdown) - Problem gelöst. Wenn ich einen Text für mich alleine schreibe, nehme ich das, was mir gefällt - ebenso Problem gelöst. Wenn ich einen Text für eine unbekannte Gruppe oder für Leser meiner Webseite veröffentliche, so schreiben die ja nicht mit, sondern müssen den Text nur so lesen können, wie er von mir gemeint war. Stelle ich halt HTML oder EPUB zur Verfügung. Oder halt in Orgdown - aber der richtige "Vorteil" ist für mich noch nicht einleuchtend. - Freue mich aber, dass Ihr das Thema vertiefen werdet!

Karl Voit
Geschrieben von Karl Voit am 11. Juli 2025 um 19:03

Nun, das mag das Problem für den einen Use-Case mit der erzeugten gespeicherten Information temporär lösen.

Wenn man allerdings dann den Text in Form eines Blogbeitrages, einer Dokumentation, eines Buchkapitels, ... weiterverwenden möchte, dann muss man sehr sehr umständlich manuell die ganze Datei und die verwendeten Syntaxelemente durchschauen, um zu eruieren, was denn das eigentlich ist, was man da hat. Steht ja nirgends explizit. Und erst danach kann man entscheiden, ob jetzt das eine oder das andere Tool der Wahl damit überhaupt etwas anzufangen weiß.

Hat man einfach eine vernünftige LML gewählt, ist das alles vollkommen egal: man nutzt die Information und muss nicht erst um die ganzen Defizite des katastrophalen Formats herumarbeiten.

kaligule
Geschrieben von kaligule am 11. Juli 2025 um 20:05

Ich bin von Orgmode zurück zu Markdown gewechselt, mit einer Ausnahme:

Es gibt keine Sprache, die literate Programing so gut unterstützt wie orgmode. Nicht einmal im Ansatz. Wenn Orgdown das leisten kann (kann es im Moment noch nicht) dann bekommt es einen festen Platz in meiner toolchain.

Karl Voit
Geschrieben von Karl Voit am 21. Juli 2025 um 18:41

Hier liegt ein Missverständnis vor.

Für Literate Programming braucht es 2 Voraussetzungen: eine Syntax, wo man Source-Blöcke und deren Metadatan festhalten kann. Das ist mit der Syntax von Org-mode (= orgdown) abgedeckt.

Zweitens braucht man dann eine Software, die diese Syntax interpretiert und die Blöcke entsprechend miteinander kombiniert und ausführt (AFAIR weaving usw.). Das hat mit der Syntax rein gar nichts mehr zu tun, da das eine reine Tool-Sache ist.

Fazit: orgdown ist die Syntax von Org-mode, insofern gibt's keine Unterschiede. Und wenn erstmal ein anderer Editor oder ein anderes Tool die Babel-Blöcke entsprechend handhabt, ist man auch nicht mehr nur von Emacs abhängig.