providers/markdown: Separate HTML and non-HTML markdown parsing
This commit is contained in:
parent
018749101a
commit
68200e66d6
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user