Automatisch ontsnappen voor speciale karakters

In HTML zijn er twee tekens die een speciale behandeling vereisen: < en & . Linkerhoekhaken worden gebruikt om tags te starten; ampersands worden gebruikt om HTML-entiteiten aan te duiden. Als je ze als letterlijke tekens wilt gebruiken, moet je ze als entiteiten escapen (bijvoorbeeld < , & ).

Vooral ampersands zijn vervelend voor webschrijvers. Als je over 'AT&T' wilt schrijven, moet je ' AT&T ' schrijven. Je moet zelfs de ampersands binnen URL's weglaten. Als u dus wilt linken naar:

http://images.google.com/images?num=30&q=larry+bird

je moet de URL coderen als:

http://images.google.com/images?num=30&q=larry+bird

in uw ankertag href -kenmerk. Vanzelfsprekend wordt dit gemakkelijk vergeten en is het waarschijnlijk de meest voorkomende bron van HTML-validatiefouten op overigens goed gemarkeerde websites.

Met Markdown kun je deze karakters op natuurlijke wijze gebruiken en zorg je voor alle noodzakelijke ontsnappingen. Als u een ampersand gebruikt als onderdeel van een HTML-entiteit, blijft deze ongewijzigd; anders wordt het vertaald in & .

Dus als u een copyright-symbool in uw artikel wilt opnemen, kunt u het volgende schrijven:

©

en Markdown zal het met rust laten. Maar als je schrijft:

AT&T

Markdown vertaalt het naar:

AT&T

Op dezelfde manier, omdat Markdown inline HTML ondersteunt, zal Markdown ze als zodanig behandelen als u punthaken gebruikt als scheidingstekens voor HTML-tags. Maar als je schrijft:

4 < 5

Markdown vertaalt het naar:

4 &lt; 5

Binnen Markdown-codereeksen en -blokken worden punthaken en ampersands echter altijd automatisch gecodeerd. Dit maakt het gemakkelijk om Markdown te gebruiken om over HTML-code te schrijven. (In tegenstelling tot onbewerkte HTML, wat een vreselijk formaat is om over HTML-syntaxis te schrijven, omdat elke afzonderlijke < en & in uw voorbeeldcode moet worden geëscaped.)

Backslash-ontsnappingen

Met Markdown kunt u backslash-escapes gebruiken om letterlijke tekens te genereren die anders een speciale betekenis zouden hebben in de opmaaksyntaxis van Markdown. Als u bijvoorbeeld een woord wilt omringen met letterlijke sterretjes (in plaats van een HTML <em> -tag), kunt u backslashes vóór de sterretjes gebruiken, zoals dit:

\*literal asterisks\*

Markdown biedt backslash-escapes voor de volgende tekens:

\   backslash
`   backtick
*   asterisk
_   underscore
{}  curly braces
[]  square brackets
()  parentheses
#   hash mark
+   plus sign
-   minus sign (hyphen)
.   dot
!   exclamation mark