From 68200e66d6bb7c7ad6cebdb97c7ebd1f52b1b03a Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Thu, 5 Dec 2024 21:53:06 -0500 Subject: [PATCH] providers/markdown: Separate HTML and non-HTML markdown parsing --- providers/markdown/markdown.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/providers/markdown/markdown.go b/providers/markdown/markdown.go index 360fe6d..b0a9b8a 100644 --- a/providers/markdown/markdown.go +++ b/providers/markdown/markdown.go @@ -42,6 +42,7 @@ func (this *Provider) FuncMap () template.FuncMap { } return template.FuncMap { "markdown": stat.funcMarkdown, + "markdownHTML": stat.funcMarkdownHTML, } } @@ -49,11 +50,16 @@ type state struct { md goldmark.Markdown } -func (this *state) funcMarkdown (input any) (template.HTML, error) { +func (this *state) funcMarkdown (input any) (string, error) { builder := strings.Builder { } err := this.md.Convert(toBytes(input), &builder) if err != nil { return "", nil } - return template.HTML(builder.String()), nil + return builder.String(), nil +} + +func (this *state) funcMarkdownHTML (input any) (template.HTML, error) { + str, err := this.funcMarkdown(input) + return template.HTML(str), err } func toBytes (data any) []byte {