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 {