Markdown es un lenguaje de marcado que sirve para darle formato al texto plano y es ampliamente usado en archivos Readme, foros de discusiones y en editores de texto enriquecido. Destaca por su facilidad de uso y por su flexibilidad. Es por eso que a continuación te mostramos 5 aplicaciones escritas en Python con las que podrás interpretar archivos .md y exportarlas a HTML.

Hoedown

Hoedown es el sucesor de Misaka, una librería basada en Sundown pero que ha quedado obsoleta con el tiempo. Como Hoedown está basado en el código de Misaka, soporta las mismas características. Para instalarlo basta con ejecutar:

$ pip install hoedown


Para utilizarlo debes importar la librería dentro de tu código y luego llamas al método html:

import hoedown
print hoedown.html('# Hola mundo')


Hoedown además tiene una conveniente aplicación de línea de comandos, con la que puedes convertir un archivo .md en HTML con la siguiente instrucción:

$ hoedownpy ARCHIVO_MARKDOWN.md


editores de texto markdown para linux

Markdown

Markdown es la primera implementación en Python puro del Markdown de John Gruber. Es casi completamente compatible con la implementación de referencia a excepción de unas pequeñas diferencias. Para instalarlo desde pip:

$ pip install markdown


Y para usarlo sería tan sencillo como:

import markdown
print markdown.markdown('# Hola mundo')


Aunque la documentación no es muy completa, es una buena opción a considerar por su buen desempeño, además su desarrollo se mantiene bien activo.

Mistune

Mistune es uno de los chicos nuevos del barrio, sin embargo sus prestaciones son muy prometedoras. Es el más rápido de las implementaciones en Python puro y tiene soporte para muchas funciones como tablas, notas al pie de página, autolink, entre otras.

Instalarlo es igual de sencillo que los anteriores:

$ pip install mistune


Para usarlo, importamos la librería y llamamos al método markdown:

import mistune
print mistune.markdown('# Hola mundo')


No sólo destaca por su rapidez sino por la buena documentación. Al igual que Markdown también tiene un desarrollo bastante activo, eso lo convierte en otra opción atractiva.

markdown-editor

cMarkdown

cMarkdown es una librería que pone el Markdown disponible para Python pero no de forma nativa, ya que todo el trabajo lo hace una librería escrita en C llamada upskirt. Su desarrollador se inspiró en redcarpet, una librería para Ruby que también hace todo el trabajo a través de upskirt.

La instalación vía pip la hacemos con:

$ pip install cMarkdown


Y parsear un texto en Markdown sería tan sencillo como:

import cMarkdown as markdown
print markdown.markdown('# Hola mundo')


cMarkdown es bastante simple, no tiene una documentación muy extensa y tiene opciones interesantes. Sin embargo es algo lento, así que si buscas un parser ágil y veloz puede que cMarkdown no sea la opción a elegir.

Discount

Discount es un paquete que, al igual que cMarkdown, usa un librería en C (del mismo nombre) para realizar todo el trabajo sucio de interpretación. Básicamente son como traductores que exponen las funciones y métodos disponibles en la librería hecha en C a través de métodos de Python.

Instalarlo vía pip es tan simple como el resto:

$ pip install discount


Y para interpretar un texto podemos usar el método Markdown que devuelve el HTML:

import discount
mkd = discount.Markdown('# Hola mundo')
print mkd.get_html_content()


Discount tiene una documentación decente pero puede requerir cierta destreza ponerlo a funcionar, además no es muy rápido que digamos.

Con estas opciones que te hemos presentado ahora podrás emplear librerías para interpretar Markdown en tus proyectos con Python.

Más guías y consejos