Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2025-11-27 10:29:59 +08:00
commit c68b4dc4c5

View file

@ -233,6 +233,8 @@ func setNodeAttrs0(node *ast.Node, nameValues map[string]string) (oldAttrs map[s
}
}
normalizeKeysToLower(nameValues)
for name, value := range nameValues {
value = util.RemoveInvalidRetainCtrl(value)
value = strings.TrimSpace(value)
@ -250,6 +252,23 @@ func setNodeAttrs0(node *ast.Node, nameValues map[string]string) (oldAttrs map[s
return
}
// normalizeKeysToLower 将 nameValues 的键统一为小写 https://github.com/siyuan-note/siyuan/issues/16447
func normalizeKeysToLower(nameValues map[string]string) {
newMap := make(map[string]string, len(nameValues))
for name, value := range nameValues {
lower := strings.ToLower(name)
newMap[lower] = value
}
for k := range nameValues {
delete(nameValues, k)
}
for k, v := range newMap {
nameValues[k] = v
}
}
func pushBroadcastAttrTransactions(oldAttrs map[string]string, node *ast.Node) {
newAttrs := parse.IAL2Map(node.KramdownIAL)
data := map[string]interface{}{"old": oldAttrs, "new": newAttrs}