markdown

Package github.com/gomarkdown/markdown is a Go library for parsing Markdown text and rendering as HTML.

安装:

1
go get github.com/gomarkdown/markdown

灵活用法:实现接口(文档中皆有例子)

1
2
3
4
5
type Renderer interface {
RenderNode(w io.Writer, node ast.Node, entering bool) ast.WalkStatus
RenderHeader(w io.Writer, ast ast.Node)
RenderFooter(w io.Writer, ast ast.Node)
}

可以自定义渲染效果。

灵活用法:自定义语法解析(使用包提供的hook函数)

可以自定义hook函数挂上去

1
2
ps := parser.NewWithExtensions(formatted.Extensions)
ps.Opts.ParserHook = <自定义hook函数>