Sobre el marcado de texto

HTML (HyperText Markup Language —Lenguaje de Marcas de HiperTexto—) es sin lugar a dudas el lenguaje de marcas más extendido y conocido, elemento esencial del procesamiento de texto, no sólo en navegadores, sino también en otras tecnologías como el formato EPUB (Electronic Publication —Publicación Electrónica—). Otros lenguajes de marcas de uso extendido son XML o LaTeX. Los documentos elaborados en estos lenguajes tienen en común que están redactados como archivos de texto plano (código fuente) en los que el contenido textual viene acompañado de etiquetas (códigos, comandos, caracteres especiales) que establecen, entre otros aspectos, propiedades tipográficas del texto (tamaño, peso, forma, fuente) o la propia estructura del documento.

Cuando el entorno no permite marcar el texto, como en terminales o archivos de texto plano, se utilizan otras técnicas parar resaltarlo. Por ejemplo, es habitual documentar paquetes, código u otros con archivos de texto plano en los que se utiliza la capacidad estructural de las fuentes monoespacio y la reminiscencia gráfica de algunos caracteres. Ejemplos clásicos son el correo-e, el arte ASCII, los archivos .nfo de la escena warez o los FILE_ID.DIZ también presentes en las BBS (Bulletin Board System —Sistema de Tablón de Anuncios—), los antiguos foros. En todos ellos se establecieron convenios específicos a los respectivos entornos de cómo debía estructurarse el texto o cómo debían interpretarse ciertos caracteres.

Rebajando el marcado

Un lenguaje de marcas ligero (LML, Lightweight Markup Language) es un lenguaje de marcas simple, que estructura el texto de forma visualmente agradable facilitando la lectura. Se establecieron originalmente como convenios informales y empezaron a popularizarse algunos ya formales a principios de siglo. Un LML actualmente omnipresente y del que es difícil no haber oído hablar es Markdown. Markdown fue creado en 2004 por John Gruber con la colaboración de Aaron Swartz y, en su génesis, figura la premisa que define los LML.

Markdown está pensado para ser tan fácil de leer y escribir como sea posible. La legibilidad, en todo caso, se enfatiza sobre el resto. Un documento formateado en Markdown debería ser publicable tal cual, como texto plano, sin que parezca que esté marcado con etiquetas o instrucciones de formato. (John Gruber, 2004)

Esta es quizá la clave principal de su éxito y aceptación, en cuanto a sintaxis, es un lenguaje sumamente natural.

Con este fin, la sintaxis de Markdown se compone en su totalidad de caracteres de puntuación, los cuales se han elegido cuidadosamente para que se parezcan a lo que significan. V.gr., los asteriscos alrededor de una palabra en realidad parecen *enfatizar*. Las listas en Markdown parecen eso, listas. (John Gruber, 2004)

Web y software

Otra clave de su éxito y aceptación es que Markdown no sólo define una sintaxis, sino que además es un parser (analizador sintáctico), una herramienta que analiza la corrección del texto (respecto a la propia sintaxis de Markdown) y posteriormente lo convierte a (X)HTML para publicación directa en la web.

Markdown es una herramienta de conversión de texto a HTML para escritores web. Markdown te permite escribir usando un formato de texto plano fácil-de-escribir, fácil-de-leer, y entonces convertirlo a XHTML (o HTML) estructuralmente válido. (John Gruber, 2004)

Redactar un documento empleando la sintaxis de Markdown es extremadamente fácil, basta utilizar un editor de texto plano. Todo sistema operativo incluye al menos uno por defecto, usualmente básico, aunque es preferible utilizar editores más avanzados ya que habilitan el resaltado (highlightning) y, algunos, incluso la previsualización HTML (v.br. Emacs en GNU/Linux y Notepad++ en Windows). Pero debido al éxito de Markdown, se han desarrollado editores específicos para esta sintaxis. Tienen en común una interfaz minimalista, con al menos dos columnas: editor plano con resaltado y previsualización HTML. Una sencilla búsqueda arrojará numerosas listas con múltiples alternativas: 1, 2, 3. Entre las opciones libres, destacan las siguientes:

Ventajas y desventajas

Markdown es sencillo y práctico y hay disponible una plétora de software de calidad para poder utilizarlo. Sin embargo, no todo es perfecto.

La descripción canónica de la sintaxis de Markdown de John Gruber no especifica la sintaxis de forma unívoca. (CommonMark)

Desde que Markdown naciera, se han implementado docenas de versiones (sintaxis y parser) que aclaran ambigüedades y completan Markdown con, por ejemplo, composición de tablas. Dos de los «dialectos» más extendidos son GitHub Flavored Markdown (GFM), de uso en la propia plataforma de GitHub, y Markdown Extra, de uso en CMS (Content Management System —Sistema de Manejo de Contenidos—) como Grav. Con el fin de que estos dialectos no diverjan y Markdown muera de éxito, nació CommonMark que pretende crear una especificación concreta de como implementar y extender Markdown de forma consistente. Markdown es una creación majestuosa y largo ha sido el camino hasta llegar a él, lo que redunda en la importancia de mantenerlo.

Orígenes

Muchos son los proyectos que, pese a haber caído en desuso o tener otra orientación, influenciaron a Markdown.

  • BBCode, mítico LML precursor de los modernos LML, de uso en los foros basados en phpBB, se trataba de HTML con otras etiquetas, lo que permitía a los foreros escribir con estilo HTML sin hacerlo directamente en HTML, aumentando así la seguridad del foro.
  • Textile y reStructuredText, hermanos mayores de Markdown que están cayendo paulatinamente en desuso.
  • AsciiDoc, LML para DocBook, un ML orientado a la redacción de documentación técnica. Es decir, AsciiDoc es para DocBook lo que Markdown es para (X)HTML.
  • Org-mode, muy similar a Markdown, pero orientado a la gestión tareas. De hecho, contiene algunas extensiones equivalentes a las presentes en GFM, como las listas de verificación (checklist). De uso inicial en ambientes de proyectos de programación, se ha extendido a otros ámbitos, teniendo incluso una aplicación móvil asociada, Tasks.

Por último, no podemos mencionar los LML y, en general, los ML sin nombrar Pandoc, una herramienta al estilo navaja suiza que convierte unos formatos en otros y viceversa.

Previous Post