diff --git a/markdown.go b/markdown.go new file mode 100644 index 0000000..6b326f0 --- /dev/null +++ b/markdown.go @@ -0,0 +1,36 @@ +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() +}