diff --git a/kernel/model/file.go b/kernel/model/file.go index 9a1651825..1be997f73 100644 --- a/kernel/model/file.go +++ b/kernel/model/file.go @@ -1038,7 +1038,7 @@ func CreateWithMarkdown(boxID, hPath, md, parentID, id string) (retID string, er WaitForWritingFiles() luteEngine := util.NewLute() dom := luteEngine.Md2BlockDOM(md, false) - retID, _, err = createDocsByHPath(box.ID, hPath, dom, parentID, id) + retID, err = createDocsByHPath(box.ID, hPath, dom, parentID, id) return } @@ -1442,7 +1442,7 @@ func CreateDailyNote(boxID string) (p string, existed bool, err error) { return } - id, existed, err := createDocsByHPath(box.ID, hPath, "", "", "") + id, err := createDocsByHPath(box.ID, hPath, "", "", "") if nil != err { return } diff --git a/kernel/model/path.go b/kernel/model/path.go index da18ea336..48edfc9a6 100644 --- a/kernel/model/path.go +++ b/kernel/model/path.go @@ -33,7 +33,7 @@ import ( "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") pathBuilder := bytes.Buffer{} 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:] for i, part := range parts { hPathBuilder.WriteString(part)