From 1b98f43be75c1fce357381eb1da5f2c8ff4ca6d5 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 13 Apr 2025 17:13:15 +0800 Subject: [PATCH] :art: Support replacing inline tags with plain text https://github.com/siyuan-note/siyuan/issues/11238 --- kernel/model/search.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kernel/model/search.go b/kernel/model/search.go index 9f4cd91f9..e48304dff 100644 --- a/kernel/model/search.go +++ b/kernel/model/search.go @@ -947,7 +947,13 @@ func replaceNodeTextMarkTextContent(n *ast.Node, method int, keyword, escapedKey replacement = strings.TrimSuffix(replacement, "#") } else { // 将标签转换为纯文本 if "tag" == n.TextMarkType { // 没有其他类型,仅是标签时直接转换 - n.InsertBefore(&ast.Node{Type: ast.NodeText, Tokens: []byte(n.TextMarkTextContent)}) + content := n.TextMarkTextContent + if strings.Contains(content, escapedKey) { + content = strings.ReplaceAll(content, escapedKey, replacement) + } else if strings.Contains(content, keyword) { + content = strings.ReplaceAll(content, keyword, replacement) + } + n.InsertBefore(&ast.Node{Type: ast.NodeText, Tokens: []byte(content)}) n.TextMarkTextContent = "" return }