V HTML sú dva znaky, ktoré vyžadujú špeciálne zaobchádzanie: <
a &
. Ľavé uhlové zátvorky sa používajú na spustenie tagov; ampersandy sa používajú na označenie entít HTML. Ak ich chcete použiť ako doslovné znaky, musíte im uniknúť ako entity (napr. &lt;
, &amp;
).
Najmä ampersandy sú pre autorov webu hrozivé. Ak chcete písať o 'AT&T', musíte napísať ' AT&amp;T
'. V rámci adries URL musíte dokonca escapovať ampersandy. Ak teda chcete odkazovať na:
http://images.google.com/images?num=30&q=larry+bird
musíte zakódovať adresu URL ako:
http://images.google.com/images?num=30&q=larry+bird
v atribúte href
značky ukotvenia. Netreba dodávať, že sa na to ľahko zabúda a je to pravdepodobne jediný najbežnejší zdroj chýb validácie HTML na inak dobre označených webových stránkach.
Markdown vám umožňuje používať tieto postavy prirodzene, pričom sa za vás postará o všetky potrebné úteky. Ak použijete ampersand ako súčasť entity HTML, zostane nezmenený; inak bude preložený do &
.
Ak teda chcete do svojho článku zahrnúť symbol autorských práv, môžete napísať:
©
a Markdown to nechá tak. Ale ak napíšeš:
AT&T
Markdown to preloží do:
AT&T
Podobne, pretože Markdown podporuje inline HTML, ak použijete lomené zátvorky ako oddeľovače pre HTML tagy, Markdown s nimi bude tak zaobchádzať. Ale ak napíšeš:
4 < 5
Markdown to preloží do:
4 < 5
Vo vnútri kódových rozpätí a blokov Markdown sa však lomené zátvorky a ampersandy vždy zakódujú automaticky. To uľahčuje používanie Markdown na písanie o kóde HTML. (Na rozdiel od surového HTML, čo je hrozný formát na písanie o syntaxi HTML, pretože každý jednotlivý kód <
a &
vo vašom príklade musí byť escapovaný.)
Spätné lomítko Escapes
Markdown vám umožňuje použiť spätné lomítko na generovanie doslovných znakov, ktoré by inak mali špeciálny význam v syntaxi formátovania Markdown. Napríklad, ak chcete obklopiť slovo doslovnými hviezdičkami (namiesto HTML značky <em>
), môžete pred hviezdičkami použiť spätné lomky, a to takto:
\*literal asterisks\*
Markdown poskytuje spätné lomítko pre nasledujúce znaky:
\ backslash
` backtick
* asterisk
_ underscore
{} curly braces
[] square brackets
() parentheses
# hash mark
+ plus sign
- minus sign (hyphen)
. dot
! exclamation mark