Die Geschichte von Markdown

Offizielles Markdown-Logo

Logo von Dustin Curtis Gemeinfrei

Was ist Markdown?

Markdown ist eine leichtgewichtige Auszeichnungssprache mit einer einfachen Textformatierungssyntax. Ihr Hauptziel ist es, in ihrer ursprünglichen Form (Quellcode) menschlich lesbar zu sein und leicht in gültiges HTML konvertiert werden zu können. Seit seiner Veröffentlichung 2004 ist es zum De-facto-Standard für Autoren, Entwickler und Content-Ersteller im Web geworden.

Markdown ist zwei Dinge: (1) eine einfache Textformatierungssyntax; und (2) ein Software-Tool, ursprünglich in Perl geschrieben, das diese Formatierung in HTML konvertiert.

Ursprünge und Motivation (vor 2004)

Vor Markdown erforderte das Schreiben für das Web Kenntnisse in HTML (HyperText Markup Language) oder die Verwendung von WYSIWYG-Editoren (What You See Is What You Get), die oft schweren und schwer zu wartenden Code erzeugten.

Es gab andere leichtgewichtige Auszeichnungssprachen wie Textile und reStructuredText, aber viele sahen immer noch wie Computercode aus oder erforderten komplexe Tags. Die Inspiration für Markdown kam aus einer einfachen Quelle: die Formatierung in reinen Text-E-Mails.

In den frühen Tagen des Internets verwendeten Benutzer bereits intuitive Konventionen zur Formatierung von E-Mails: *Sternchen* für Betonung, > Zeichen für Zitate und Bindestriche für Listen. Diese natürlichen Konventionen wurden zur Grundlage der Markdown-Syntax.

Die Entstehung (2004)

Markdown wurde von John Gruber (geb. 1973), Technologie-Blogger, UI-Designer aus Philadelphia, Pennsylvania, und Schöpfer des beliebten Blogs Daring Fireball, mit bedeutenden Beiträgen von Aaron Swartz (1986-2013), dem brillanten Wunderkind-Programmierer und Internet-Aktivisten, erstellt.

Gruber hatte die ursprüngliche Idee und schrieb das erste Perl-Skript, das markierten Text in HTML konvertierte. Seine Philosophie war klar: Das markierte Dokument sollte so veröffentlicht werden können, wie es ist, als reiner Text, ohne so auszusehen, als wäre es mit Tags oder Formatierungsanweisungen gefüllt.

Aaron Swartz arbeitete gemeinsam mit Gruber an der Syntax. Swartz hatte bereits atx (eine andere Auszeichnungssprache) erstellt und beeinflusste die Erstellung von Überschriften-Syntaxen mit #, sowie die Verfeinerung der HTML-zu-Text-Übersetzungsregeln.

Version 1.0.1 wurde am 17. Dezember 2004 öffentlich unter einer BSD-Open-Source-Lizenz veröffentlicht.

Das übergeordnete Designziel für Markdowns Formatierungssyntax ist es, sie so lesbar wie möglich zu machen. Die Idee ist, dass ein in Markdown formatiertes Dokument so veröffentlicht werden kann, wie es ist, als reiner Text, ohne so auszusehen, als wäre es mit Tags oder Formatierungsanweisungen markiert worden.
John Gruber, Daring Fireball

Die Schöpfer

John Gruber

John Gruber

Schöpfer von Markdown

Technologie-Blogger und UI-Designer, geboren 1973 in Philadelphia. Schöpfer von Daring Fireball, einem der einflussreichsten Technologie-Blogs mit Fokus auf Apple-Produkte. Moderiert auch den Podcast The Talk Show. Gruber erhielt seinen Bachelor of Science in Informatik von der Drexel University.

Foto von Randy Stewart Wikimedia Commons CC BY-SA 3.0

Aaron Swartz

Aaron Swartz

Mit-Schöpfer von Markdown (1986-2013)

Wunderkind-Programmierer, Unternehmer, Autor und Internet-Aktivist. Mit 14 Jahren war er Co-Autor von RSS 1.0). Er war einer der frühen Architekten von Creative Commons, Entwickler von Open Library und Mitbegründer von Reddit. 2013 wurde er in die Internet Hall of Fame aufgenommen.

Foto: Wikimedia Commons CC BY-SA 3.0

Aaron Swartz verdient enorm viel Anerkennung für sein Feedback zum Design von Markdowns Formatierungssyntax. Markdown ist dank Aarons Ideen, Feedback und Tests viel besser.
— John Gruber

Fragmentierung: Die Wild-West-Ära (2005-2012)

Da Grubers ursprüngliches Perl-Skript einige Mehrdeutigkeiten hatte und nicht alle Anwendungsfälle abdeckte (wie Tabellen oder mathematische Definitionen), begann die Community, eigene Implementierungen in anderen Sprachen wie Python, Ruby, PHP und JavaScript zu erstellen.

Dies führte zur Fragmentierung. Entwickler fügten zusätzliche Funktionen hinzu, die es in der ursprünglichen Spezifikation nicht gab. Die sogenannten Flavors von Markdown entstanden:

MultiMarkdown (2005) — Von Fletcher Penney erstellt, fügte Unterstützung für Tabellen, Fußnoten, Metadaten und LaTeX-Export hinzu.

PHP Markdown Extra — Eine beliebte Version für PHP-basierte CMS (wie WordPress und Drupal), erstellt von Michel Fortin.

GitHub Flavored Markdown (GFM) — Vielleicht die einflussreichste Variante. GitHub übernahm Markdown für seine README.md-Dateien, Kommentare und Issues und fügte Syntaxhervorhebung für Codeblöcke, Aufgabenlisten und Tabellen hinzu. GitHubs Popularität festigte Markdown als unverzichtbares Werkzeug für Entwickler.

Zeitachse

2004

Ursprüngliche Veröffentlichung

John Gruber veröffentlicht Markdown 1.0.1 am 17. Dezember im Daring Fireball Blog, einschließlich eines Perl-Skripts zur Konvertierung und anfänglicher Unterstützung für Movable Type, Blosxom und BBEdit.

2004

PHP Markdown

Michel Fortin portiert Markdown nach PHP und erstellt eine der ersten alternativen Implementierungen. Später fügt er Erweiterungen wie Tabellen und Fußnoten in PHP Markdown Extra hinzu.

2008

GitHub übernimmt Markdown

GitHub beginnt, Markdown für READMEs und Dokumentation zu verwenden, und popularisiert die Syntax massiv unter Entwicklern weltweit.

2012

GitHub Flavored Markdown (GFM)

GitHub erstellt seine eigene Erweiterung basierend auf dem Sundown-Parser und fügt Tabellen, Syntaxhervorhebung, Aufgabenlisten und Autolinks hinzu.

2012

Beginn der Standardisierung

Bei so vielen verschiedenen Flavors konnte ein Markdown-Dokument je nach Website oder App unterschiedlich gerendert werden. Dies frustrierte Unternehmen wie Stack Exchange und GitHub. Jeff Atwood (Stack Overflow-Mitbegründer) und John MacFarlane beginnen mit Bemühungen zur Erstellung einer strengen Standardspezifikation.

2014

CommonMark

Ursprünglich Standard Markdown genannt, stieß das Projekt auf Widerstand von John Gruber, der argumentierte, sein Markdown sei der Standard und wollte nicht, dass Dritte den Namen übernehmen. Nach dem Streit wurde es in CommonMark umbenannt. Die Spezifikation bietet Testsuites, um sicherzustellen, dass Markdown auf jedem System gleich funktioniert.

2016

IETF-Registrierung

Die IETF veröffentlicht RFC 7763 und RFC 7764 und registriert offiziell den Medientyp text/markdown.

2017

GFM basierend auf CommonMark

GitHub markiert Sundown als veraltet und veröffentlicht die formale GitHub Flavored Markdown-Spezifikation basierend auf CommonMark unter Verwendung der cmark-Bibliothek.

Universeller Standard

Universeller Standard

Dateierweiterungen: .md und .markdown. Auf Millionen von Websites verwendet, darunter Stack Overflow, Reddit, Discord, Notion und Obsidian.

Der aktuelle Stand

Heute hat Markdown die Programmierwelt überschritten und ist in der digitalen Kultur allgegenwärtig. Seine Hauptanwendungsbereiche umfassen:

Technische Dokumentation — Es ist der Industriestandard. Seiten wie Microsoft Learn, Google Cloud Docs und GitHub-Dokumentation sind in Markdown geschrieben.

Statische Site-Generatoren (SSG) — Tools wie Jekyll, Hugo und Gatsby verwenden Markdown-Dateien zur Generierung ganzer Websites.

Notizen und Produktivität — Eine neue Welle von Second Brain-Apps wie Obsidian, Notion, Roam Research und Logseq verwenden Markdown zur Datenspeicherung und stellen sicher, dass Benutzer nicht in proprietären Formaten gefangen sind.

Data Science — Jupyter Notebooks, ein unverzichtbares Werkzeug für Data Scientists (Python/R), verwenden Markdown-Zellen zur Erklärung von Code und Präsentation von Ergebnissen.

Messenger — Slack, Discord, WhatsApp und Telegram unterstützen Markdown-Untermengen zur Nachrichtenformatierung.

Zukunft und Vermächtnis

Markdown hat sich als widerstandsfähige Technologie erwiesen. Im Gegensatz zu proprietären Formaten (wie .doc), die sich im Laufe der Zeit ändern und kaputtgehen, ist eine 2004 geschriebene Markdown-Datei heute noch von jedem Menschen oder Computer perfekt lesbar.

Der aktuelle Trend zeigt in Richtung Extended Markdown, wie MDX, das die Verwendung von React-Komponenten innerhalb von Markdown ermöglicht und die Einfachheit des Schreibens mit der Interaktivität des modernen Webs verbindet.

Markdown hat das Web-Publishing demokratisiert, indem es Autoren ermöglichte, sich auf Inhalte zu konzentrieren, ohne sich um Design zu sorgen, und Entwicklern ermöglichte, schöne und funktionale Dokumentation zu erstellen, ohne die Last komplexer Textverarbeitungsprogramme.

Das Vermächtnis lebt weiter

Mehr als zwei Jahrzehnte nach seiner Entstehung ist Markdown allgegenwärtig. Die Einfachheit, die Gruber und Swartz anstrebten, wurde Realität: Millionen Menschen schreiben täglich in Markdown, oft ohne zu wissen, dass sie eine Auszeichnungssprache verwenden.

Aaron Swartz Vision eines offenen und zugänglichen Internets lebt im Geist von Markdown weiter: ein kostenloses, einfaches Werkzeug, das die Inhaltserstellung für das Web demokratisiert. Sein Engagement für soziale Gerechtigkeit und freien Zugang zu Informationen hat tiefgreifend beeinflusst, wie wir Wissen online teilen.

Das ursprüngliche Markdown.pl-Skript wurde seit 2004 nicht aktualisiert, aber sein Vermächtnis lebt in Hunderten von Implementierungen in praktisch jeder Programmiersprache weiter, von C) bis JavaScript, von Python bis Go.

Referenzen und offizielle Links