package main import ( "bytes" "html/template" "github.com/yuin/goldmark" "github.com/yuin/goldmark/renderer/html" ) var mdRenderer = goldmark.New( goldmark.WithRendererOptions( html.WithHardWraps(), ), ) func RenderMarkdown(input string) template.HTML { var buf bytes.Buffer if err := mdRenderer.Convert([]byte(input), &buf); err != nil { return template.HTML(template.HTMLEscapeString(input)) } return template.HTML(buf.String()) }