Wat is Markdown?
Het is een platte tekstindeling voor het schrijven van gestructureerde documenten, gebaseerd op opmaakconventies van e-mail en usenet.
Wie heeft Markdown gemaakt?
Het werd in 2004 ontwikkeld door John Gruber in samenwerking met Aaron Swartz. Gruber schreef de eerste markdown-naar-html-converter in Perl en werd al snel veel gebruikt in websites. In 2014 waren er tientallen implementaties in vele talen.
Waarom is CommonMark nodig?
John Grubers canonieke beschrijving van de syntaxis van Markdown specificeert de syntaxis niet ondubbelzinnig.
Bij gebrek aan een specificatie hebben vroege uitvoerders de originele Markdown.pl-code geraadpleegd om deze onduidelijkheden op te lossen. Maar Markdown.pl was behoorlijk buggy en gaf in veel gevallen duidelijk slechte resultaten, dus het was geen bevredigende vervanging voor een specificatie. Markdown.pl is voor het laatst bijgewerkt op 17 december 2004.
Omdat er geen eenduidige specificatie is, liepen de implementaties de afgelopen 10 jaar aanzienlijk uiteen. Als gevolg hiervan zijn gebruikers vaak verbaasd dat een document dat op één manier wordt weergegeven op het ene systeem (bijvoorbeeld een GitHub-wiki), anders wordt weergegeven op een ander systeem (bijvoorbeeld bij het converteren naar docbook met behulp van Pandoc). Tot overmaat van ramp, omdat niets in Markdown telt als een “syntaxisfout”, wordt de afwijking vaak niet meteen ontdekt.
Er is geen standaard testsuite voor Markdown; MDTest komt het dichtst in de buurt. De enige manier om Markdown-ambiguïteiten en -inconsistenties op te lossen, is Babelmark, dat de output van meer dan 20 implementaties van Markdown met elkaar vergelijkt om te zien of er een consensus ontstaat.
We stellen een standaard, ondubbelzinnige syntaxisspecificatie voor Markdown voor, samen met een reeks uitgebreide tests om Markdown-implementaties te valideren aan de hand van deze specificatie. Wij geloven dat dit noodzakelijk, zelfs essentieel is voor de toekomst van Markdown.
Dat is wat we CommonMark noemen.
Markdown is een eenvoudige manier om tekst op te maken die er op elk apparaat goed uitziet. Het doet niets speciaals, zoals het wijzigen van de lettergrootte, kleur of type – alleen de essentie, met behulp van toetsenbordsymbolen die u al kent.
Type | Or | … to Get |
---|---|---|
*Italic* | _Italic_ | Italic |
**Bold** | __Bold__ | Bold |
# Heading 1 | Heading 1 ========= | Heading 1 |
## Heading 2 | Heading 2 ——— | Heading 2 |
[Link](http://a.com) | [Link][1] ⋮ [1]: http://b.org | Link |
 | ![Image][1] ⋮ [1]: http://url/b.jpg | ![]() |
> Blockquote | Blockquote | |
* List * List * List | – List – List – List | ListListList |
1. One 2. Two 3. Three | 1) One 2) Two 3) Three | OneTwoThree |
Horizontal rule: — | Horizontal rule: *** | Horizontal rule: |
`Inline code` with backticks | Inline code with backticks | |
“` # code block print ‘3 backticks or’ print ‘indent 4 spaces’ “` | ····# code block ····print ‘3 backticks or’ ····print ‘indent 4 spaces’ | # code block print ‘3 backticks or’ print ‘indent 4 spaces’ |
Hoe kan ik helpen?
Oefen onze referentie-implementaties of vind een community-implementatie in de omgeving of taal van uw voorkeur. Geef feedback!
Als er nog geen CommonMark-implementatie bestaat in uw voorkeursomgeving of -taal, probeer dan uw eigen CommonMark-parser te implementeren. Een van onze belangrijkste doelen is het sterk specificeren van Markdown en het elimineren van de vele oude inconsistenties en dubbelzinnigheden die het gebruik van Markdown zo moeilijk maakten. Is het ons gelukt?
Waar kan ik het vinden?
spec.commonmark.org
De CommonMark-specificatie.
code.commonmark.org
Referentie-implementatie- en validatietestsuite op GitHub.
talk.commonmark.org
Openbare discussieruimte en mailinglijst via Discourse.
commonmark.org/help
Snelle referentiekaart en interactieve tutorial om Markdown te leren.
spec.commonmark.org/dingus/
Live testtool mogelijk gemaakt door de referentie-implementatie.
Wanneer is de specificatie definitief?
De huidige versie van de CommonMark-specificatie is behoorlijk robuust na vele jaren van openbare feedback.
Er zijn momenteel CommonMark-implementaties voor tientallen programmeertalen en de volgende sites en projecten hebben CommonMark overgenomen:
Discourse
GitHub
GitLab
Reddit
Qt
Stack Overflow / Stack Exchange
Swift