Conoce las diferentes versiones e implementaciones de Markdown, desde CommonMark y GitHub Flavored Markdown hasta MultiMarkdown, Pandoc Markdown y MDX.
Markdown se define por una sintaxis básica, aunque cada aplicación puede implementar una sintaxis extendida diferente. Las sintaxis extendidas son implementaciones que agregan funcionalidades al estándar original, como tablas, bloques de código con resaltado o notas al pie.
La sintaxis básica de Markdown es aquella que podrás encontrar en cualquier implementación. Independientemente de la aplicación que utilices, debería ser capaz de procesar al menos esta sintaxis.
Cuando una aplicación o un editor anuncia compatibilidad con Markdown, lo mínimo que cubre es el subconjunto definido por John Gruber en 2004.
Se denomina sintaxis extendida de Markdown a todas aquellas variantes que agregan elementos a la sintaxis básica. A los diferentes tipos de sintaxis extendida también se les conoce como sabores o flavors.
Por ejemplo, la sintaxis extendida de Editor Markdown, la de Ulysses y la que utiliza GitHub son notablemente diferentes. Las aplicaciones suelen implementar mezclas de varios sabores y rara vez documentan la versión exacta que soportan, así que conviene consultar su documentación cuando un elemento concreto no se renderice como esperabas.
A continuación verás las implementaciones más relevantes en la actualidad.
CommonMark es la especificación estándar y no ambigua de Markdown, publicada por primera vez en 2014 y consolidada como el estándar de facto cuando GitHub la adoptó como base de su sintaxis en 2017. Define con precisión cómo debe interpretarse cada elemento de la sintaxis, resolviendo cientos de casos ambiguos que la especificación original dejaba sin definir.
Aplicaciones como GitHub, Reddit, Discourse o Stack Overflow se basan en CommonMark.
GitHub Flavored Markdown, también conocido como GFM, es la variante que usa GitHub. Extiende CommonMark con funcionalidades como tablas, listas de tareas, tachado, autolinks, alertas y bloques de código con resaltado de sintaxis. Es probablemente la variante de Markdown más utilizada del mundo, ya que cualquier persona que haya escrito un README.md en GitHub la ha usado.
Markdown Extra es una extensión de PHP Markdown que implementa funcionalidades no disponibles en la sintaxis original. Añade tablas, listas de definición, notas al pie, abreviaturas y atributos personalizados para elementos. Es la variante que usan muchas herramientas basadas en PHP.
MultiMarkdown (MMD) es una extensión creada por Fletcher Penney que agrega funcionalidades avanzadas como tablas, notas al pie, operaciones matemáticas, citas bibliográficas, metadatos, referencias cruzadas y atributos para imágenes. También permite exportar documentos a formatos como PDF, LaTeX y OPML de forma nativa.
Muchas funcionalidades que MultiMarkdown introdujo han sido adoptadas posteriormente por otras implementaciones como CommonMark y GFM, por lo que hoy resultan habituales en la mayoría de aplicaciones Markdown.
Pandoc Markdown es la variante que usa Pandoc, el convertidor universal de documentos. Añade soporte para fórmulas matemáticas, bloques de definición, atributos en encabezados, citas bibliográficas estilo BibTeX, divisiones de página y muchas otras opciones orientadas a la publicación académica y editorial. Es la variante más usada cuando se redactan libros o artículos académicos en Markdown.
R Markdown es una variante de Markdown que permite incrustar código ejecutable en R dentro del documento, mezclando texto narrativo y análisis reproducible. También admite chunks de código en otros lenguajes como Python o SQL a través de knitr. Es muy popular en estadística, ciencia de datos e investigación, ya que permite exportar los documentos a HTML, PDF, RTF, Word y muchos otros formatos manteniendo todo el análisis reproducible.
MDX combina Markdown con componentes JSX de React, permitiendo incrustar componentes interactivos dentro de documentos. Es la variante que utilizan muchos sitios de documentación modernos, blogs técnicos y este mismo tutorial. Si trabajas con Next.js, Docusaurus o frameworks similares, lo más probable es que estés escribiendo en MDX sin saberlo.
Si es la primera vez que usas Markdown, lo más recomendable es elegir un editor que soporte CommonMark con extensiones de GitHub Flavored Markdown, ya que son las dos variantes con mayor compatibilidad y las que esperarás encontrar en la mayoría de plataformas. Puedes consultar la sección de aplicaciones para ver cuál te conviene según tu sistema operativo.
Si tienes dudas sobre el editor que debes utilizar para seguir este tutorial, usa directamente Editor Markdown. Es sencillo, gratuito y se ejecuta en el navegador, lo que te permite visualizar los documentos a medida que escribes sin instalar nada. Los documentos se guardan en la memoria del navegador, aunque también puedes guardarlos en tu sistema o en servicios como Dropbox.
Tras esta introducción a las variantes, comenzaremos viendo la sintaxis básica y, seguidamente, los elementos de la sintaxis extendida de Markdown.
Para aplicar la sintaxis al día a día, también te resultará útil la lista de consejos prácticos, donde verás cómo resolver tareas comunes que se complican un poco con Markdown.
👋 Hola! Soy Edu, me encanta crear cosas y he redactado este tutorial. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirlo en Twitter.
Sígueme en Twitter para estar al día con mi contenido. 😊