W kodzie HTML istnieją 2 znaki, które wymagają specjalnego traktowania: <
i &
. Do tworzenia tagów służą lewy nawias kątowy. Znak ampersand służy do oznaczenia encji HTML. Jeśli chcesz używać ich jako znaków literału, musisz zmieniać ich znaczenie jako elementami (np. &lt;
, &amp;
).
Znak ampera to szkoda dla autorów stron internetowych. Jeśli chcesz napisać coś o ciągu 'AT&T;T', musisz napisać 'AT&amp;T
'. Musisz nawet używać znaku zmiany znaczenia w adresach URL. Jeśli chcesz dodać link do:
http://images.google.com/images?num=30&q=larry+bird
musisz zakodować adres URL w ten sposób:
http://images.google.com/images?num=30&q=larry+bird
w tagu kotwicy href
. Można to łatwo wspomnieć i prawdopodobnie jest to najczęstsze źródło błędów weryfikacji HTML w innych, dobrze oznaczonych witrynach.
Markdown pozwala w naturalny sposób korzystać z tych znaków i dbać o stosowną zmianę znaczenia. Jeśli używasz elementu „&” w elemencie HTML, pozostaje on bez zmian. W przeciwnym razie zostanie przetłumaczony na &
.
Jeśli chcesz dołączyć symbol praw autorskich do artykułu, możesz napisać:
©
a Markdown sam je zostawia. Jeśli jednak napiszesz:
AT&T
Markdown zostanie przetłumaczony na język:
AT&T
Podobnie jak Markdown obsługuje wbudowane tagi HTML, więc jeśli używasz tagów rozdzielających kąty w tagach HTML, Markdown będzie traktować je tak. Jeśli jednak napiszesz:
4 < 5
Markdown zostanie przetłumaczony na język:
4 < 5
Jednak w zakresach i blokach kodu Markdown nawiasy kątowe i ampersandy są zawsze kodowane automatycznie. Ułatwia to używanie języka Markdown do pisania o kodzie HTML. (W przeciwieństwie do nieprzetworzonego kodu HTML, który jest okropnym formatem zapisu składni HTML, wszystkie <
i &
w przykładowym kodzie muszą zawierać zmienione znaczenie).
Ucieczki od ukośnika lewego
Markdown pozwala używać znaków zmiany znaczenia po ukośniku lewym do generowania znaków literackich, które w innym przypadku miałyby szczególne znaczenie w składni formatowania Markdown. Jeśli na przykład chcesz otoczyć słowo literami gwiazdki (zamiast tagu <em>
HTML), przed gwiazdkami możesz użyć ukośników lewym:
\*literal asterisks\*
Markdown zawiera znaki zmiany znaczenia po ukośniku lewym dla następujących znaków:
\ backslash
` backtick
* asterisk
_ underscore
{} curly braces
[] square brackets
() parentheses
# hash mark
+ plus sign
- minus sign (hyphen)
. dot
! exclamation mark