Lista de parsers o procesadores de Markdown
A continuación veremos qué es un parser de Markdown, así como la lista con los parsers de Markdown existentes, de modo que puedas escoger el que mejor se adapte a tus necesidades.
Un procesador o parser de Markdown es un script o una herramienta encargada de transformar la sintaxis Markdown entrante en algún archivo de otro formato como por ejemplo HTML, RTF o PDF. Existen muchas implementaciones posibles para un parser de markdown.
Ten en cuenta también que existen muchas herramientas y editores de Markdown, así como aplicaciones que podrás usar mediante la línea de comandos de tu sistema operativo. Cada una de ellas usará algún parser de Markdown como los que ves en esta lista para transformar la sintaxis Markdown en código HTML o en archivos PDF o de muchos otros formatos.
En esta lista puedes ver la lista con los parsers de Markdown más relevantes, junto con su descripción, el lenguaje en el que están programados, los posibles lenguajes o formatos de salida y si soportan o no algún elemento extra avanzado.
Nombre | Lenguaje | Formatos de salida | Extras | Descripción |
---|---|---|---|---|
md2html.awk | Awk | (X)HTML | ? | Una implementación en Awk. |
markdown.bash | Bash | (X)HTML | No | Un script UNIX de bash que usa principalmente Sed. |
Discount | C | (X)HTML | Sí | Una implementación con extras creada únicamen en C. |
Hoedown | C | (X)HTML | Sí | Un fork de Sundown. |
libpandoc | C | muchos (consultar Pandoc) | Sí | Una versión en C de Pandoc. |
peg-markdown | C | (X)HTML | Sí | Una implementación en C que usa PEG Grammar. |
peg-multimarkdown & fork | C | (X)HTML | Sí | Una implementación en C de MultiMarkdown. |
Sundown | C | (X)HTML | Sí | Una implementation creada únicamente en C con extensiones. |
MarkdownSharp | C# (.NET) | (X)HTML | ? | Una implementation en C# usada en Stack Overflow. |
MoonShine | C# (.NET) | (X)HTML | Sí | Una versión en .NET de Sundown. |
Sundown.net | C# (.NET) | (X)HTML | Sí | Una versión en .NET de Sundown. |
MarkdownDeep | C# y Javascript | HTML | Sí | Implementación open source de Markdown para C# y Javascript |
Lowdown | Chicken Scheme | SXML | No? | Implementación pura para Chicken Scheme. |
markdown-clj | Clojure | (X)HTML | ? | Implementación que compilará tanto en Clojure como en ClojureScript. |
Blackfriday | Go | HTML & LaTeX | No | Implementación pura en Go. |
Goldmark | Go | HTML | Sí | Implementación en Go compatible con CommonMark. |
Goskirt | Go | (X)HTML | Sí | Versión en Go de Sundown. |
Lute | Go | HTML | Sí | Implementación en Go compatible con CommonMark/GFM. |
upskirt.go | Go | (X)HTML | Sí | Versión simplificada de Sundown en Go. |
Pandoc | Haskell | (X)HTML, Slidy, Slideous, S5, DZSlides, docx, ODT, OpenDocument, EPUB, DocBook, GNU TexInfo, Groff man pages, LaTeX, ConTeXt, LaTeX Beamer slides, PDF via LaTeX, Markdown, reStructuredText, AsciiDoc, MediaWiki markup, Emacs Org-Mode, Textile | Sí | Implementación en Haskell que también acepta otras sintaxis como reStructuredText, textile, HTML, DocBook o LaTeX. |
Sundown HS | Haskell | (X)HTML | Sí | Versión en Haskell de Sundown. |
markdown4j | Java | (X)HTML | Sí | Un fork de MarkdownJ con extensiones. |
MarkdownJ | Java | (X)HTML | No | Una implementación pura en Java. |
MarkdownPapers | Java | AST | ? | Una definición de la gramática JAVACC que produce un árbol abstracto de sintaxis (AST). |
pegdown | Java | (X)HTML | Sí | Una implementación pura en Java PEG Grammar. |
Txtmark | Java | (X)HTML | Sí | Una implementación pura en Java. |
markdown-js | JavaScript | (X)HTML | No | Una implementación pura en JavaScript. |
marked | JavaScript | (X)HTML | Sí | Una implementación pura en JavaScript. |
remark | JavaScript | (X)HTML | Sí | Una implementación pura en JavaScript. |
Showdown | JavaScript | (X)HTML | No | Una implementación pura en JavaScript, |
CommonMark.jl | Julia | HTML y LaTeX | Sí | Una implementación en Julia con extensiones compatible con CommonMark. |
lua-discount | Lua | (X)HTML | Sí | Versión en Lua de Discount. |
Lunamark | Lua | HTML, dzslides, Docbook, ConTeXt, LaTeX y Groff man | Sí | Una gramática PEG en Lua. |
markdown.lua | Lua | (X)HTML | ? | Una implementación pura en Lua. |
node-discount | Node.js | (X)HTML | Sí | Versión en Node.js de Discount. |
node-markdown | Node.js | (X)HTML | No | Wrapper de Node.js para Showdown. |
node-multimarkdown | Node.js | (X)HTML | Sí | Wrapper de Node.js para Multimarkdown. |
RoboSkirt | Node.js | (X)HTML | Sí | Versión en Node.js de Sundown. |
texts.js | Node.js/JavaScript | HTML5, XeLaTeX y Pandoc JSON | ? | Un subset de Markdown. |
CocoaMarkdown | Objective-C | (X)HTML | No | Un port directo de markdown.pl a Objective-C. |
GHMarkdownParser | Objective-C | (X)HTML | Sí | Una versión en Objective-C de Discount. |
MMMarkdown | Objective-C | (X)HTML | Planeado? | Una librería estática pura en Objective-C. |
OMD | OCaml | HTML, Markdown | Sí | Una implementación pura en OCaml. |
markdown.pl | Perl | (X)HTML | No | La implementación original. |
MultiMarkdown | Perl | HTML, PDF, OPML, OpenDocument | Sí | Un superset de Markdown. |
text-markdown | Perl | (X)HTML | Sí | Módulo CPAN de Perl de Text::Markdown. |
markdown | Perl 6 | (X)HTML | ? | Una implementación en Perl 6 de Markdown. |
cebe/markdown | PHP | (X)HTML | Sí | Una implementación en PHP eficiente y extensible. |
markdown-oo-php | PHP | (X)HTML | Sí | Una librería de PHP orientada a objetos. |
Parsedown Extra | PHP | (X)HTML | Sí | Un parser eficiente y extensible de Markdown Extra. |
Parsedown | PHP | (X)HTML | Sí | Un parser eficiente y extensible de Markdown. |
PHP Markdown Extra | PHP | (X)HTML | Sí | Un superset de Markdown en PHP. |
PHP Markdown | PHP | (X)HTML | No | Una implementación en PHP. |
PHP-Sundown | PHP | (X)HTML | Sí | Versión en PHP de Sundown. |
Hoep | Python | (X)HTML | Sí | Versión en Python de Hoedown. |
Python-Discount | Python | (X)HTML | Sí | Versión en Python de Discount. |
python-hoedown | Python | (X)HTML | Sí | Versión en Python de Hoedown. |
Python-Markdown2 | Python | (X)HTML | Sí | Port de markdown.pl en Python. |
Misaka | Python 2 & 3 | (X)HTML | Sí | Versión en Python de Sundown. |
Python-Markdown | Python 2 & 3 | (X)HTML | Sí | Una implementación en Python con extensiones. |
Mistune | Python 2, 3, & pypy | (X)HTML | Sí | Port de Marked en Python. |
BlueCloth | Ruby | (X)HTML | Sí | Versión en Ruby de Discount. |
BlueFeather | Ruby | ? | ? | Una implementación pura en Ruby. |
ffi-sundown | Ruby | (X)HTML | ? | Versión en Ruby FFI de Sundown. |
kramdown | Ruby | (X)HTML, LaTeX, kramdown's superset of Markdown, PDF via Latex | Sí | Un superset implementado en Ruby que también acepta HTML como entrada. |
Maruku | Ruby | (X)HTML | Sí | Un superset implementado en Ruby. |
RDiscount | Ruby | (X)HTML | Sí | Una versión en Ruby de Discount. |
Redcarpet | Ruby | (X)HTML | Sí | Una versión en Ruby de Sundown. |
Actuarius | Scala | (X)HTML | No? | Una implementación pura en Scala. |
Knockoff | Scala | (X)HTML | No? | Una implementación pura en Scala. |
Laika | Scala | (X)HTML | No | Una implementación pura en Scala que también soporta reStructuredText |
También existen muchas implementaciones de CommonMark, que es una sintaxis basada en Markdown. Si quieres, también puedes consultar la lista de parsers de Common Mark.
Para más información, consulta la lista de parsers de Markdown en GitHub.
👋 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. 😊