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

Go wrapper for libcmark, a CommonMark parsing and rendering library

Notifications You must be signed in to change notification settings

subosito/markovic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Go wrapper for libcmark, a CommonMark parsing and rendering library

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published