♻️ Refactor create doc by hpath

This commit is contained in:
Daniel 2023-09-30 17:57:23 +08:00
parent f608da26a5
commit e74733b4e1
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 9 additions and 3 deletions

View file

@ -1038,7 +1038,7 @@ func CreateWithMarkdown(boxID, hPath, md, parentID, id string) (retID string, er
WaitForWritingFiles() WaitForWritingFiles()
luteEngine := util.NewLute() luteEngine := util.NewLute()
dom := luteEngine.Md2BlockDOM(md, false) dom := luteEngine.Md2BlockDOM(md, false)
retID, _, err = createDocsByHPath(box.ID, hPath, dom, parentID, id) retID, err = createDocsByHPath(box.ID, hPath, dom, parentID, id)
return return
} }
@ -1442,7 +1442,7 @@ func CreateDailyNote(boxID string) (p string, existed bool, err error) {
return return
} }
id, existed, err := createDocsByHPath(box.ID, hPath, "", "", "") id, err := createDocsByHPath(box.ID, hPath, "", "", "")
if nil != err { if nil != err {
return return
} }

View file

@ -33,7 +33,7 @@ import (
"github.com/siyuan-note/siyuan/kernel/util" "github.com/siyuan-note/siyuan/kernel/util"
) )
func createDocsByHPath(boxID, hPath, content, parentID, id string /* id 参数仅在 parentID 不为空的情况下使用 */) (retID string, existed bool, err error) { func createDocsByHPath(boxID, hPath, content, parentID, id string /* id 参数仅在 parentID 不为空的情况下使用 */) (retID string, err error) {
hPath = strings.TrimSuffix(hPath, ".sy") hPath = strings.TrimSuffix(hPath, ".sy")
pathBuilder := bytes.Buffer{} pathBuilder := bytes.Buffer{}
pathBuilder.WriteString("/") pathBuilder.WriteString("/")
@ -62,6 +62,12 @@ func createDocsByHPath(boxID, hPath, content, parentID, id string /* id 参数
} }
} }
root := treenode.GetBlockTreeRootByPath(boxID, hPath)
if nil != root {
retID = root.ID
return
}
parts := strings.Split(hPath, "/")[1:] parts := strings.Split(hPath, "/")[1:]
for i, part := range parts { for i, part := range parts {
hPathBuilder.WriteString(part) hPathBuilder.WriteString(part)