De Geschiedenis van Markdown

Officieel Markdown-logo

Logo door Dustin Curtis Publiek Domein

Wat is Markdown?

Markdown is een lichtgewicht opmaaktaal met een eenvoudige tekstopmaaksyntaxis. Het hoofddoel is om 'menselijk leesbaar' te zijn in zijn oorspronkelijke vorm (broncode) en gemakkelijk te converteren naar geldige HTML. Sinds de release in 2004 is het de de facto standaard geworden voor schrijvers, ontwikkelaars en contentmakers op het web.

Markdown is twee dingen: (1) een eenvoudige tekstopmaaksyntaxis; en (2) een softwaretool, oorspronkelijk geschreven in Perl, die deze opmaak converteert naar HTML.

Oorsprong en Motivatie (Pre-2004)

Vóór Markdown vereiste schrijven voor het web kennis van HTML (HyperText Markup Language) of het gebruik van WYSIWYG-editors ('What You See Is What You Get'), die vaak zware en moeilijk te onderhouden code produceerden.

Er waren andere lichtgewicht opmaaktalen, zoals Textile en reStructuredText, maar veel leken nog steeds op computercode of vereisten complexe tags. De inspiratie voor Markdown kwam uit een eenvoudige bron: de opmaak die gebruikt werd in platte tekst e-mails.

In de vroege dagen van het internet gebruikten gebruikers al intuïtieve conventies om e-mails op te maken: *sterretjes* voor nadruk, > tekens voor citaten, en streepjes voor lijsten. Deze natuurlijke conventies werden de basis van de Markdown-syntax.

De Creatie (2004)

Markdown werd gecreëerd door John Gruber (geboren 1973), technologieblogger, UI-ontwerper uit Philadelphia, Pennsylvania, en maker van de populaire blog Daring Fireball, met belangrijke bijdragen van Aaron Swartz (1986-2013), de briljante wonderkindprogrammeur en internetactivist.

Gruber had het oorspronkelijke idee en schreef het eerste Perl-script dat gemarkeerde tekst naar HTML converteerde. Zijn filosofie was duidelijk: het gemarkeerde document moet publiceerbaar zijn zoals het is, als platte tekst, zonder er uit te zien alsof het gevuld is met tags of opmaak-instructies.

Aaron Swartz werkte samen met Gruber aan de syntax. Swartz had al atx (een andere opmaaktaal) gemaakt en beïnvloedde de creatie van kopvormingen met #, en hielp ook bij het verfijnen van de HTML-naar-tekst vertaalregels.

Versie 1.0.1 werd publiekelijk uitgebracht op 17 december 2004, beschikbaar onder een BSD open source licentie.

"Het overheersende ontwerpdoel voor de opmaaksyntaxis van Markdown is om het zo leesbaar mogelijk te maken. Het idee is dat een in Markdown opgemaakt document publiceerbaar moet zijn zoals het is, als platte tekst, zonder er uit te zien alsof het gemarkeerd is met tags of opmaak-instructies."
John Gruber, Daring Fireball

De Makers

John Gruber

John Gruber

Maker van Markdown

Technologieblogger en UI-ontwerper geboren in 1973 in Philadelphia. Maker van Daring Fireball, een van de meest invloedrijke technologieblogs gericht op Apple-producten. Presenteert ook de podcast The Talk Show. Gruber behaalde zijn Bachelor of Science in Computer Science aan de Drexel University.

Foto door Randy Stewart Wikimedia Commons CC BY-SA 3.0

Aaron Swartz

Aaron Swartz

Mede-maker van Markdown (1986-2013)

Wonderkindprogrammeur, ondernemer, schrijver en internetactivist. Op 14-jarige leeftijd was hij co-auteur van RSS 1.0. Hij was een van de eerste architecten van Creative Commons, ontwikkelaar van Open Library en mede-oprichter van Reddit. Hij werd in 2013 opgenomen in de Internet Hall of Fame.

Foto: Wikimedia Commons CC BY-SA 3.0

"Aaron Swartz verdient enorm veel krediet voor zijn feedback op het ontwerp van Markdown's opmaaksyntaxis. Markdown is veel beter dankzij Aaron's ideeën, feedback en testen."
— John Gruber

Fragmentatie: Het Wilde Westen Tijdperk (2005-2012)

Omdat Gruber's oorspronkelijke Perl-script enkele dubbelzinnigheden had en niet alle gebruiksgevallen dekte (zoals tabellen of wiskundige definities), begon de gemeenschap hun eigen implementaties te maken in andere talen zoals Python, Ruby, PHP en JavaScript.

Dit leidde tot fragmentatie. Ontwikkelaars voegden extra functies toe die niet in de oorspronkelijke specificatie bestonden. De zogenaamde 'Smaken' van Markdown ontstonden:

MultiMarkdown (2005) — Gemaakt door Fletcher Penney, voegde ondersteuning toe voor tabellen, voetnoten, metadata en LaTeX-export.

PHP Markdown Extra — Een populaire versie voor PHP-gebaseerde CMS'en (zoals WordPress en Drupal), gemaakt door Michel Fortin.

GitHub Flavored Markdown (GFM) — Misschien wel de meest invloedrijke variant. GitHub adopteerde Markdown voor zijn README.md-bestanden, opmerkingen en issues, en voegde syntax highlighting toe voor codeblokken, takenlijsten en tabellen. GitHub's populariteit verstevigde Markdown als essentieel hulpmiddel voor ontwikkelaars.

Tijdlijn

2004

Oorspronkelijke Lancering

John Gruber publiceert Markdown 1.0.1 op 17 december op de Daring Fireball blog, inclusief een Perl-script voor conversie en initiële ondersteuning voor Movable Type, Blosxom en BBEdit.

2004

PHP Markdown

Michel Fortin port Markdown naar PHP, waarmee een van de eerste alternatieve implementaties ontstaat. Later voegt hij extensies toe zoals tabellen en voetnoten in PHP Markdown Extra.

2008

GitHub Adopteert Markdown

GitHub begint Markdown te gebruiken voor README's en documentatie, waardoor de syntax massaal populair wordt onder ontwikkelaars wereldwijd.

2012

GitHub Flavored Markdown (GFM)

GitHub creëert zijn eigen extensie gebaseerd op de Sundown parser, met toevoeging van tabellen, syntax highlighting, takenlijsten en autolinks.

2012

Begin van Standaardisatie

Met zoveel verschillende 'smaken' kon een Markdown-document verschillend worden gerenderd afhankelijk van de site of app die werd gebruikt. Dit frustreerde bedrijven zoals Stack Exchange en GitHub. Jeff Atwood (mede-oprichter van Stack Overflow) en John MacFarlane beginnen met pogingen om een strikte standaardspecificatie te creëren.

2014

CommonMark

Aanvankelijk 'Standard Markdown' genoemd, kreeg het project tegenstand van John Gruber, die betoogde dat zijn Markdown de standaard was en niet wilde dat derden de naam zouden claimen. Na het dispuut werd het hernoemd naar CommonMark. De specificatie biedt testsuites om te garanderen dat Markdown zich op elk systeem hetzelfde gedraagt.

2016

IETF Registratie

De IETF publiceert RFC 7763 en RFC 7764, waarbij het mediatype text/markdown officieel wordt geregistreerd.

2017

GFM Gebaseerd op CommonMark

GitHub depreceert Sundown en brengt de formele GitHub Flavored Markdown specificatie uit gebaseerd op CommonMark, met gebruik van de cmark bibliotheek.

Universele Standaard

Universele Standaard

Bestandsextensies: .md en .markdown. Gebruikt op miljoenen sites, waaronder Stack Overflow, Reddit, Discord, Notion en Obsidian.

De Huidige Stand

Vandaag de dag heeft Markdown de programmeerwereld overstegen en is alomtegenwoordig in de digitale cultuur. De belangrijkste toepassingsgebieden zijn:

Technische Documentatie — Het is de industriestandaard. Sites zoals Microsoft Learn, Google Cloud Docs en GitHub-documentatie zijn geschreven in Markdown.

Statische Site Generatoren (SSG) — Tools zoals Jekyll, Hugo en Gatsby gebruiken Markdown-bestanden om complete sites te genereren.

Notities en Productiviteit — Een nieuwe golf van 'tweede brein' apps zoals Obsidian, Notion, Roam Research en Logseq gebruiken Markdown voor gegevensopslag, waardoor gebruikers niet vastzitten aan propriëtaire formaten.

Data Science — Jupyter Notebooks, een essentieel hulpmiddel voor data scientists (Python/R), gebruiken Markdown-cellen om code uit te leggen en resultaten te presenteren.

Messengers — Slack, Discord, WhatsApp en Telegram ondersteunen Markdown-subsets voor berichtopmaak.

Toekomst en Nalatenschap

Markdown heeft bewezen een veerkrachtige technologie te zijn. In tegenstelling tot propriëtaire formaten (zoals .doc) die veranderen en kapot gaan na verloop van tijd, is een Markdown-bestand geschreven in 2004 vandaag nog steeds perfect leesbaar door mens of computer.

De huidige trend wijst naar 'Uitgebreid Markdown', zoals MDX, dat het gebruik van React-componenten binnen Markdown mogelijk maakt, waarbij de eenvoud van schrijven wordt gecombineerd met de interactiviteit van het moderne web.

"Markdown democratiseerde webpublicatie, waardoor schrijvers zich kunnen concentreren op content zonder zich zorgen te maken over ontwerp, en waardoor ontwikkelaars mooie en functionele documentatie kunnen maken zonder de last van complexe tekstverwerkers."

De Nalatenschap Gaat Verder

Meer dan twee decennia na de creatie is Markdown alomtegenwoordig. De eenvoud die Gruber en Swartz zochten werd werkelijkheid: miljoenen mensen schrijven elke dag in Markdown, vaak zonder zelfs te weten dat ze een opmaaktaal gebruiken.

Aaron Swartz's visie van een open en toegankelijk internet leeft voort in de geest van Markdown: een gratis, eenvoudig hulpmiddel dat contentcreatie voor het web democratiseert. Zijn toewijding aan sociale rechtvaardigheid en vrije toegang tot informatie heeft diepgaand beïnvloed hoe we kennis online delen.

Het oorspronkelijke Markdown.pl script is niet bijgewerkt sinds 2004, maar de nalatenschap leeft voort in honderden implementaties in vrijwel elke programmeertaal, van C tot JavaScript, van Python tot Go.

Referenties en Officiële Links