I 2004 publicerede bloggeren John Gruber og programmøren Aaron Swartz et lille Perl-script med en simpel præmis: ren tekst skal være læsbar som den er, uden tags, mens den stadig konverterer rent til HTML. De kaldte det Markdown -- et bevidst ordspil på "markup".
Tyve år senere er Markdown standardskriveformatet for softwaredokumentation, udviklerkommunikation og notatapps. Det lykkedes ikke fordi det var det mest kraftfulde formateringssprog, men fordi det var det mest læsbare.
Filosofien: læsbar kildetekst
Grubers designmål: "Et Markdown-formateret dokument skal kunne publiceres som det er, som ren tekst."
Godt at vide Aaron Swartz, Markdowns medskaber, var også central i udviklingen af RSS, Creative Commons og Reddit.
Hvorfor udviklere elsker det
- Ren tekst = versionskontrolvenligt. Git kan diffe linje for linje
- Ingen leverandørlåsning. Åbnes i enhver teksteditor
- Letvægt. Måles i kilobytes, ikke megabytes
- Konverterer til hvad som helst. Pandoc: HTML, PDF, EPUB, LaTeX, Word
Hvor Markdown lever i dag
| Område | Platforme |
|---|---|
| Kodehosting | GitHub, GitLab, Bitbucket |
| Kommunikation | Slack, Discord, Reddit, Teams |
| Notattagning | Obsidian, Notion, Bear, Typora |
| Dokumentation | Docusaurus, MkDocs, Read the Docs |
| Blogging / CMS | Jekyll, Hugo, Astro, Ghost |
Fragmenteringsproblemet
Grubers originale specifikation var bevidst uformel. Tvetydigheden førte til fragmentering. Svar: CommonMark (2014, streng specifikation), GitHub Flavored Markdown (GFM, tabeller, opgavelister), MDX (Markdown + React-komponenter), R Markdown (datavidenskab).
Kernesyntaksen (overskrifter, fed, kursiv, lister, links, billeder, kode) fungerer ens overalt.
Godt at vide Trods fragmenteringen har Gruber aldrig godkendt CommonMark. Han betragter Markdown som et skriveformat, ikke et programmeringssprog.
Begrænsninger og alternativer
Markdown passer ikke til alle opgaver. Til komplekse layouts, rig styling eller semantisk rigdom findes alternativer: AsciiDoc, reStructuredText, LaTeX, WYSIWYG-editorer.
Gå videre
Prøv Markdown med realtidsforhåndsvisning: Markdown-forhåndsvisning. Syntaksintroduktion: Skriv i Markdown. Begge er gratis.
