Site icon Golang Libraries, Apps, Golang Jobs and Go Tutorials

An extendable Markdown parser written in Golang

 Markdown parser for Go that satisfies the following requirements:

Easy to extend, well-structured, standards-compliant

golang-commonmark may be a good choice, but it seems to be a copy of markdown-it.

blackfriday.v2 is a fast and widely-used implementation but is not CommonMark-compliant and cannot be extended from outside of the package, since its AST uses structs instead of interfaces.

Furthermore, its behavior differs from other implementations in some cases, especially regarding lists: Deeply nested lists don’t output correctly #329List block cannot have a second line #244, etc.

This behavior sometimes causes problems. If you migrate your Markdown text from GitHub to blackfriday-based wikis, many lists will immediately be broken.

As mentioned above, CommonMark is complicated and hard to implement, so Markdown parsers based on CommonMark are few and far between.


Exit mobile version