|
@@ -26,13 +26,11 @@ import (
|
|
"sort"
|
|
"sort"
|
|
"strings"
|
|
"strings"
|
|
"text/template"
|
|
"text/template"
|
|
- "time"
|
|
|
|
|
|
|
|
"github.com/88250/gulu"
|
|
"github.com/88250/gulu"
|
|
"github.com/88250/lute/ast"
|
|
"github.com/88250/lute/ast"
|
|
"github.com/88250/lute/parse"
|
|
"github.com/88250/lute/parse"
|
|
"github.com/88250/lute/render"
|
|
"github.com/88250/lute/render"
|
|
- "github.com/araddon/dateparse"
|
|
|
|
"github.com/siyuan-note/filelock"
|
|
"github.com/siyuan-note/filelock"
|
|
"github.com/siyuan-note/logging"
|
|
"github.com/siyuan-note/logging"
|
|
"github.com/siyuan-note/siyuan/kernel/av"
|
|
"github.com/siyuan-note/siyuan/kernel/av"
|
|
@@ -217,32 +215,8 @@ func renderTemplate(p, id string, preview bool) (string, error) {
|
|
dataModel["alias"] = block.Alias
|
|
dataModel["alias"] = block.Alias
|
|
}
|
|
}
|
|
|
|
|
|
- funcMap := util.BuiltInTemplateFuncs()
|
|
|
|
- funcMap["queryBlocks"] = func(stmt string, args ...string) (ret []*sql.Block) {
|
|
|
|
- for _, arg := range args {
|
|
|
|
- stmt = strings.Replace(stmt, "?", arg, 1)
|
|
|
|
- }
|
|
|
|
- ret = sql.SelectBlocksRawStmt(stmt, 1, Conf.Search.Limit)
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- funcMap["querySpans"] = func(stmt string, args ...string) (ret []*sql.Span) {
|
|
|
|
- for _, arg := range args {
|
|
|
|
- stmt = strings.Replace(stmt, "?", arg, 1)
|
|
|
|
- }
|
|
|
|
- ret = sql.SelectSpansRawStmt(stmt, Conf.Search.Limit)
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- funcMap["parseTime"] = func(dateStr string) time.Time {
|
|
|
|
- now := time.Now()
|
|
|
|
- ret, err := dateparse.ParseIn(dateStr, now.Location())
|
|
|
|
- if nil != err {
|
|
|
|
- logging.LogWarnf("parse date [%s] failed [%s], return current time instead", dateStr, err)
|
|
|
|
- return now
|
|
|
|
- }
|
|
|
|
- return ret
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
goTpl := template.New("").Delims(".action{", "}")
|
|
goTpl := template.New("").Delims(".action{", "}")
|
|
|
|
+ funcMap := util.BuiltInTemplateFuncs()
|
|
tpl, err := goTpl.Funcs(funcMap).Parse(gulu.Str.FromBytes(md))
|
|
tpl, err := goTpl.Funcs(funcMap).Parse(gulu.Str.FromBytes(md))
|
|
if nil != err {
|
|
if nil != err {
|
|
return "", errors.New(fmt.Sprintf(Conf.Language(44), err.Error()))
|
|
return "", errors.New(fmt.Sprintf(Conf.Language(44), err.Error()))
|