⚡ 改进打开虚拟引用后加载文档的性能 https://github.com/siyuan-note/siyuan/issues/7378
This commit is contained in:
parent
0eabe9bf5f
commit
b75a46a228
1 changed files with 7 additions and 7 deletions
|
@ -54,20 +54,19 @@ func getBlockVirtualRefKeywords(root *ast.Node) (ret []string) {
|
|||
return ast.WalkContinue
|
||||
})
|
||||
content := buf.String()
|
||||
putBlockVirtualRefKeywords(content, root.ID, root.IALAttr("title"))
|
||||
ret = putBlockVirtualRefKeywords(content, root.ID, root.IALAttr("title"))
|
||||
return
|
||||
}
|
||||
ret = val.([]string)
|
||||
return
|
||||
}
|
||||
|
||||
func putBlockVirtualRefKeywords(blockContent, blockID, docTitle string) {
|
||||
func putBlockVirtualRefKeywords(blockContent, blockID, docTitle string) (ret []string) {
|
||||
keywords := getVirtualRefKeywords(docTitle)
|
||||
if 1 > len(keywords) {
|
||||
return
|
||||
}
|
||||
|
||||
var hitKeywords []string
|
||||
contentTmp := blockContent
|
||||
if !Conf.Search.CaseSensitive {
|
||||
contentTmp = strings.ToLower(blockContent)
|
||||
|
@ -79,16 +78,17 @@ func putBlockVirtualRefKeywords(blockContent, blockID, docTitle string) {
|
|||
}
|
||||
|
||||
if strings.Contains(contentTmp, keywordTmp) {
|
||||
hitKeywords = append(hitKeywords, keyword)
|
||||
ret = append(ret, keyword)
|
||||
}
|
||||
}
|
||||
|
||||
if 1 > len(hitKeywords) {
|
||||
if 1 > len(ret) {
|
||||
return
|
||||
}
|
||||
|
||||
hitKeywords = gulu.Str.RemoveDuplicatedElem(hitKeywords)
|
||||
virtualBlockRefCache.Set(blockID, hitKeywords, 1)
|
||||
ret = gulu.Str.RemoveDuplicatedElem(ret)
|
||||
virtualBlockRefCache.Set(blockID, ret, 1)
|
||||
return
|
||||
}
|
||||
|
||||
func CacheVirtualBlockRefJob() {
|
||||
|
|
Loading…
Add table
Reference in a new issue