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 {
|
return template.FuncMap {
|
||||||
"markdown": stat.funcMarkdown,
|
"markdown": stat.funcMarkdown,
|
||||||
|
"markdownHTML": stat.funcMarkdownHTML,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,11 +50,16 @@ type state struct {
|
|||||||
md goldmark.Markdown
|
md goldmark.Markdown
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *state) funcMarkdown (input any) (template.HTML, error) {
|
func (this *state) funcMarkdown (input any) (string, error) {
|
||||||
builder := strings.Builder { }
|
builder := strings.Builder { }
|
||||||
err := this.md.Convert(toBytes(input), &builder)
|
err := this.md.Convert(toBytes(input), &builder)
|
||||||
if err != nil { return "", nil }
|
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 {
|
func toBytes (data any) []byte {
|
||||||
|
Loading…
Reference in New Issue
Block a user