Documento Markdown (.md)
CommonMark EstándarMarkdown (MD) es el lenguaje de marcado ligero más popular del mundo. John Gruber lo diseñó para que el texto sin formato sea fácil de leer y escribir, y pueda convertirse limpiamente a HTML estructurado.
Inspección y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de Markdown inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de Markdown inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
No tiene una firma fija (Markdown es texto plano)REPRESENTACIÓN ASCII: No tiene una firma ASCII fija
Estandarización: CommonMark Specification / GitHub Flavored Markdown (GFM)
Especificaciones técnicas
| Arquitectura del contenedor | Archivo de texto UTF-8 sin formato, con puntuación ligera (encabezados, listas, negrita, cursiva y bloques de código) |
| Compresión | Texto sin comprimir (fácilmente comprimido con Gzip o Brotli) |
| Orden de bytes (Endianness) | Flujo de texto UTF-8 / Unicode |
| Espacios de color | No aplicable (marcado en texto plano) |
| Canales y estructura | Encabezados, citas en bloque, listas ordenadas y sin ordenar, bloques de código, enlaces, imágenes y tablas |
| Dimensiones máximas | Longitud de documento de texto ilimitada |
| Transparencia | Ninguna (texto puro) |
| Streaming y progresivo | Análisis de bloques y elementos en línea a medida que se lee el texto, línea por línea |
Matriz de comparación técnica: Markdown frente a la competencia
| Atributo técnico | Markdown (Actual) | HTML | TXT | |
|---|---|---|---|---|
| Simplicidad de autoría | Permite escribir texto sin formato con gran rapidez | Sintaxis de etiquetas verbosa (<p>, <div>) | Escritura rápida (sin formato) | Requiere editor de diseño gráfico |
| Legibilidad del texto sin formato | Texto sin formato muy fácil de leer | Cargado de etiquetas y corchetes | Texto sin formato muy fácil de leer | Bytes binarios ilegibles sin procesar |
| Conversión HTML | Conversión directa y determinista | Lenguaje web nativo | Requiere dar formato manualmente | Salida gráfica fija |
| Herramientas de desarrollo | La compatibilidad varía según la aplicación. | La compatibilidad varía según la aplicación. | La compatibilidad varía según la aplicación. | Distribución de documentos |
Modos de corrupción comunes y guía de recuperación hexadecimal
Los bloques de código se renderizan como párrafos normales o los encabezados no se formatean.
Causa raíz: Falta un espacio después del símbolo «#» de un encabezado o no se cerró un bloque de código delimitado por tres acentos graves (```).
Recuperación: Valida y corrija la sintaxis Markdown con Markdown Linter de File2File.app.
Análisis de seguridad y vectores de ataque al analizador
Los convertidores de Markdown suelen permitir HTML en línea sin procesar. Si no se valida, puede dar lugar a ataques de secuencias de comandos en sitios cruzados (XSS).
Vectores de ataque conocidos
- Inyección XSS mediante elementos HTML sin procesar (por ejemplo, «<script>» o «<img onerror=...>») dentro del texto Markdown.
- Denegación de servicio en analizadores no conformes mediante citas o listas con anidamiento excesivo.
- Esquemas de enlace maliciosos («javascript:») en la sintaxis de enlaces Markdown.
Mejores prácticas defensivas: Valida siempre el HTML generado con DOMPurify y bloquee los protocolos de URL no seguros.
Orígenes históricos e hitos
Ventajas principales
- Muy fácil de leer: el texto sigue viéndose limpio y natural en una terminal básica o un editor de texto plano.
- Markdown se usa mucho en documentación, pero la sintaxis y el renderizado varían según la herramienta.
- Sin dependencia de proveedores: los archivos de texto plano seguirán siendo legibles durante siglos sin programas propietarios.
Limitaciones técnicas
- La especificación original de 2004 tenía reglas de análisis ambiguas, que dieron lugar a dialectos ligeramente distintos (CommonMark, GFM y Kramdown).
- No admite de forma nativa diseños complejos, como revistas con varias columnas, ajuste de texto o números de página.
- Las imágenes no se guardan en el documento, sino que se enlazan desde archivos externos.
Curiosidades técnicas interesantes
- Aaron Swartz colaboró con John Gruber en el desarrollo de Markdown cuando tenía 17 años. También cofundó Reddit y creó RSS 1.0.
- Todos los repositorios de GitHub usan un archivo «README.md» para presentar el código a los desarrolladores.
- La filosofía de diseño de Markdown afirma: «El objetivo principal de la sintaxis de formato de Markdown es que sea lo más legible posible».
Preguntas técnicas frecuentes
¿Para qué se utiliza Markdown?
Markdown se usa para escribir documentación, archivos README de GitHub y entradas de blog; tomar notas en aplicaciones como Obsidian y Notion; y redactar mensajes en plataformas como Discord y Slack.
¿Cómo puedo convertir Markdown a PDF o HTML?
Puedes convertir archivos Markdown (.md) en documentos PDF con estilo o código HTML limpio con un solo clic utilizando File2File.app directamente en tu navegador web.
¿Qué es GitHub Flavored Markdown (GFM)?
GFM es la versión ampliada de Markdown que usa GitHub. Añade compatibilidad con tablas, listas de tareas con casillas ([x]), tachado (~~texto~~) y bloques de código con resaltado de sintaxis.