mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-23 01:50:12 +01:00
🎨 块引新建文档存放位置 支持模板变量 https://github.com/siyuan-note/siyuan/issues/4693
This commit is contained in:
parent
ee6c39744f
commit
533590cd05
4 changed files with 35 additions and 4 deletions
|
|
@ -557,7 +557,7 @@ func getDocNameTemplate(c *gin.Context) {
|
||||||
nameTemplate = model.Conf.FileTree.CreateDocNameTemplate
|
nameTemplate = model.Conf.FileTree.CreateDocNameTemplate
|
||||||
}
|
}
|
||||||
|
|
||||||
name, err := model.RenderCreateDocNameTemplate(nameTemplate)
|
name, err := model.RenderGoTemplate(nameTemplate)
|
||||||
if nil != err {
|
if nil != err {
|
||||||
ret.Code = -1
|
ret.Code = -1
|
||||||
ret.Msg = err.Error()
|
ret.Msg = err.Error()
|
||||||
|
|
@ -568,6 +568,36 @@ func getDocNameTemplate(c *gin.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getRefCreateSavePath(c *gin.Context) {
|
||||||
|
ret := gulu.Ret.NewResult()
|
||||||
|
defer c.JSON(http.StatusOK, ret)
|
||||||
|
|
||||||
|
arg, ok := util.JsonArg(c, ret)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
notebook := arg["notebook"].(string)
|
||||||
|
box := model.Conf.Box(notebook)
|
||||||
|
refCreateSavePath := model.Conf.FileTree.RefCreateSavePath
|
||||||
|
if nil != box {
|
||||||
|
refCreateSavePath = box.GetConf().RefCreateSavePath
|
||||||
|
}
|
||||||
|
if "" == refCreateSavePath {
|
||||||
|
refCreateSavePath = model.Conf.FileTree.RefCreateSavePath
|
||||||
|
}
|
||||||
|
|
||||||
|
p, err := model.RenderGoTemplate(refCreateSavePath)
|
||||||
|
if nil != err {
|
||||||
|
ret.Code = -1
|
||||||
|
ret.Msg = err.Error()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ret.Data = map[string]interface{}{
|
||||||
|
"path": p,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func changeSort(c *gin.Context) {
|
func changeSort(c *gin.Context) {
|
||||||
ret := gulu.Ret.NewResult()
|
ret := gulu.Ret.NewResult()
|
||||||
defer c.JSON(http.StatusOK, ret)
|
defer c.JSON(http.StatusOK, ret)
|
||||||
|
|
|
||||||
|
|
@ -85,6 +85,7 @@ func ServeAPI(ginServer *gin.Engine) {
|
||||||
ginServer.Handle("POST", "/api/filetree/listDocsByPath", model.CheckAuth, listDocsByPath)
|
ginServer.Handle("POST", "/api/filetree/listDocsByPath", model.CheckAuth, listDocsByPath)
|
||||||
ginServer.Handle("POST", "/api/filetree/getDoc", model.CheckAuth, getDoc)
|
ginServer.Handle("POST", "/api/filetree/getDoc", model.CheckAuth, getDoc)
|
||||||
ginServer.Handle("POST", "/api/filetree/getDocNameTemplate", model.CheckAuth, getDocNameTemplate)
|
ginServer.Handle("POST", "/api/filetree/getDocNameTemplate", model.CheckAuth, getDocNameTemplate)
|
||||||
|
ginServer.Handle("POST", "/api/filetree/getRefCreateSavePath", model.CheckAuth, getRefCreateSavePath)
|
||||||
ginServer.Handle("POST", "/api/filetree/changeSort", model.CheckAuth, changeSort)
|
ginServer.Handle("POST", "/api/filetree/changeSort", model.CheckAuth, changeSort)
|
||||||
ginServer.Handle("POST", "/api/filetree/lockFile", model.CheckAuth, lockFile)
|
ginServer.Handle("POST", "/api/filetree/lockFile", model.CheckAuth, lockFile)
|
||||||
ginServer.Handle("POST", "/api/filetree/createDocWithMd", model.CheckAuth, model.CheckReadonly, createDocWithMd)
|
ginServer.Handle("POST", "/api/filetree/createDocWithMd", model.CheckAuth, model.CheckReadonly, createDocWithMd)
|
||||||
|
|
|
||||||
|
|
@ -1335,7 +1335,7 @@ func CreateDailyNote(boxID string) (p string, existed bool, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
hPath, err := RenderCreateDocNameTemplate(boxConf.DailyNoteSavePath)
|
hPath, err := RenderGoTemplate(boxConf.DailyNoteSavePath)
|
||||||
if nil != err {
|
if nil != err {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,8 @@ import (
|
||||||
"github.com/siyuan-note/siyuan/kernel/sql"
|
"github.com/siyuan-note/siyuan/kernel/sql"
|
||||||
)
|
)
|
||||||
|
|
||||||
func RenderCreateDocNameTemplate(nameTemplate string) (ret string, err error) {
|
func RenderGoTemplate(templateContent string) (ret string, err error) {
|
||||||
tpl, err := template.New("").Funcs(sprig.TxtFuncMap()).Parse(nameTemplate)
|
tpl, err := template.New("").Funcs(sprig.TxtFuncMap()).Parse(templateContent)
|
||||||
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()))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue