Files
backend/parse/parse.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())
}