🐛 Hyperlinks affect backlink calculation issue https://github.com/siyuan-note/siyuan/issues/11001

This commit is contained in:
Daniel 2024-04-12 21:55:53 +08:00
parent ee473289d2
commit 3a852fd1ab
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 6 additions and 5 deletions

View file

@ -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)
}
}
}

View file

@ -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,