V HTML existují dva znaky, které vyžadují zvláštní zacházení: <
a &
. Levé úhlové závorky se používají k zahájení tagů; ampersandy se používají k označení entit HTML. Chcete-li je použít jako doslovné znaky, musíte je zakódovat jako entity (např. &lt;
, &amp;
).
Obzvláště ampersandy jsou pro tvůrce webů nebezpečné. Pokud chcete psát o 'AT&T', musíte napsat ' AT&amp;T
'. V adresách URL musíte dokonce escapovat ampersandy. Pokud tedy chcete odkazovat na:
http://images.google.com/images?num=30&q=larry+bird
musíte zakódovat adresu URL jako:
http://images.google.com/images?num=30&q=larry+bird
v atributu href
značky ukotvení. Netřeba dodávat, že na to lze snadno zapomenout a je to pravděpodobně jediný nejčastější zdroj chyb validace HTML na jinak dobře označených webových stránkách.
Markdown vám umožní používat tyto postavy přirozeně a postará se o všechny nezbytné útěky za vás. Pokud použijete ampersand jako součást entity HTML, zůstane nezměněn; jinak bude přeložen do &
.
Pokud tedy chcete do svého článku zahrnout symbol autorských práv, můžete napsat:
©
a Markdown to nechá být. Ale když napíšeš:
AT&T
Markdown to přeloží do:
AT&T
Podobně, protože Markdown podporuje inline HTML, použijete-li lomené závorky jako oddělovače pro HTML tagy, Markdown s nimi bude tak zacházet. Ale když napíšeš:
4 < 5
Markdown to přeloží do:
4 < 5
Uvnitř kódových rozpětí a bloků Markdown jsou však lomené závorky a ampersandy vždy zakódovány automaticky. Díky tomu je snadné používat Markdown k psaní o HTML kódu. (Na rozdíl od raw HTML, což je hrozný formát pro psaní o syntaxi HTML, protože každý jednotlivý kód <
a &
ve vašem příkladu musí být escapován.)
Zpětné lomítko Escapes
Markdown vám umožňuje používat zpětné lomítko ke generování doslovných znaků, které by jinak měly v syntaxi formátování Markdown zvláštní význam. Pokud například chcete obklopit slovo doslovnými hvězdičkami (místo HTML značky <em>
), můžete před hvězdičkami použít zpětná lomítka, jako je tento:
\*literal asterisks\*
Markdown poskytuje zpětné lomítko pro následující znaky:
\ backslash
` backtick
* asterisk
_ underscore
{} curly braces
[] square brackets
() parentheses
# hash mark
+ plus sign
- minus sign (hyphen)
. dot
! exclamation mark