瀏覽代碼

:recycle: Refactor create doc by hpath

Daniel 1 年之前
父節點
當前提交
e74733b4e1
共有 2 個文件被更改,包括 9 次插入3 次删除
  1. 2 2
      kernel/model/file.go
  2. 7 1
      kernel/model/path.go

+ 2 - 2
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
 	}

+ 7 - 1
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)