mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-03-13 16:39:34 -05:00
🎨 New template functions markdown2text and markdown2content https://github.com/siyuan-note/siyuan/issues/13880
This commit is contained in:
@@ -22,6 +22,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/88250/go-humanize"
|
||||
"github.com/88250/lute/parse"
|
||||
util2 "github.com/88250/lute/util"
|
||||
"github.com/Masterminds/sprig/v3"
|
||||
"github.com/araddon/dateparse"
|
||||
@@ -53,9 +54,31 @@ func BuiltInTemplateFuncs() (ret template.FuncMap) {
|
||||
ret["statBlock"] = StatBlock
|
||||
ret["runeCount"] = runeCount
|
||||
ret["wordCount"] = wordCount
|
||||
ret["markdown2text"] = markdown2text
|
||||
ret["markdown2content"] = markdown2content
|
||||
return
|
||||
}
|
||||
|
||||
func markdown2content(md string) (ret string) {
|
||||
luteEngine := util.NewLute()
|
||||
tree := parse.Parse("", []byte(md), luteEngine.ParseOptions)
|
||||
if nil == tree || nil == tree.Root {
|
||||
logging.LogWarnf("parse markdown [%s] failed", md)
|
||||
return
|
||||
}
|
||||
return tree.Root.Content()
|
||||
}
|
||||
|
||||
func markdown2text(md string) (ret string) {
|
||||
luteEngine := util.NewLute()
|
||||
tree := parse.Parse("", []byte(md), luteEngine.ParseOptions)
|
||||
if nil == tree || nil == tree.Root {
|
||||
logging.LogWarnf("parse markdown [%s] failed", md)
|
||||
return
|
||||
}
|
||||
return tree.Root.Text()
|
||||
}
|
||||
|
||||
func runeCount(s string) (ret int) {
|
||||
ret, _ = util2.WordCount(s)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user