From 9a42f69ba63fab70867910c31f05264473b0f467 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 12 Mar 2024 17:04:45 +0800 Subject: [PATCH] :art: Fill in the alt text after converting network images to local https://github.com/siyuan-note/siyuan/issues/10583 --- kernel/model/assets.go | 18 ++++++++++++++---- kernel/model/import.go | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/kernel/model/assets.go b/kernel/model/assets.go index 8692571c7..d24ee6d0d 100644 --- a/kernel/model/assets.go +++ b/kernel/model/assets.go @@ -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) diff --git a/kernel/model/import.go b/kernel/model/import.go index a05ae33c1..48a91e104 100644 --- a/kernel/model/import.go +++ b/kernel/model/import.go @@ -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)