aboutsummaryrefslogtreecommitdiff
path: root/utils/markdown.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils/markdown.go')
-rw-r--r--utils/markdown.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/utils/markdown.go b/utils/markdown.go
new file mode 100644
index 0000000..b47a02b
--- /dev/null
+++ b/utils/markdown.go
@@ -0,0 +1,21 @@
+package utils
+
+import (
+ "github.com/gomarkdown/markdown"
+ "github.com/gomarkdown/markdown/html"
+ "github.com/gomarkdown/markdown/parser"
+)
+
+func MarkdownToHTML(md string) string {
+ // create markdown parser with extensions
+ extensions := parser.CommonExtensions | parser.AutoHeadingIDs | parser.NoEmptyLineBeforeBlock
+ p := parser.NewWithExtensions(extensions)
+ doc := p.Parse([]byte(md))
+
+ // create HTML renderer with extensions
+ htmlFlags := html.CommonFlags | html.HrefTargetBlank
+ opts := html.RendererOptions{Flags: htmlFlags}
+ renderer := html.NewRenderer(opts)
+
+ return string(markdown.Render(doc, renderer))
+}