Escape automático para caracteres especiales

En HTML, hay dos caracteres que requieren un tratamiento especial: < y &. Los corchetes angulares de apertura se usan para iniciar etiquetas; los signos "&" para indicar entidades HTML. Si deseas usarlas como caracteres literales, debes escaparlas como entidades (p.ej., <, &).

El signo de unión en particular está desagradando a los escritores web. Si deseas escribir sobre &ATT;T', debes escribir 'AT&T' y hasta debes escapar el signo et dentro de las URL. Por lo tanto, si deseas vincular a:

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

debes codificar la URL de la siguiente manera:

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

en el atributo href de la etiqueta de anclaje. Sin duda, es fácil de olvidar y es probablemente la fuente más común de errores de validación de HTML en sitios web bien marcados.

Markdown te permite usar estos caracteres de forma natural y se encarga de todos los escapes necesarios para ti. Si usas un signo de unión como parte de una entidad HTML, no se modificará; de lo contrario, se traducirá a &.

Por lo tanto, si deseas incluir un símbolo de derechos de autor en tu artículo, puedes escribir lo siguiente:

©

y Markdown la dejará sola. Pero si escribes:

AT&T

Markdown lo traducirá a:

AT&T

Del mismo modo, como Markdown admite HTML intercalado, si usas corchetes angulares como delimitadores para las etiquetas HTML, Markdown los tratará como tales. Pero si escribes:

4 < 5

Markdown lo traducirá a:

4 &lt; 5

Sin embargo, dentro de los bloques y los bloques de código de Markdown, los corchetes angulares y el signo de unión siempre se codifican automáticamente. Esto facilita el uso de Markdown para escribir sobre código HTML. (A diferencia del HTML sin procesar, que es un formato terrible para escribir sobre la sintaxis HTML, ya que cada < y & de tu código de ejemplo deben tener formato de escape).

Barra inversa de escape

Markdown te permite usar escapes de barra inversa para generar caracteres literales que, de lo contrario, tendrían un significado especial en la sintaxis de formato de Markdown. Por ejemplo, si quieres encerrar una palabra con asteriscos literales (en lugar de una etiqueta HTML <em>), puedes usar barras inversas antes de los asteriscos, como en el siguiente ejemplo:

\*literal asterisks\*

Markdown proporciona escapes de barra inversa para los siguientes caracteres:

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