Automatyczne zmienianie znaczenia znaków specjalnych

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. <, &).

Znak ampera to szkoda dla autorów stron internetowych. Jeśli chcesz napisać coś o ciągu 'AT&T;T', musisz napisać 'AT&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 &lt; 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