From 3a852fd1ab5f0daa98a036196d6552499d3fb0f1 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Fri, 12 Apr 2024 21:55:53 +0800 Subject: [PATCH] :bug: Hyperlinks affect backlink calculation issue https://github.com/siyuan-note/siyuan/issues/11001 --- kernel/model/backlink.go | 7 ++++--- kernel/model/search.go | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/kernel/model/backlink.go b/kernel/model/backlink.go index 10a67c96c..d323d7494 100644 --- a/kernel/model/backlink.go +++ b/kernel/model/backlink.go @@ -521,12 +521,13 @@ func buildLinkRefs(defRootID string, refs []*sql.Ref, keyword string) (ret []*Bl for parentID, _ := range parentRefParagraphs { paragraphParentIDs = append(paragraphParentIDs, parentID) } - paragraphParents := sql.GetBlocks(paragraphParentIDs) + sqlParagraphParents := sql.GetBlocks(paragraphParentIDs) + paragraphParents := fromSQLBlocks(&sqlParagraphParents, "", 12) processedParagraphs := hashset.New() for _, p := range paragraphParents { // 改进标题下方块和列表项子块引用时的反链定位 https://github.com/siyuan-note/siyuan/issues/7484 - if "i" == p.Type { + if "NodeListItem" == p.Type { refBlock := parentRefParagraphs[p.ID] if nil != refBlock && p.FContent == refBlock.Content { // 使用内容判断是否是列表项下第一个子块 // 如果是列表项下第一个子块,则后续会通过列表项传递或关联处理,所以这里就不处理这个段落了 @@ -535,7 +536,7 @@ func buildLinkRefs(defRootID string, refs []*sql.Ref, keyword string) (ret []*Bl refsCount-- continue } - ret = append(ret, fromSQLBlock(p, "", 12)) + ret = append(ret, p) } } } diff --git a/kernel/model/search.go b/kernel/model/search.go index a026ec60f..76c65381a 100644 --- a/kernel/model/search.go +++ b/kernel/model/search.go @@ -1339,7 +1339,7 @@ func fromSQLBlock(sqlBlock *sql.Block, terms string, beforeLen int) (block *Bloc content, _ = markSearch(content, terms, beforeLen) content = maxContent(content, 5120) markdown := maxContent(sqlBlock.Markdown, 5120) - + fContent := util.EscapeHTML(sqlBlock.FContent) // fContent 会用于和 content 对比,在反链计算时用于判断是否是列表项下第一个子块,所以也需要转义 https://github.com/siyuan-note/siyuan/issues/11001 block = &Block{ Box: sqlBlock.Box, Path: sqlBlock.Path, @@ -1351,7 +1351,7 @@ func fromSQLBlock(sqlBlock *sql.Block, terms string, beforeLen int) (block *Bloc Memo: sqlBlock.Memo, Tag: sqlBlock.Tag, Content: content, - FContent: sqlBlock.FContent, + FContent: fContent, Markdown: markdown, Type: treenode.FromAbbrType(sqlBlock.Type), SubType: sqlBlock.SubType,