Uso del formato Markdown para escribir páginas web

(Este texto es una copia de la página de sintaxis Markdown original)

- Visión general
  - Filosofía
  - HTML en línea
  - Escape automático para caracteres especiales
- Elementos de bloque
  - Párrafos y saltos de línea
  - Cabeceras
  - Citas
  - Listas
  - Bloques de código
  - Reglas horizontales
- Span Elements
  - Enlaces
  - Énfasis
  - Código
  - Imágenes
- Miscelánea
  - Enlaces automáticos
  - Backslash Escapes

## Visión general

### Filosofía

Markdown pretende ser tan fácil de leer y fácil de escribir como sea posible.

La facilidad de lectura, sin embargo, predomina sobre todo lo demás. Un documento con formato Markdown debería ser publicable como es, como texto plano, sin parecer que ha sido mejorado con etiquetas o intrucciones de formato. Aun cuando la sintaxis de Markdown ha sido influenciada por varios filtros conversores de texto a HTML existentes — incluyendo Setext, atx, Textile, reStructuredText, Grutatext, y EtText — la mayor fuente de inspiración para la sintaxis de Markdown es el formato de texto plano de email.

Para finalizar con esto, la sintaxis de Markdown está compuesta completamente de signos de puntuación, los cuales han sido cuidadosamente escogidos de forma que parezcan lo que significan. Por ejemplo, asteriscos alrededor de una palabra aparecen como *emphasis*. Las listas en Markdown parecen eso, listas. Incluso las citas tienen la apariencia de pasajes de texto citados, asumiendo que ha usado alguna vez el email.

### HTML en línea

La sintaxis de Markdown tiene una finalidad: ser usada como un formato para escribir para la web.

Markdown no es un sustituto del HTML, ni siquiera está cercano a él. Su sintaxis es muy limitada, correspondiendo únicamente a un muy pequeño subconjunto de etiquetas HTML. La idea no es crear una sintaxis que haga más fácil insertar etiquetas HTML. En mi opinión, las etiquetas HTML ya son fáciles de insertar. La idea subyacente en Markdown es hacer el texto fácil de leer, escribir y editar. HTML es un formato de publicación; Markdown es un formato de escritura. Además, la sintaxis de formato de Markdown únicamente tiene como destino cuestiones que pueden ser expresadas en texto plano.

Para aquellas marcas que no están cubiertas por la sintaxis de Markdown, simplemente use el propio HTML. No hay ninguna necesidad de indicar que está cambiando de Markdown a HTML; únicamente use las etiquetas.

Las únicas limitaciones aparecen en los elementos a nivel de bloque de HTML — p. e. `<div>`, `<table>`, `<pre>`, `<p>`, etc. — deben estar separadas del contenido que las rodea por líneas vacías, y las etiquetas de comienzo y final de bloque no deben tener tabuladores o espacios. Markdown es lo suficientemente listo como para no añadir etiquetas `<p>` adicionales (no queridas) alrededor de las etiquetas de bloque de HTML.

Por ejemplo, para añadir una tabla HTML a un artículo Markdown:

    Este es un párrafo normal.

    <table>
        <tr>
            <td>Foo</td>
        </tr>
    </table>

    Este es otro párrafo normal.

Note que la sintaxis de formato Markdown no es procesada dentro de etiquetas HTML de bloque. P. e., no se puede usar el estilo `*emphasis*` dentro de un bloque HTML.

Las etiquetas HTML de Span — p.e. `<span>`, `<cite>`, o `<del>` — pueden usarse en cualquier lugar en un párrafo Markdown, lista de items, o encabezado. Si lo desea, puede incluso usar etiquetas HTML en lugar de formato Markdown; p.e. si prefiere usar las etiquetas HTML `<a>` o `<img>` en lugar de la sintaxis de enlaces o imágenes de Markdown, no hay problema en que lo haga.

Al contrario de las etiquetas de bloque de HTML, la sintaxis de Markdown es procesada dentro de etiquetas de span.

### Escape Automático para Caracteres Especiales

En HTML, hay dos símbolos que exigen un tratamiento especial: `<` y `&`. El símbolo de ángulo izquierdo se utiliza para iniciar etiquetas; los ampersands se utilizan para indicar entidades en HTML. Si quiere utilizarlos como símbolos literales, debe utilizar caracteres de escape para marcarlos, p.e. `&lt;`, y `&amp;`.

Los ampersands en particular son una molestia para los escritores web. Si quiere escribir ‘AT&T’, debe escribir ‘`AT&amp;T`’. Incluso necesita escapar los ampersands dentro de URLs. Así, si quiere enlazar a:

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

necesita codificar la URL como:

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

en el atributo de su etiqueta `href`. No hay que decir que esto es fácil de olvidar, y es probablemente la fuente más habitual de errores de HTML.

Markdown le permite utilizar estos símbolos de forma natural, realizando por usted todos los escapes necesarios. Si usa un ampersand como parte de una entidad HTML, se mantiene inalterado; de otra forma sería traducido como `&amp;`.

Así, si quiere incluir un símbolo de copyright en su artículo, puede escribir:

    &copy;

y Markdown lo dejará tal cual. Pero si escribe:

    AT&T

Markdown lo traducirá a:

    AT&amp;T

De forma similar, y puesto que Markdown soporta HTML en línea , si utiliza símbolos de ángulo como delimitadores de etiquetas de HTML, Markdown los tratará como tales. Pero si escribe:

    4 < 5

Markdown lo traducirá a:

    4 &lt; 5

Sin embargo, dentro del código Markdown, spans y bloques, símbolos de ángulo y ampersands son siempre codificados automáticamente. Ésto hace fácil usar Markdown para escribir sobre el código HTML. (De forma opuesta al tosco HTML, que es un formato terrible para escribir sobre la sintaxis HTML, ya que cada `<` and `&` en su código de ejemplo necesita ser escapado.)

### Párrafos y Saltos de línea

Un párrafo consiste simplemente en una o más líneas consecutivas de texto separadas por una o más líneas en blanco. (Una línea en blanco es cualquier línea que tiene esa apariencia — una línea que contenga sólo espacios o tabulaciones se considera una línea en blanco.) Los párrafos normales no deberían sangrarse con espacios o tabulaciones.

La regla “una o más líneas consecutivas de texto” implica que Markdown admite párrafos de texto “hard-wrapped”. Esto lo diferencia significativamente de la mayoría del resto de formateadores de texto a HTML (incluyendo la opción “Convertir Saltos de Línea” de Movable Type) que traducen cada carácter de salto de línea en un párrafo encerrado en una marca `<br />`.

Si usted desea realmente insertar una marca `<br />` de salto de línea usando Markdown, sólo tiene que finalizar una línea con dos o más espacios, y a continuación pulsar la tecla de retorno.

Ciertamente, es más trabajoso crear un `<br />`, pero la regla simple “cada salto de línea es un `<br />`” no funciona en Markdown. El estilo email blockquoting de Markdown y el multi-párrafo list items funcionan mejor — y tienen mejor aparicneia — cuando usted los formatea con saltos de línea duros.

### Cabeceras

Markdown soporta dos estilos de cabeceras, Setext y atx.

Las cabeceras de estilo Setext están “subrayadas” y usan el signo igual "=" (para cabeceras de primer nivel) y guiones cortos "-" (para cabeceras de segundo nivel). Por ejemplo:

    Ésta es una H1
    =============

    Ésta es una H2
    -------------

Funcionará cualquier número de signos `=`; o `-`;.

Las cabeceras de estilo Atx utilizan de 1 a 6 almohadillas al comienzo de cada línea, que corresponden a los niveles de cabecera de 1 a 6. Por ejemplo:

    # Ésta es una H1

    ## Ésta es una H2

    ###### Ésta es una H6

Si lo desea, usted puede “cerrar” cabeceras de estilo atx. Esto es meramente cosmético — puede usar esta opción si le parece que queda mejor. El número de almohadillas de cierre no necesita coincidir con el número de almohadillas usado para abrir la cabecera. (El número de almohadillas de apertura determina el nivel de la cabecera.) :

    # Ésta es una H1 #

    ## Ésta es una H2 ##

    ### Ésta es una H3 ######

### Citas

Markdown utiliza caracteres `>` tipo email para las citas. Si usted está familiarizado con la cita de pasajes de texto en mensajes email, entonces seguramente sabrá cómo crear una cita en Markdown. Tiene mejor apariencia si usted utiliza saltos de línea duros y coloca un `>` antes de cada línea:

    > Ésta es una cita con dos párrafos. Lorem ipsum dolor sit amet,
    > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
    > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
    >
    > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
    > id sem consectetuer libero luctus adipiscing.

Markdown le permite ser perezoso, de modo que únicamente ha de poner el `>` antes de la primera línea de un párrafo con saltos de línea duros:

    > Ésta es una cita con dos párrafos. Lorem ipsum dolor sit amet,
    consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
    Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

    > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
    id sem consectetuer libero luctus adipiscing.

Las citas pueden estar anidadas (i.e. una cita dentro de otra) añadiendo niveles adicionales de `>`:

    > Éste es el primer nivel de cita.
    >
    > > Ésta es la cita anidada.
    >
    > Regreso al primer nivel.

Las citas pueden tener otros elementos Markdown elements, incluyendo cabeceras, listas, y bloques de código:

    > ## Ésta es una cabecera.
    >
    > 1.   Éste es el primer ítem de la lista.
    > 2.   Éste es el segundo ítem de la lista.
    >
    > He aquí algunos ejemplos de código:
    >
    >     return shell_exec("echo $input | $markdown_script");

Cualquier editor decente de texto debría facilitar la construcción de citas tipo email. Por ejemplo, con BBEdit, usted puede hacer una selección y elegir Increase Quote Level en el menú Text.

### Listas

Markdown soporta listas ordenadas (numeradas) y sin ordenar (con viñetas).

Las listas no ordenadas utilizan asteriscos, signos + y guiones — de modo intercambiable — como marcadores de lista:

    *   Rojo
    *   Verde
    *   Azul

es equivalente a:

    +   Rojo
    +   Verde
    +   Azul

y a:

    -   Rojo
    -   Verde
    -   Azul

Las listas ordenadas usan números seguidos de puntos:

    1.  Bird
    2.  McHale
    3.  Parish

Es importante advertir que los números reales que usted utiliza para marcar la lista no tienen efecto en la salida HTML producida por Markdown. La salida HTML de Markdown resultado de la lista anterior es:

    <ol>
    <li>Bird</li>
    <li>McHale</li>
    <li>Parish</li>
    </ol>

Si, en cambio, usted escribió la lista en Markdown así:

    1.  Bird
    1.  McHale
    1.  Parish

o incluso:

    3. Bird
    1. McHale
    8. Parish

usted conseguiría exactamente la misma salida HTML. El asunto es, si así lo desea, usar números ordinales en sus listas ordenadas Markdown, de modo que los números del código fuente coincidan con los números del HTML publicado. Pero si opta por la pereza, ni siquiera tiene que hacerlo.

Sin embargo, si quiere usar la numeración perezosa, aún debería comenzar la lista con el número 1. En el futuro, Markdown admitirá comenzar listas ordenadas con cualquier número arbitrario.

Los marcadores de lista normalmente comienzan en el margen izquierdo, pero pueden ser sangradas con un máximo de tres espacios. Los marcadores de lista deben ir seguidos de uno o más espacios, o de una tabulación.

Para conseguir que las listas queden bien, puede desplazar los ítems con sangrados colgantes:

    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
        Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
        viverra nec, fringilla in, laoreet vitae, risus.
    *   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
        Suspendisse id sem consectetuer libero luctus adipiscing.

Pero, si opta por la pereza, ni siquiera tiene que hacerlo:

    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    viverra nec, fringilla in, laoreet vitae, risus.
    *   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    Suspendisse id sem consectetuer libero luctus adipiscing.

Si los ítems de la lista están separados por líneas en blanco, Markdown desplazará los ítems en marcas `<p>` en la salida HTML. Por ejemplo, esta entrada:

    *   Bird
    *   Magic

se convertirá en:

    <ul>
    <li>Bird</li>
    <li>Magic</li>
    </ul>

Pero ésta:

    *   Bird

    *   Magic

se convertirá en:

    <ul>
    <li><p>Bird</p></li>
    <li><p>Magic</p></li>
    </ul>

Los ítems de la lista pueden consistir en múltiples párrafos. Cada párrafo subsiguiente deberá sangrarse bien con 4 espacios, bien con una tabulación:

    1.  Éste es un ítem con dos párrafos. Lorem ipsum dolor
        sit amet, consectetuer adipiscing elit. Aliquam hendrerit
        mi posuere lectus.

        Vestibulum enim wisi, viverra nec, fringilla in, laoreet
        vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
        sit amet velit.

    2.  Suspendisse id sem consectetuer libero luctus adipiscing.

Sangrar cada línea de los párrafos subsiguientes tiene una mejor apariencia pero, una vez más, Markdown le permite ser perezoso:

    *   Éste es un ítem con dos párrafos.

        Éste es el segundo párrafo del ítem de la lista. Únicamente
    se exige sangrar la primera línea. Lorem ipsum dolor
    sit amet, consectetuer adipiscing elit.

    *   Otro ítem de la misma lista.

Para colocar una cita dentro de un ítem de una lista, es preciso que los delimitadores `>` de la cita estén sangrados:

    *   Un ítem de lista con una cita:

        > Ésta es una cita
        > dentro de un ítem de una lista.

Para colocar un bloque de código dentro de un ítem de una lista, es preciso que el bloque de código esté sangrado dos veces — con 8 espacios o dos tabulaciones:

    *   Un ítem de una lista con un bloque de código:

            <el código va aquí>

Merece la pena poner de manifiesto que es posible disparar una lista ordenada por accidente, escribiendo algo como esto:

    1986. What a great season.

En otras palabras, una secuencia número-punto-espacio al comienzo de una línea. Para evitar esto, usted puede colocar una barra invertida (\) antes del punto:

    1986\. What a great season.

### Bloques de código

Los bloques de código pre-formateados se utilizan para escribir en programación o en el código fuente de marcas. En lugar de formar párrafos normales, las líneas de un bloque de código se interpretan literalmente. Markdown desplaza un bloque de código en marcas tanto `<pre>` como `<code>`.

Para producir un bloque de código en Markdown, simplemente sangre cada línea del bloque con al menos 4 espacios o un tabulador. Por ejemplo, dada esta entrada:

    Éste es un párrafo normal:

        Éste es un bloque de código.

Markdown generará:

    <p>Éste es un párrafo normal:</p>

    <pre><code>Éste es un bloque de código.
    </code></pre>

Un nivel de sangrado — 4 espacios o 1 tabulador — es removido de cada línea del bloque de código. Por ejemplo, éste:

    He aquí un ejemplo de AppleScript:

        tell application "Foo"
            beep
        end tell

se convertirá en:

    <p>He aquí un ejemplo de AppleScript:</p>

    <pre><code>tell application "Foo"
        beep
    end tell
    </code></pre>

Un bloque de código continúa hasta que alcanza una línea que no está sangrada (o bien el final del artículo).

Dentro de un bloque de código, los ampersands (`&`) y los corchetes angulares (`<` y `>`) son convertidos automáticamente en entidades HTML. Esto hace muy fácil incluir código fuente HTML de ejemplo usando Markdown — simplemente tiene que pegarlo e sangrarlo, y Markdown manejará el engorro que supone codificar las arrobas y los corchetes angulares. Por ejemplo, esto:

        <div class="footer">
            &copy; 2004 Foo Corporation
        </div>

se convierte en:

    <pre><code>&lt;div class="footer"&gt;
        &amp;copy; 2004 Foo Corporation
    &lt;/div&gt;
    </code></pre>

La sintaxis regular Markdown no es procesada dentro de los códigos de bloque. E.g., los asteriscos son literalmente asteriscos dentro de un código de bloque. Esto significa que también resultá fácil usar Markdown para escribir sobre la propia sintaxis de Markdown.

### Reglas horizontales

Usted puede producir una marca de regla horizontal (`<hr />`) escribiendo tres o más guiones o asteriscos en una línea. Si lo desea, puede usar espacios entre los guiones o asteriscos. Cada una de las líneas siguientes dará como resultado una línea horizontal:

    * * *

    ***

    *****

    - - -

## Span Elements

### Enlaces

Markdown permite dos estilos de enlaces: en línea y referencias.

En ambos estilos, el texto del enlace está delimitado por [corchetes].

Para crear un enlace en línea, utilice un par de paréntesis normales inmediatamente después del corchete de cierre del texto del enlace. Dentro de paréntesis, ponga la URL, junto con un título del enlace opcional entre comillas. Por ejemplo:

    This is [an example](http://example.com/ "Title") inline link.

    [This link](http://example.net/) has no title attribute.

Producirá:

    <p>This is <a href="http://example.com/" title="Title">
    an example</a> inline link.</p>

    <p><a href="http://example.net/">This link</a> has no
    title attribute.</p>

Si estamos haciendo referencia a un recurso local en el mismo servidor, podemos utilizar las referencias relativas:

    See my [About](/about/) page for details.

Los enlaces de Referencia-estilo utilizan un segundo conjunto de corchetes, dentro de los cuales podemos poner una etiqueta de nuestra elección para identificar el enlace:

    This is [an example][id] reference-style link.

Opcionalmente podemos utilizar un espacio para separar los corchetes:

    This is [an example] [id] reference-style link.

Después, en cualquier parte del documento, podemos definir nuestra etiqueta del enlace, en la propia línea:

    [id]: http://example.com/  "Optional Title Here"

Eso es:

- corchetes que contienen el identificador del enlace (opcionalmente sangrado en el margen izquierdo usando espacios o tabuladores);
- seguido por dos puntos;
- seguido por unos o más espacios (o tabuladores); ;
- seguido por el URL del enlace;
- seguido opcionalmente por el atributo título del enlace, entre en comillas.

El URL del enlace se puede, rodear opcionalmente por <>:

    [id]: <http://example.com/>  "Optional Title Here"

Podemos poner el atributo título en la línea siguiente y utilizar espacios adicionales o tabuladores sangrar, para ver mejor los URLs más largo:

    [id]: http://example.com/longish/path/to/resource/here
        "Optional Title Here"

Las definiciones de los enlaces se utilizan solamente para crear los enlaces durante el proceso Markdown, y se eliminan del documento en la salida HTML.

Los nombres de la definición de los enlaces pueden ser letras, de números, espacios, y signos de puntuación -- pero ellos no son distinguen entre mayúsculas y minúsculas. Ejemplo, estos dos acoplamientos:

    [link text][a]
    [link text][A]

son equivalentes.

La atajo del nombre del enlace implícito nos permite omitir el nombre del enlace, en estos caso el propio texto del enlace se utiliza como el nombre. Usaremos solamente un par de corchetes vacíos -- ejemplo., para enlazar la palabra "Google" al sitio Web de google.com, podemos escribir simplemente:

    [Google][]

Y después definir el enlace:

    [Google]: http://google.com/

Porque los nombres de los enlaces pueden contener espacios, los atajos funcionan incluso en las palabras múltiples del texto del enlace:

    Visit [Daring Fireball][] for more information.

Y después definir el enlace::

    [Daring Fireball]: http://daringfireball.net/

Las definiciones de los enlaces se pueden poner en cualquier parte del documento Markdown. Tiendo para ponerlas inmediatamente después de cada párrafo en el cual se utilizan, pero si usted desea, usted puede ponerlas todas en el final de su documento, a manera de notas al pie de la página.

Aquí tenemos un ejemplo de los enlaces a modo de referencias:

    I get 10 times more traffic from [Google] [1] than from
    [Yahoo] [2] or [MSN] [3].

      [1]: http://google.com/        "Google"
      [2]: http://search.yahoo.com/  "Yahoo Search"
      [3]: http://search.msn.com/    "MSN Search"

Usando el atajo implícito del nombre de los enlaces, podríamos escribirlo de la siguiente manera:

    I get 10 times more traffic from [Google][] than from
    [Yahoo][] or [MSN][].

      [google]: http://google.com/        "Google"
      [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
      [msn]:    http://search.msn.com/    "MSN Search"

Ambos ejemplos anteriores producirán el siguiente HTML de salida:

    <p>I get 10 times more traffic from <a href="http://google.com/"
    title="Google">Google</a> than from
    <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
    or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>

Para comparar, aquí está el mismo párrafo escrito usando el estilo en línea de enlaces de Markdown:

    I get 10 times more traffic from [Google](http://google.com/ "Google")
    than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
    [MSN](http://search.msn.com/ "MSN Search").

Los enlaces del referencia-estilo no son más fáciles de escribir. El clave es que con enlaces de referencia-estilo el documento fuente es sumamente más legible. Compare los ejemplos anteriores: usando enlaces de referencia-estilo, el párrafo tiene solamente 81 caracteres de largo; con enlaces del en línea-estilo, es 176 caracteres; y como HTML, es 234 caracteres. En el HTML, hay más etiquetas que texto.

Con los enlaces del referencia-estilo de Mardown, un documento fuente se asemeja mucho más a como lo mostrará su navegador el documento final. Permitiendo que usted mueva las etiquetas relativas a los meta datos fuera del párrafo, usted podrá agregar enlaces sin la interrupción del flujo narrativo de su prosa.

### Énfasis

Markdown utiliza el asterisco (*) y los guiones bajos (_) como indicadores del énfasis. Un texto envuelto con uno * o _ será convertido en la etiqueta del HTML < em >; doble * o '_ ' s será envuelto con un HTML etiqueta < strong >. Por ejemplo, estas líneas:

    *single asterisks*

    _single underscores_

    **double asterisks**

    __double underscores__

producirán:

    <em>single asterisks</em>

    <em>single underscores</em>

    <strong>double asterisks</strong>

    <strong>double underscores</strong>

Podemos utilizar cualquier estilo donde queramos; la única restricción es que el mismo carácter se debe utilizar para abrir y para cerrar el énfasis.

El énfasis se puede utilizar en el centro de una palabra:

    un*fucking*believable

Pero si usted rodea * o _ con los espacios, será tratado como un asterisco o raya literal.

Producir un asterisco o una raya literal en una posición para ser utilizada delimitador debe utilizar \ :

    \*this text is surrounded by literal asterisks\*

### Código

Para indicar código, envuélvalo con (`). Mostrará un bloque preformateado del código, esta etiqueta indica código dentro de un párrafo normal. Por ejemplo:

    Use the `printf()` function.

producida:

    <p>Use the <code>printf()</code> function.</p>

Para incluir un carácter literal de ` dentro de etiqueta de código, debemos poner \ seguido de ` en él::

    `There is a literal backtick (\`) here.`

O, si usted lo prefiere, puede utilizar múltiples ` como la abertura y los delimitadores de cierre::

    ``There is a literal backtick (`) here.``

Ambos ejemplos anteriores producirán esto:

    <p><code>There is a literal backtick (`) here.</code></p>

Con una etiqueta de código, los signos "&" y los "<" y ">" se codifican como entidades del HTML automáticamente, que hace fácil incluir etiquetas ejemplo de HTML. Markdown lo convierte en:

    Please don't use any `<blink>` tags.

en:

    <p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>

Podemos teclear esto

    `&#8212;` is the decimal-encoded equivalent of `&mdash;`.

para producir:

    <p><code>&amp;#8212;</code> is the decimal-encoded
    equivalent of <code>&amp;mdash;</code>.</p>

### Imágenes

Obviamente, es bastante difícil idear una sintaxis "natural" para poner imágenes en un formato de documento de texto.

Markdown utiliza una sintaxis de imagen que se asemeja a la sintaxis de los enlaces, permitiendo dos estilos: en línea y referencia

La sintaxis de imagen en línea se muestra así:

    ![Alt text](/path/to/img.jpg)

    ![Alt text](/path/to/img.jpg "Optional title")

Esto es:

- una etiqueta de exclamación: `!`;
- seguida por un par de corchetes, que contienen el texto de la atributo alt de la imagen;
- seguido por un par de paréntesis, que contienen la URL o la trayectoria a la imagen, y un atributo opcional de título (title) entre apóstrofes

La sintaxis de la imagen de estilo Referencia tiene esta apariencia:

    ![Alt text][id]

Donde `"id"` es el nombre la "identificación" de una referencia definida de la imagen. Se definen las referencias de la imagen usando la sintaxis idéntica a las referencias de los enlaces:

    [id]: url/to/image  "Optional title attribute"

De momento, Markdown carece de sintaxis para especificar las dimensiones de una imagen; si esto es importante para usted, puede utilizar las etiquetas normales < img > de HTML.

## Miscelánea

### Enlaces Automáticos

Markdown permite un estilo de atajo para crear los enlaces "automáticos" de URLs y de las direcciones de email: simplemente rodee el URL o la dirección email con los signos <>. Ello significa que mostrará el texto real de la URL o de una dirección email, y también hace que sea un enlace clickable, usted puede hacer esto:

    <http://example.com/>

Markdown lo convierte en:

    <a href="http://example.com/">http://example.com/</a>

Los los vinculos automáticos de las direcciones de email funcionan de forma semejante, excepto que Markdown también realice una conversión hexadecimal al azar que codifica para ayudar a ocultar su dirección a los programas que recolectan direcciones de emal para hacer spam. Por ejemplo, Markdown convertirá esto:

    <address@example.com>

en algo que se parece a esto:

    <a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
    &#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
    &#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
    &#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>

Se mostrará en el navegador como “address@example.com”.

(Esta clase de truco de codificación dificultará a muchos programas de spam aunque no engañará definitivamente todos. Es mejor que nada, pero una dirección publicada sin codificar comenzará probablemente a recibir el Spam.)

### Backslash Escapes

Markdown nos permite utilizar escapes del backslash para generar los caracteres literales que tendrían de otra manera significado especial en la sintaxis del formato de Markdown. Por ejemplo, si usted deseó rodear una palabra con los asteriscos literales (en vez de una etiqueta del HTML < em >), usted puede usar los backslashes antes de los asteriscos, como sigue:

    \*literal asterisks\*

Markdown proporciona los escapes del backslash para los siguientes caracteres :

    \   backslash (barra invertida)
    `   backtick (acento grave)
    *   asterisk (asterisco)
    _   underscore (subrayado)
    {}  curly braces (llaves)
    []  square brackets (corchetes)
    ()  parentheses (paréntesis)
    #   hash mark (almohadilla)
    .   dot (punto)
    !   exclamation mark (exclamación)