Skip to content
This repository has been archived by the owner on Jan 15, 2022. It is now read-only.

Latest commit

 

History

History
46 lines (33 loc) · 1.84 KB

README.md

File metadata and controls

46 lines (33 loc) · 1.84 KB

marković

Build Status GoDoc

Go wrapper for libcmark, a CommonMark parsing and rendering library.

Installation

$ go get github.com/subosito/markovic

Usage

r := strings.NewReader("# Hello")
s := markovic.HTML(r)

fmt.Println(s) // Output: <h1>Hello</h1>\n

Supported formats:

  • markovic.HTML: render markdown as HTML document
  • markovic.XML: render markdown as XML document
  • markovic.Man: render markdown as GNU roff (groff) man page
  • markovic.CommonMark: render markdown as CommonMark document
  • markovic.LaTeX: render markdown as LaTeX document

Alternatives

  • 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.

Benchmarks

$ 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