package main import ( "bytes" "gitlab.com/golang-commonmark/markdown" "github.com/yuin/goldmark" "github.com/yuin/goldmark/extension" "github.com/yuin/goldmark/renderer/html" ) func renderMarkdown(pageText string) string { md := markdown.New( markdown.HTML(true), markdown.XHTMLOutput(true), ) pageText = md.RenderToString([]byte(pageText)) return pageText } func renderMarkdown2(pageText string) string { md := goldmark.New( goldmark.WithExtensions(extension.GFM), goldmark.WithRendererOptions( html.WithXHTML(), html.WithUnsafe(), ), ) var buf bytes.Buffer if err := md.Convert([]byte(pageText), &buf); err != nil { panic(err) } return buf.String() }