From 7003ef15cb91bcbbf848c334a3881b0676d74b21 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 13 Apr 2025 21:22:31 +0800 Subject: [PATCH] :art: Supports replacing tags with other inline elements https://github.com/siyuan-note/siyuan/issues/11238 --- kernel/model/search.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/kernel/model/search.go b/kernel/model/search.go index b4aa12115..f92cf1fed 100644 --- a/kernel/model/search.go +++ b/kernel/model/search.go @@ -965,14 +965,27 @@ func replaceNodeTextMarkTextContent(n *ast.Node, method int, keyword, escapedKey parse.NestedInlines2FlattedSpans(tree, false) var replaceNodes []*ast.Node + var defIDs []string for rNode := tree.Root.FirstChild.FirstChild; nil != rNode; rNode = rNode.Next { replaceNodes = append(replaceNodes, rNode) + if blockRefID, _, _ := treenode.GetBlockRef(rNode); "" != blockRefID { + defIDs = append(defIDs, blockRefID) + } } for _, rNode := range replaceNodes { n.InsertBefore(rNode) } n.TextMarkTextContent = "" + + for _, defID := range defIDs { + bt := treenode.GetBlockTree(defID) + if nil == bt { + continue + } + + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, bt.RootID, defID) + } return }