Jelajahi Sumber

:art: Show notebooks in hpath of block ref search list results https://github.com/siyuan-note/siyuan/issues/9378

Daniel 1 tahun lalu
induk
melakukan
288eb24474
1 mengubah file dengan 19 tambahan dan 0 penghapusan
  1. 19 0
      kernel/model/search.go

+ 19 - 0
kernel/model/search.go

@@ -161,6 +161,9 @@ func SearchRefBlock(id, rootID, keyword string, beforeLen int, isSquareBrackets
 		if 1 > len(ret) {
 		if 1 > len(ret) {
 			ret = []*Block{}
 			ret = []*Block{}
 		}
 		}
+
+		// 在 hPath 中加入笔记本名 Show notebooks in hpath of block ref search list results https://github.com/siyuan-note/siyuan/issues/9378
+		prependNotebookNameInHPath(ret)
 		return
 		return
 	}
 	}
 
 
@@ -205,9 +208,25 @@ func SearchRefBlock(id, rootID, keyword string, beforeLen int, isSquareBrackets
 			newDoc = nil == treenode.GetBlockTreeRootByHPath(block.BoxID, p)
 			newDoc = nil == treenode.GetBlockTreeRootByHPath(block.BoxID, p)
 		}
 		}
 	}
 	}
+
+	// 在 hPath 中加入笔记本名 Show notebooks in hpath of block ref search list results https://github.com/siyuan-note/siyuan/issues/9378
+	prependNotebookNameInHPath(ret)
 	return
 	return
 }
 }
 
 
+func prependNotebookNameInHPath(blocks []*Block) {
+	var boxIDs []string
+	for _, b := range blocks {
+		boxIDs = append(boxIDs, b.Box)
+	}
+	boxIDs = gulu.Str.RemoveDuplicatedElem(boxIDs)
+	boxNames := Conf.BoxNames(boxIDs)
+	for _, b := range blocks {
+		name := boxNames[b.Box]
+		b.HPath = name + b.HPath
+	}
+}
+
 func FindReplace(keyword, replacement string, ids []string, paths, boxes []string, types map[string]bool, method, orderBy, groupBy int) (err error) {
 func FindReplace(keyword, replacement string, ids []string, paths, boxes []string, types map[string]bool, method, orderBy, groupBy int) (err error) {
 	// method:0:文本,1:查询语法,2:SQL,3:正则表达式
 	// method:0:文本,1:查询语法,2:SQL,3:正则表达式
 	if 1 == method || 2 == method {
 	if 1 == method || 2 == method {