This commit is contained in:
Daniel 2024-09-19 22:18:43 +08:00
parent 3cd7d9fd3e
commit 0ff99f758a
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 19 additions and 8 deletions

View file

@ -42,7 +42,7 @@ import (
func RenderGoTemplate(templateContent string) (ret string, err error) { func RenderGoTemplate(templateContent string) (ret string, err error) {
tmpl := template.New("") tmpl := template.New("")
tplFuncMap := util.BuiltInTemplateFuncs() tplFuncMap := treenode.BuiltInTemplateFuncs()
sql.SQLTemplateFuncs(&tplFuncMap) sql.SQLTemplateFuncs(&tplFuncMap)
tmpl = tmpl.Funcs(tplFuncMap) tmpl = tmpl.Funcs(tplFuncMap)
tpl, err := tmpl.Parse(templateContent) tpl, err := tmpl.Parse(templateContent)
@ -224,7 +224,7 @@ func RenderTemplate(p, id string, preview bool) (tree *parse.Tree, dom string, e
} }
goTpl := template.New("").Delims(".action{", "}") goTpl := template.New("").Delims(".action{", "}")
tplFuncMap := util.BuiltInTemplateFuncs() tplFuncMap := treenode.BuiltInTemplateFuncs()
sql.SQLTemplateFuncs(&tplFuncMap) sql.SQLTemplateFuncs(&tplFuncMap)
goTpl = goTpl.Funcs(tplFuncMap) goTpl = goTpl.Funcs(tplFuncMap)
tpl, err := goTpl.Funcs(tplFuncMap).Parse(gulu.Str.FromBytes(md)) tpl, err := goTpl.Funcs(tplFuncMap).Parse(gulu.Str.FromBytes(md))

View file

@ -404,7 +404,7 @@ func RenderTemplateCol(ial map[string]string, rowValues []*av.KeyValues, tplCont
} }
goTpl := template.New("").Delims(".action{", "}") goTpl := template.New("").Delims(".action{", "}")
tplFuncMap := util.BuiltInTemplateFuncs() tplFuncMap := treenode.BuiltInTemplateFuncs()
SQLTemplateFuncs(&tplFuncMap) SQLTemplateFuncs(&tplFuncMap)
goTpl = goTpl.Funcs(tplFuncMap) goTpl = goTpl.Funcs(tplFuncMap)
tpl, err := goTpl.Parse(tplContent) tpl, err := goTpl.Parse(tplContent)

View file

@ -14,7 +14,7 @@
// You should have received a copy of the GNU Affero General Public License // You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>. // along with this program. If not, see <https://www.gnu.org/licenses/>.
package util package treenode
import ( import (
"math" "math"
@ -25,21 +25,23 @@ import (
"github.com/Masterminds/sprig/v3" "github.com/Masterminds/sprig/v3"
"github.com/araddon/dateparse" "github.com/araddon/dateparse"
"github.com/siyuan-note/logging" "github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/util"
"github.com/spf13/cast" "github.com/spf13/cast"
) )
func BuiltInTemplateFuncs() (ret template.FuncMap) { func BuiltInTemplateFuncs() (ret template.FuncMap) {
ret = sprig.TxtFuncMap() ret = sprig.TxtFuncMap()
ret["Weekday"] = Weekday ret["Weekday"] = util.Weekday
ret["WeekdayCN"] = WeekdayCN ret["WeekdayCN"] = util.WeekdayCN
ret["WeekdayCN2"] = WeekdayCN2 ret["WeekdayCN2"] = util.WeekdayCN2
ret["ISOWeek"] = ISOWeek ret["ISOWeek"] = util.ISOWeek
ret["pow"] = pow ret["pow"] = pow
ret["powf"] = powf ret["powf"] = powf
ret["log"] = log ret["log"] = log
ret["logf"] = logf ret["logf"] = logf
ret["parseTime"] = parseTime ret["parseTime"] = parseTime
ret["FormatFloat"] = FormatFloat ret["FormatFloat"] = FormatFloat
ret["getHPathByID"] = getHPathByID
return return
} }
@ -63,3 +65,12 @@ func parseTime(dateStr string) time.Time {
func FormatFloat(format string, n float64) string { func FormatFloat(format string, n float64) string {
return humanize.FormatFloat(format, n) return humanize.FormatFloat(format, n)
} }
func getHPathByID(id string) (ret string) {
bt := GetBlockTree(id)
if nil == bt {
return
}
ret = bt.HPath
return
}