MD ViewerMD Viewer

100 % privado — todo se ejecuta en tu navegador

Sangría en Markdown

Los mismos espacios significan tres cosas distintas en Markdown. Alterna entre listas anidadas, código indentado y continuación de párrafo — cada caso de sangría en Markdown se renderiza en vivo.

Equipo de MD Viewer

Ejemplos
Código Markdown
Vista previa
  • Fruit
    • Apple
      • Green apple
    • Banana
  • Bread

El comportamiento de la sangría en Markdown es contextual: los mismos espacios iniciales pueden continuar un párrafo, anidar un elemento de lista o convertir texto en bloque de código — según lo que vino antes. Esa es la trampa. La gente indenta para alinear visualmente y se sorprende cuando el render cambia: aparece una lista anidada, un párrafo se une a un bloque de código o la sangría desaparece sin ruido. El patio de juego de arriba permite alternar entre los tres casos de sangría en Markdown con un clic y ver exactamente qué cambia.

Tres reglas valen la pena interiorizar: dos o tres espacios (alineados bajo un marcador de lista) anidan contenido de lista; cuatro espacios al inicio de un bloque nuevo crean un bloque de código indentado; y los espacios iniciales de un párrafo normal simplemente se ignoran — hasta tres — porque la sangría de párrafo no existe en Markdown. Entre medias queda el caso de continuación, donde una línea indentada tras un elemento de lista pertenece a ese elemento y no al documento.

Esta página renderiza cada caso con el mismo motor que alimenta el visor, el editor y la exportación a PDF del sitio, así que lo que aprendes aquí sirve en todas partes. Prueba los ejemplos, edita las fuentes y usa las explicaciones de abajo para predecir qué hará cualquier sangría en Markdown antes de confirmarla en un README.

Sangría en Markdown: en qué se convierten los espacios

EscribesQué hace la sangría
- elemento - hijo2 espacios de sangría anidan un elemento bajo su padre
1. elemento 1. hijo3 espacios se alinean bajo el texto del marcador para anidar
código aquí4 espacios al inicio de bloque crean código indentado
Párrafo más textoHasta 3 espacios iniciales se descartan — no son sangría
- elemento continuaciónLa sangría alineada continúa el párrafo del elemento

Usar la sangría en Markdown con intención

  1. 1

    Anidar listas: alinea bajo el texto

    Una sangría en Markdown anida cuando se alinea bajo el primer carácter del elemento padre — dos espacios para marcadores -, tres para marcadores 1. Prueba el ejemplo Lista anidada de arriba hasta que la alineación sea reflejo.

  2. 2

    Bloques de código: cuatro espacios, línea en blanco antes

    Cuatro espacios iniciales tras una línea en blanco cambian Markdown a modo código — la sangría en Markdown preserva el texto monoespaciado tal cual. El ejemplo Código indentado muestra el mismo contenido con y sin el cambio.

  3. 3

    Párrafos: no indentes nada

    Los espacios iniciales de un párrafo (tres o menos) se descartan. No existe sangría de párrafo en el lenguaje: la estructura viene de líneas en blanco, no de la alineación.

  4. 4

    Continuación: sigue el ritmo del elemento

    Los elementos largos de lista se parten mejor cuando las líneas de continuación llevan la misma sangría en Markdown que el texto del elemento. Se unen al elemento en el render en lugar de derivar a un bloque de código o un párrafo nuevo.

Por qué la sangría en Markdown es contextual (y cómo recordarlo)

Markdown analiza los documentos como bloques, y cada tipo de bloque lleva su propio contrato de sangría. Un bloque de lista invita a la sangría en Markdown alineada para anidar y continuar; un párrafo la tolera y la descarta; un bloque nuevo que empieza cuatro espacios adentro se presume código preformateado, convención heredada del citado por correo de los años noventa. El renderizador nunca pregunta qué quisiste decir — aplica el contrato del bloque en el que estás.

El truco de memoria es contar-hasta-cuatro. De uno a tres espacios tras un marcador de lista: anidación o continuación. Cuatro espacios en campo abierto: código. Cuatro espacios justo bajo un elemento de lista: código anidado dentro del elemento — lo que más sorprende, y el ejemplo Código indentado lo demuestra sin daño. Ante la duda, prefiere bloques de código cercados con acentos graves: las vallas son inequívocas, sobreviven al copiar-pegar y declaran un lenguaje para el resaltado.

Cuando la sangría en Markdown hace clic, la arquitectura de listas deja de ser adivinanza. La anidación profunda alterna en la práctica dos y cuatro espacios por nivel; la página lista numerada Markdown añade reglas de numeración sobre las mismas reglas de alineación. Ambas comparten el motor en vivo de este sitio: el comportamiento verificado aquí es comportamiento confiable allí.

Errores de sangría en Markdown

1. Padre 1. Hijo (2 espacios)

1. Padre 1. Hijo (3 espacios)

Dos espacios no limpian el marcador 1. de tres caracteres, así que el hijo se funde en la línea del padre. La sangría en Markdown debe alinearse bajo el texto.

Párrafo línea indentada

Párrafo código cercado o indentado

Cuatro espacios justo tras un párrafo lo continúan como texto simple — pero los mismos cuatro espacios tras una línea en blanco se vuelven bloque de código. La línea en blanco es el interruptor.

Espacios iniciales en un párrafo

Sin espacios iniciales

La sangría de párrafo no existe: Markdown elimina hasta tres espacios iniciales al renderizar. Organiza la prosa con estructura de bloques, no con alineación.

La sangría sobrevive al PDF

Las listas anidadas conservan sus niveles de indentación y el código indentado su bloque monoespaciado al pasar por convertir Markdown a PDF — la exportación recorre la misma estructura que la vista previa, así que una sangría en Markdown verificada aquí se imprime igual.

Preguntas frecuentes

Fuentes y citas de especificación

“An indented code block is composed of one or more indented chunks separated by blank lines.”
CommonMark Specification 0.31.2
“The contents of the code block are the literal contents of the lines, including trailing line endings, minus these four spaces of indentation.”
CommonMark Specification 0.31.2

Herramientas de Markdown relacionadas