Markdown Gids

Wat is Markdown?

Markdown is een lichtgewicht markup-taal die je kunt gebruiken om opmaakelementen toe te voegen aan platte tekst documenten. Het stelt je in staat om opgemaakte tekst te maken met een eenvoudige, makkelijk te lezen syntax die geconverteerd kan worden naar HTML en andere formaten.

Zie Markdown als een manier om opgemaakte documenten te schrijven zonder complexe tekstverwerkers te hoeven gebruiken. Je voegt simpelweg speciale karakters toe aan platte tekst om opmaak aan te geven zoals vet, cursief, of code.

Waarom Markdown gebruiken?

Markdown is ongelooflijk simpel en makkelijk te leren. Je kunt de basis beheersen in slechts 10 minuten. De opmaaksymbolen zijn intuïtief - sterretjes voor nadruk, hekjes voor kopjes. Je typt gewoon en voegt eenvoudige symbolen toe om je tekst op te maken.

Markdown werkt op elk platform en in elke teksteditor. Omdat bestanden platte tekst zijn, zullen ze altijd leesbaar blijven, zelfs over tientallen jaren. De bestanden zijn lichtgewicht en laden snel.

Markdown heeft brede ondersteuning op verschillende platforms. GitHub, Reddit, Discord en Slack gebruiken allemaal Markdown. Populaire apps zoals Obsidian, Notion en VS Code ondersteunen het standaard. Dit maakt het perfect voor documentatie, notities maken en webinhoud.

Markdown werkt perfect samen met versiebeheersystemen zoals Git. Je kunt je concentreren op inhoud zonder opmaakafleiding. Teamsamenwerking is makkelijker omdat iedereen bestanden kan bewerken zonder speciale software.

Markdown Ontwikkelingsgeschiedenis

Het Begin: Vanilla Markdown (2004)

Markdown werd oorspronkelijk gemaakt door John Gruber in 2004, met belangrijke input van Aaron Swartz. Gruber ontwierp het als een eenvoudige manier om te schrijven met een makkelijk te lezen en makkelijk te schrijven platte tekst formaat dat geconverteerd kon worden naar structureel geldige HTML. Dit is de "kern" die John Gruber oorspronkelijk ontwierp en implementeerde, met de meest basale opmaaksyntax - wat we de "basis vanilla smaak" noemen.

Basissyntax (Vanilla Markdown bevat):

  • Kopjes: Gebruik # symbool (# Kopje)
  • Nadruk:
  • Cursief: Gebruik * of _ om tekst in te pakken (*cursief* of _cursief_)
  • Vet: Gebruik ** of __ om tekst in te pakken (**vet** of __vet__)
  • Lijsten:
  • Ongeordende lijsten: Gebruik *, -, of + (- item)
  • Geordende lijsten: Gebruik nummers met punten (1. item)
  • Links: Gebruik [linktekst](linkadres)
  • Afbeeldingen: Gebruik ![afbeeldingsbeschrijving](afbeeldingsadres)
  • Codeblokken: Inspringen met spaties (meestal 4 spaties of 1 Tab)
  • Blokcitaten: Gebruik > symbool (> Dit is een citaat)
  • Horizontale lijnen: Gebruik --- of ***

Het Probleem: Inconsistente Implementaties

Echter, Vanilla Markdown miste een strikte, formele specificatie. Dit leidde tot inconsistent gedrag tussen verschillende Markdown parsers bij het behandelen van randgevallen.

Witruimte behandeling: Bijvoorbeeld, in lijstitems, hoeveel spaties inspringing telt als een sub-lijst? Is het 2 spaties, 3 spaties, of 4 spaties? Verschillende parsers kunnen verschillende oordelen hebben.

Regelbreuk verwerking: In bepaalde situaties, moet een gewone regelbreuk(\n) geparseerd worden als een <br> (regelbreuk) tag, of moet het gewoon behandeld worden als een spatie in de tekst? Dit kan ook variëren afhankelijk van de parser.

HTML gemengd gebruik: Markdown staat embedded HTML toe. Echter, in sommige complexe HTML-structuren presenteren ook dubbelzinnige gebieden hoe Markdown parsers Markdown syntax erin behandelen.

De Oplossing: CommonMark (2014)

In september 2014 werd CommonMark geïntroduceerd om deze inconsistentie problemen op te lossen. Geleid door John MacFarlane, biedt het een rigoureuze specificatie voor Markdown.

CommonMark biedt een precieze specificatie waarin elk randgeval duidelijk gedefinieerd is. Het bevat een uitgebreide test suite met meer dan 600 test gevallen om consistentie tussen implementaties te garanderen. De specificatie biedt een referentie-implementatie die dient als standaard voor andere parsers om te volgen. Het behoudt achterwaartse compatibiliteit met de meeste bestaande Markdown documenten terwijl het ondubbelzinnige parsing garandeert waarbij dezelfde input altijd dezelfde output produceert over alle compatibele parsers.

Uitgebreide Smaken en Aanvullende Functies

Omdat gebruikers verschillende behoeften hadden, ontstonden verschillende uitgebreide smaken van Markdown om aan specifieke vereisten te voldoen.

GitHub Flavored Markdown (GFM) Aanvullende Syntax:

  • Tabellen: Gebruik pipe syntax om tabellen te maken
  | Kop 1 | Kop 2 | Kop 3 |
|-------|-------|-------|
| Cel 1 | Cel 2 | Cel 3 |
| Cel 4 | Cel 5 | Cel 6 |
  • Doorhalen: Gebruik ~~ om tekst in te pakken (~~verwijderde tekst~~)
  • Taaklijsten: Maak interactieve checkboxen
  - [x] Voltooide taak
- [ ] Onvoltooide taak
  • Omheinde Codeblokken: Gebruik drievoudige backticks met taalspecificatie
  ```javascript
function hello() {
console.log("Hallo Wereld!");
}
```
  • Automatisch Linken: URL's en e-mailadressen worden automatisch klikbaar
Andere Populaire Uitbreidingen:

  • Voetnoten: Gebruik [^1] syntax voor academisch schrijven
  Dit is een zin met een voetnoot[^1].
[^1]: Dit is de voetnoot inhoud.

Resultaat: Dit is een zin met een voetnoot¹.

  • Wiskundige Uitdrukkingen: Gebruik $E=mc^2$ voor wetenschappelijke documenten
  • Emoji Snelkoppelingen: Gebruik :smile: wordt 😊
  • Definitielijsten: Voor woordenlijsten en technische documentatie
  Term 1
: Definitie voor term 1

Term 2
: Definitie voor term 2
: Nog een definitie voor term 2

Resultaat: Creëert opgemaakte lijsten met gemarkeerde termen en ingesprongen definities

Hoe Werkt het?

Markdown volgt een eenvoudige drie-staps workflow:

Stap 1: Maak een Markdown Bestand

Eerst maak je een platte tekst bestand met een .md of .markdown extensie met elke teksteditor. Je schrijft je inhoud met eenvoudige opmaaksymbolen:

Stap 2: Verwerk met Markdown Tools

Je .md bestand wordt dan verwerkt door Markdown conversie tools of processors. Deze tools lezen je Markdown bestand en converteren het naar het gewenste output formaat.

Stap 3: Output naar Verschillende Formaten

De Markdown processor kan je bestand naar meerdere formaten converteren:

Voor Webweergave:

  • Converteert naar HTML voor websites, blogs en webapplicaties
  • Toont opgemaakte inhoud in browsers met juiste styling
Voor Documenten:

  • Converteert naar PDF voor afdrukbare documenten en rapporten
  • Genereert Word documenten (.docx) voor kantoorgebruik
  • Creëert LaTeX voor academische papers en publicaties
Voor Publicatie:

  • Genereert eBooks (EPUB formaat)
  • Creëert presentatieslides
  • Produceert documentatiewebsites
Deze workflow betekent dat je eenmaal schrijft in Markdown en dan verschillende tools gebruikt om je inhoud te converteren naar welk formaat je ook nodig hebt - of het nu weergeven op een website is, afdrukken als PDF, of delen als document.

Aanvullende Bronnen

Essentiële Documentatie

  • John Gruber's Markdown documentatie :De originele gids geschreven door de maker van Markdown. Essentieel om de filosofie en basissyntax te begrijpen.
  • Wikipedia - Markdown :Uitgebreid overzicht van Markdown's geschiedenis, variaties en technische details.
  • Markdown Guide :Een uitgebreide, beginnersvriendelijke gids met voorbeelden en beste praktijken voor alle niveaus.