Échappement automatique pour les caractères spéciaux

En HTML, deux caractères nécessitent un traitement spécial: < et &. Les chevrons ouvrants servent à démarrer les tags. Les esperluettes servent à désigner les entités HTML. Si vous souhaitez les utiliser comme caractères littéraux, vous devez les échapper en tant qu'entités (par exemple, <, &).

Les esperluettes en particulier sont particulièrement pénibles pour les rédacteurs Web. Si vous souhaitez écrire sur "AT&T" et "&", vous devez même écrire "AT&T" et même échapper l'esperluette dans les URL. Ainsi, si vous souhaitez créer un lien vers:

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

vous devez encoder l'URL comme suit:

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

dans votre attribut de balise d'ancrage href. Inutile d'indiquer que c'est facile à oublier et c'est probablement la source d'erreurs de validation HTML la plus courante dans les sites Web correctement balisés.

Markdown vous permet d'utiliser ces caractères de façon naturelle, en veillant à ce que l'échappement vous soit nécessaire. Si vous utilisez une esperluette dans une entité HTML, elle ne change pas. Sinon, elle est traduite en &.

Par conséquent, si vous souhaitez inclure un symbole de copyright dans votre article, vous pouvez saisir:

©

et Markdown le laisse tel quel. Mais si vous écrivez:

AT&T

Markdown le traduira en:

AT&T

De même, étant donné que Markdown accepte le HTML intégré, si vous utilisez des chevrons comme délimiteurs pour les balises HTML, Markdown les traitera comme tels. Mais si vous écrivez:

4 < 5

Markdown le traduira en:

4 &lt; 5

Toutefois, dans les délais et les blocs de code Markdown, les chevrons et les esperluettes sont toujours codés automatiquement. Markdown permet ainsi d'écrire plus facilement du code HTML. (Contrairement au code HTML brut, qui est un format horrible pour écrire sur la syntaxe HTML, car chaque < et & de votre exemple de code doivent être échappés).

Barre oblique inverse

Markdown vous permet d'utiliser des échappements à barre oblique inverse pour générer des caractères littéraux qui, autrement, auraient une signification particulière dans la syntaxe de mise en forme de Markdown. Par exemple, si vous souhaitez entourer un mot d'astérisques au lieu d'une balise HTML <em>, vous pouvez placer des barres obliques inverses devant les astérisques, comme ceci:

\*literal asterisks\*

Markdown fournit des échappements pour les caractères suivants:

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