🎨 Improve the setting of custom attribute names https://github.com/siyuan-note/siyuan/issues/16447

Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2025-11-27 09:55:22 +08:00
parent 126877dc8e
commit b55b99546e
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

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}