This commit is contained in:
Liang Ding 2022-12-08 14:49:24 +08:00
parent e4c3a2d9d0
commit 07ae572d8d
No known key found for this signature in database
GPG Key ID: 136F30F901A2231D
2 changed files with 7 additions and 26 deletions

View File

@ -17,10 +17,8 @@
package model
import (
"bytes"
"errors"
"fmt"
"github.com/siyuan-note/logging"
"sort"
"strings"
@ -29,6 +27,7 @@ import (
"github.com/88250/lute/html"
"github.com/emirpasic/gods/sets/hashset"
"github.com/facette/natsort"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/search"
"github.com/siyuan-note/siyuan/kernel/sql"
"github.com/siyuan-note/siyuan/kernel/treenode"
@ -83,16 +82,7 @@ func RemoveTag(label string) (err error) {
continue
}
nodeTags := node.ChildrenByType(ast.NodeTag)
for _, nodeTag := range nodeTags {
nodeLabels := nodeTag.ChildrenByType(ast.NodeText)
for _, nodeLabel := range nodeLabels {
if bytes.Equal(nodeLabel.Tokens, []byte(label)) {
unlinks = append(unlinks, nodeTag)
}
}
}
nodeTags = node.ChildrenByType(ast.NodeTextMark)
nodeTags := node.ChildrenByType(ast.NodeTextMark)
for _, nodeTag := range nodeTags {
if nodeTag.IsTextMarkType("tag") {
if label == nodeTag.TextMarkTextContent {
@ -181,19 +171,10 @@ func RenameTag(oldLabel, newLabel string) (err error) {
continue
}
nodeTags := node.ChildrenByType(ast.NodeTag)
for _, nodeTag := range nodeTags {
nodeLabels := nodeTag.ChildrenByType(ast.NodeText)
for _, nodeLabel := range nodeLabels {
if bytes.Equal(nodeLabel.Tokens, []byte(oldLabel)) {
nodeLabel.Tokens = bytes.ReplaceAll(nodeLabel.Tokens, []byte(oldLabel), []byte(newLabel))
}
}
}
nodeTags = node.ChildrenByType(ast.NodeTextMark)
nodeTags := node.ChildrenByType(ast.NodeTextMark)
for _, nodeTag := range nodeTags {
if nodeTag.IsTextMarkType("tag") {
if oldLabel == nodeTag.TextMarkTextContent {
if strings.HasPrefix(nodeTag.TextMarkTextContent, oldLabel+"/") || nodeTag.TextMarkTextContent == oldLabel {
nodeTag.TextMarkTextContent = strings.ReplaceAll(nodeTag.TextMarkTextContent, oldLabel, newLabel)
}
}

View File

@ -1232,12 +1232,12 @@ func nSort(n *ast.Node) int {
return 20
case ast.NodeSuperBlock:
return 30
// 以下为行级元素
case ast.NodeText, ast.NodeTextMark:
return 200
case ast.NodeTag:
if n.IsTextMarkType("tag") {
return 205
}
return 200
}
return 100
}