El lenguaje de marcado ligero Markdown fue concebido en 2004 por John Gruber con la colaboración de Aaron Swartz con un objetivo fundamental: permitir que los redactores escribieran documentos estructurados en texto plano sumamente sencillos de leer en su forma original, capaces de convertirse de manera directa e intuitiva en código HTML válido.
A medida que Markdown se convirtió en el formato hegemónico para la documentación técnica, repositorios de código, plataformas de mensajería y sistemas de gestión de contenido, la ausencia de una gramática formal en la especificación original de 2004 generó divergencias entre analizadores. Para unificar el ecosistema, un grupo de trabajo integrado por ingenieros de GitHub, Stack Overflow y Reddit creó el estándar formal CommonMark, que define de forma inequívoca las reglas de precedencia, anidamiento de listas y tratamiento de espacios.
Sobre la base de CommonMark, la especificación GitHub Flavored Markdown (GFM) introduce extensiones críticas para el desarrollo de proyectos y la colaboración técnica: tablas delimitadas por barras verticales (|), listas de tareas interactivas (- [ ] y - [x]), texto tachado con tildes de la eñe (~~texto~~), autovinculación de URLs y bloques de código cercados con triple comilla invertida que admiten la declaración del lenguaje de programación para resaltado de sintaxis.
Comparativa de sintaxis entre CommonMark, GFM y HTML nativo equivalente
| Elemento de formato | Sintaxis en Markdown (GFM) | Código HTML equivalente | Estándar de soporte | Finalidad en documentación técnica |
|---|
| Encabezados jerárquicos | # Nivel 1 / ## Nivel 2 | <h1>...</h1> / <h2>...</h2> | CommonMark / GFM | Jerarquía semántica, estructura de lectura y accesibilidad web |
| Tablas con alineación | | Col1 | Col2 |
|---|---|
| A | B | | <table><thead>...<tbody>... | Extensión exclusiva GFM | Matrices de datos, comparativas de versiones y especificaciones |
| Listas de tareas (Checklist) | - [ ] Tarea
- [x] Hecha | <ul class="contains-task-list">... | Extensión exclusiva GFM | Seguimiento de roadmaps, hitos de sprint y listas de control |
| Texto tachado (Strikethrough) | ~~texto obsoleto~~ | <del>texto obsoleto</del> | Extensión exclusiva GFM | Historial de cambios, versiones descartadas y notas de corrección |
| Bloques de código cercados | ```typescript
const a = 1;
``` | <pre><code class="language-ts">... | CommonMark / GFM | Ejemplos técnicos de código con sintaxis estructurada |
| Citas en bloque (Blockquotes) | > Aviso o nota relevante | <blockquote><p>...</p></blockquote> | CommonMark / GFM | Alertas, advertencias de seguridad y citas bibliográficas |