🎨 Fill in the alt text after converting network images to local https://github.com/siyuan-note/siyuan/issues/10583

This commit is contained in:
Daniel 2024-03-12 17:04:45 +08:00
parent f4b94360da
commit 9a42f69ba6
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 15 additions and 5 deletions

View file

@ -103,6 +103,14 @@ func NetImg2LocalAssets(rootID, originalURL string) (err error) {
}
if ast.NodeImage == n.Type {
linkDest := n.ChildByType(ast.NodeLinkDest)
linkText := n.ChildByType(ast.NodeLinkText)
if nil == linkText {
linkText = &ast.Node{Type: ast.NodeLinkText, Tokens: []byte("image")}
if openBracket := n.ChildByType(ast.NodeOpenBracket); nil != openBracket {
openBracket.InsertAfter(linkText)
}
}
dest := linkDest.Tokens
if util.IsAssetLinkDest(dest) {
return ast.WalkSkipChildren
@ -122,8 +130,9 @@ func NetImg2LocalAssets(rootID, originalURL string) (err error) {
}
name := filepath.Base(u)
name = util.FilterFileName(name)
name = util.FilterUploadFileName(name)
name = util.TruncateLenFileName(name)
linkText.Tokens = []byte(name)
name = "net-img-" + name
name = util.AssetName(name)
writePath := filepath.Join(assetsDirPath, name)
@ -198,8 +207,9 @@ func NetImg2LocalAssets(rootID, originalURL string) (err error) {
}
}
name = strings.TrimSuffix(name, ext)
name = util.FilterFileName(name)
name = util.FilterUploadFileName(name)
name = util.TruncateLenFileName(name)
linkText.Tokens = []byte(name)
name = "net-img-" + name + "-" + ast.NewNodeID() + ext
writePath := filepath.Join(assetsDirPath, name)
if err = filelock.WriteFile(writePath, data); nil != err {
@ -285,7 +295,7 @@ func NetAssets2LocalAssets(rootID string) (err error) {
}
name := filepath.Base(u)
name = util.FilterFileName(name)
name = util.FilterUploadFileName(name)
name = util.TruncateLenFileName(name)
name = "network-asset-" + name
name = util.AssetName(name)
@ -375,7 +385,7 @@ func NetAssets2LocalAssets(rootID string) (err error) {
}
}
name = strings.TrimSuffix(name, ext)
name = util.FilterFileName(name)
name = util.FilterUploadFileName(name)
name = util.TruncateLenFileName(name)
name = "network-asset-" + name + "-" + ast.NewNodeID() + ext
writePath := filepath.Join(assetsDirPath, name)

View file

@ -951,7 +951,7 @@ func processBase64Img(n *ast.Node, dest string, assetDirPath string, err error)
if nil != alt {
name = alt.TokensStr() + ext
}
name = util.FilterFileName(name)
name = util.FilterUploadFileName(name)
name = util.AssetName(name)
tmp := filepath.Join(base64TmpDir, name)