Browse Source

:art: Improve search highlighting https://github.com/siyuan-note/siyuan/issues/13343

Daniel 6 tháng trước cách đây
mục cha
commit
f024e3b07d
1 tập tin đã thay đổi với 10 bổ sung0 xóa
  1. 10 0
      kernel/model/file.go

+ 10 - 0
kernel/model/file.go

@@ -801,6 +801,7 @@ func GetDoc(startID, endID, id string, index int, query string, queryTypes map[s
 
 	subTree := &parse.Tree{ID: rootID, Root: &ast.Node{Type: ast.NodeDocument}, Marks: tree.Marks}
 
+	query = filterQueryInvisibleChars(query)
 	if "" != query && (0 == queryMethod || 1 == queryMethod || 3 == queryMethod) { // 只有关键字、查询语法和正则表达式搜索支持高亮
 		if 0 == queryMethod {
 			query = stringQuery(query)
@@ -883,6 +884,15 @@ func GetDoc(startID, endID, id string, index int, query string, queryTypes map[s
 	luteEngine.RenderOptions.NodeIndexStart = index
 	dom = luteEngine.Tree2BlockDOM(subTree, luteEngine.RenderOptions)
 
+	if 1 > len(keywords) {
+		keywords = []string{}
+	}
+	for i, keyword := range keywords {
+		keyword = strings.TrimPrefix(keyword, "#")
+		keyword = strings.TrimSuffix(keyword, "#")
+		keywords[i] = keyword
+	}
+
 	go setRecentDocByTree(tree)
 	return
 }