Diffdown is a real-time collaborative Markdown editor/previewer built on the AT Protocol diffdown.com
at main 32 lines 569 B view raw
1package render 2 3import ( 4 "bytes" 5 6 "github.com/yuin/goldmark" 7 "github.com/yuin/goldmark/extension" 8 "github.com/yuin/goldmark/renderer/html" 9) 10 11var md goldmark.Markdown 12 13func init() { 14 md = goldmark.New( 15 goldmark.WithExtensions( 16 extension.GFM, 17 extension.Typographer, 18 ), 19 goldmark.WithRendererOptions( 20 html.WithHardWraps(), 21 html.WithUnsafe(), // Allow raw HTML in markdown 22 ), 23 ) 24} 25 26func Markdown(source []byte) (string, error) { 27 var buf bytes.Buffer 28 if err := md.Convert(source, &buf); err != nil { 29 return "", err 30 } 31 return buf.String(), nil 32}