Wat is het MD-bestandsformaat?
Een bestand met de extensie .md bevat een platte tekst document gemaakt met de Markdown-taal. Er bestaan veel dialecten van Markdown, maar ze gebruiken allemaal dezelfde set conventies en vergelijkbare syntaxis. Markdown-tags definiëren tekstformatteringselementen zoals:
- Vetgedrukte en cursieve kenmerken
- Koppen
- Tabelformaat
- Lijsten
- Blokcitaten
- Insluiten van afbeeldingen en HTML-code
.md-bestanden kunnen ook de extensie .MARKDOWN gebruiken. .md-bestanden kunnen eenvoudig worden geconverteerd naar een RTF- of PDF-formaat, hoewel Markdown aanvankelijk primair werd gebruikt om HTML-documenten te genereren, meestal helpbestanden. Omdat .md een plat tekstbestand is, kan het worden geopend en bewerkt met elke teksteditor om geformatteerde documenten te maken. Markdown gebruikt een eenvoudige en gemakkelijk leesbare syntaxis.
Markdown werd in 2004 ontwikkeld door John Gruber, met bijdragen van Aaron Swartz. Het hoofddoel van de ontwerpers van deze taal was om gebruikers een eenvoudig en intuïtief opmaaksysteem te bieden - in tegenstelling tot bijvoorbeeld HTML - voor het bewerken en maken van documenten. De originele .md-bestandsinterpreter, die .md-bestanden omzette in HTML-documenten, was geschreven in Perl. Sindsdien zijn er veel variaties van de Markdown-taal ontwikkeld. In 2016 registreerde RFC 7763 het text/markdown MIME-type, en RFC 7764 catalogiseerde de belangrijkste Markdown-varianten, waaronder CommonMark, GFM, Markdown Extra en andere.
Beveiliging & veiligheid
RISICO: LOWEen .md-bestand is platte tekst en kan geen code uitvoeren, dus het openen ervan is veilig. De enige kanttekening: Markdown staat ruwe HTML toe, dus een gerenderde voorbeeldweergave kan HTML/JavaScript of afbeeldingen bevatten die verbinding maken met een server - gerenommeerde renderers (GitHub, VS Code) saneren dit. Zoals altijd, wantrouw links in een document van een onbekende bron voordat u erop klikt.
Formaatdetails
in een notendopProgramma's die MD-bestanden openen
Technische details
diepe specificaties| MIME-type | text/markdown (geregistreerd door RFC 7763, 2016) |
| Tekstcodering | UTF-8 platte tekst; geen binaire header of magic bytes - geïdentificeerd door de .md-extensie en conventionele syntaxis |
| Syntaxisstijl | Lichtgewicht opmaak - broncode is menselijk leesbaar zonder parser of renderer |
| Primair uitvoerdoel | HTML, geproduceerd door een Markdown-processor; secundaire doelen zijn onder meer PDF en EPUB via tools zoals Pandoc |
| Veelvoorkomende dialecten | CommonMark, GitHub Flavored Markdown (GFM), Markdown Extra, MultiMarkdown, R Markdown (.Rmd) |
| Ondersteuning voor front matter | YAML front matter tussen --- markeringen wordt veel gebruikt door statische-site-generatoren (Jekyll, Hugo, Eleventy) om paginametadata op te slaan |
| Syntaxis voor koppen | ATX-stijl (# H1, ## H2) en Setext-stijl (onderstrepen met = of -) zijn beide geldig in de basisspecificatie |
| Syntaxis voor links | Inline [tekst](url), referentiestijl [tekst][id], en autolink <url> - alle drie de vormen maken deel uit van de kernspecificatie |
| Syntaxis voor codeblokken | Omheind (drie backticks of tildes) of ingesprongen met 4 spaties; een taalidentificatie na de openingsmarkering maakt syntaxisaccentuering mogelijk |
| Ondersteuning voor tabellen | Niet aanwezig in de oorspronkelijke specificatie uit 2004; geïntroduceerd als een GFM-extensie en later als een optionele CommonMark-extensie |
| Syntaxis voor afbeeldingen |  - slaat alleen een URL-verwijzing op; afbeeldingen worden niet ingebed in het .md-bestand zelf |
| Doorhaling | ~~tekst~~ - een GFM-extensie; afwezig in de basis Markdown-specificatie |
| Math / LaTeX ondersteuning | $inline$ en $$block$$ syntaxis herkend door Obsidian, Jupyter, en VS Code extensies maar buiten de kernspecificatie |
| Regels voor regeleinden | Een lege regel scheidt blokelementen; harde regeleinden vereisen twee spaties aan het einde of een \ voor een nieuwe regel (CommonMark) |
| Extensieconflicten | .md wordt af en toe geclaimd door metadata- of machine-description-tools; bestandsinhoud en context onderscheiden het Markdown-gebruik |
| Uitgebracht | 2004 (Markdown by John Gruber); CommonMark spec 2014; GitHub Flavored Markdown 2017 |
| Open standaard | Ja · royaltyvrij |
| Specificatie | spec.commonmark.org |