Go wrapper for libcmark, a CommonMark parsing and rendering library.
$ go get github.com/subosito/markovic
r := strings.NewReader("# Hello")
s := markovic.HTML(r)
fmt.Println(s) // Output: <h1>Hello</h1>\n
Supported formats:
markovic.HTML
: render markdown as HTML documentmarkovic.XML
: render markdown as XML documentmarkovic.Man
: render markdown as GNU roff (groff) man pagemarkovic.CommonMark
: render markdown as CommonMark documentmarkovic.LaTeX
: render markdown as LaTeX document
- go-commonmark: While both are wrapper for libcmark, each of them use different paradigm. go-commonmark is full-featured wrapper, while marković tries to be very simple.
- blackfriday: Pure Go markdown parser, very popular. Not fully CommonMark compatible yet.
- mmark: Another pure Go markdown parser, originally forked from blackfriday. Adds additional features.
$ go test -bench=.
BenchmarkHTML_Markovic-4 500000 2868 ns/op
BenchmarkHTML_BlackFriday-4 500000 2562 ns/op
BenchmarkHTML_MMark-4 500000 2375 ns/op
PASS
ok github.com/subosito/markovic 4.011s