🐛 导出 PDF/HTML 时丢失自定义表情 Fix https://github.com/siyuan-note/siyuan/issues/5535

This commit is contained in:
Liang Ding 2022-07-29 23:37:04 +08:00
parent b079a35007
commit 236ffd8e64
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
2 changed files with 47 additions and 10 deletions

View file

@ -644,6 +644,27 @@ func UnusedAssets() (ret []string) {
return
}
func emojisInTree(tree *parse.Tree) (ret []string) {
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
if !entering {
return ast.WalkContinue
}
if ast.NodeEmojiImg == n.Type {
tokens := n.Tokens
idx := bytes.Index(tokens, []byte("src=\""))
if -1 == idx {
return ast.WalkContinue
}
src := tokens[idx+len("src=\""):]
src = src[:bytes.Index(src, []byte("\""))]
ret = append(ret, string(src))
}
return ast.WalkContinue
})
ret = gulu.Str.RemoveDuplicatedElem(ret)
return
}
func assetsLinkDestsInTree(tree *parse.Tree) (ret []string) {
ret = []string{}
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {