26 lines
603 B
Go
26 lines
603 B
Go
package parse
|
|
|
|
import (
|
|
"github.com/gomarkdown/markdown"
|
|
"github.com/gomarkdown/markdown/html"
|
|
"github.com/gomarkdown/markdown/parser"
|
|
)
|
|
|
|
func newParser() *parser.Parser {
|
|
extensions := parser.CommonExtensions | parser.AutoHeadingIDs
|
|
|
|
return parser.NewWithExtensions(extensions)
|
|
}
|
|
|
|
func newHtmlRenderer() *html.Renderer {
|
|
renderOpts := html.RendererOptions{
|
|
Flags: html.CommonFlags | html.LazyLoadImages,
|
|
}
|
|
return html.NewRenderer(renderOpts)
|
|
}
|
|
|
|
func ParseToHtml(rawMarkdown []byte) []byte {
|
|
node := markdown.Parse(rawMarkdown, newParser())
|
|
return markdown.Render(node, newHtmlRenderer())
|
|
}
|