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) {
tmpl := template.New("")
tplFuncMap := util.BuiltInTemplateFuncs()
tplFuncMap := treenode.BuiltInTemplateFuncs()
sql.SQLTemplateFuncs(&tplFuncMap)
tmpl = tmpl.Funcs(tplFuncMap)
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{", "}")
tplFuncMap := util.BuiltInTemplateFuncs()
tplFuncMap := treenode.BuiltInTemplateFuncs()
sql.SQLTemplateFuncs(&tplFuncMap)
goTpl = goTpl.Funcs(tplFuncMap)
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{", "}")
tplFuncMap := util.BuiltInTemplateFuncs()
tplFuncMap := treenode.BuiltInTemplateFuncs()
SQLTemplateFuncs(&tplFuncMap)
goTpl = goTpl.Funcs(tplFuncMap)
tpl, err := goTpl.Parse(tplContent)

View file

@ -14,7 +14,7 @@
// 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/>.
package util
package treenode
import (
"math"
@ -25,21 +25,23 @@ import (
"github.com/Masterminds/sprig/v3"
"github.com/araddon/dateparse"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/util"
"github.com/spf13/cast"
)
func BuiltInTemplateFuncs() (ret template.FuncMap) {
ret = sprig.TxtFuncMap()
ret["Weekday"] = Weekday
ret["WeekdayCN"] = WeekdayCN
ret["WeekdayCN2"] = WeekdayCN2
ret["ISOWeek"] = ISOWeek
ret["Weekday"] = util.Weekday
ret["WeekdayCN"] = util.WeekdayCN
ret["WeekdayCN2"] = util.WeekdayCN2
ret["ISOWeek"] = util.ISOWeek
ret["pow"] = pow
ret["powf"] = powf
ret["log"] = log
ret["logf"] = logf
ret["parseTime"] = parseTime
ret["FormatFloat"] = FormatFloat
ret["getHPathByID"] = getHPathByID
return
}
@ -63,3 +65,12 @@ func parseTime(dateStr string) time.Time {
func FormatFloat(format string, n float64) string {
return humanize.FormatFloat(format, n)
}
func getHPathByID(id string) (ret string) {
bt := GetBlockTree(id)
if nil == bt {
return
}
ret = bt.HPath
return
}