🎨 Improve assets rename https://github.com/siyuan-note/siyuan/issues/12497
This commit is contained in:
parent
aab6131945
commit
258d55b41f
12 changed files with 45 additions and 11 deletions
|
@ -1425,7 +1425,7 @@
|
|||
"108": "Daten-Synchronisierung fand Konflikte, Sie können den generierten Konfliktinhalt in [Datenverlauf] anzeigen.",
|
||||
"109": "Erinnerung Entfernen abgeschlossen [%s]",
|
||||
"110": "Umbenennung...",
|
||||
"111": "Dokument [%s] speichern...",
|
||||
"111": "Daten werden gespeichert [%s]...",
|
||||
"112": "Markdown-Syntaxzeichen [%s] nicht einfügen",
|
||||
"113": "Daten beschreiben abschließen...",
|
||||
"114": "Tag kann nicht leer sein",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "Data sync found conflicts, you can view the generated conflict content in [Data History]",
|
||||
"109": "Remove reminder completed [%s]",
|
||||
"110": "Renaming...",
|
||||
"111": "Saving document [%s]...",
|
||||
"111": "Saving data [%s]...",
|
||||
"112": "Do not include Markdown syntax marker [%s]",
|
||||
"113": "Completing data writing...",
|
||||
"114": "Tag cannot be empty",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "La sincronizaci\u00f3n de datos encontr\u00f3 en conflictos, puede ver el contenido del conflicto generado en [Historial de datos]",
|
||||
"109": "Eliminación de recordatorios completada [%s]",
|
||||
"110": "Renombrar...",
|
||||
"111": "Guardando documento [%s]...",
|
||||
"111": "Guardando los datos [%s]...",
|
||||
"112": "No incluir marcador de sintaxis Markdown [%s]",
|
||||
"113": "Completando la escritura de datos...",
|
||||
"114": "La etiqueta no puede estar vacía",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "La synchronisation des données a trouvé des conflits, vous pouvez afficher le contenu du conflit généré dans [Historique des données]",
|
||||
"109": "Supprimer le rappel terminé [%s]",
|
||||
"110": "Renommer...",
|
||||
"111": "Enregistrement du document [%s]...",
|
||||
"111": "Enregistrement des données [%s]...",
|
||||
"112": "Ne pas inclure les balises de syntaxe Markdown [%s]",
|
||||
"113": "Fin de l'écriture des données...",
|
||||
"114": "La balise ne peut pas être vide",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "נמצא סכסוך בנתוני הסנכרון, תוכל לראות את התוכן שנוצר בסכסוך ב[היסטוריית הנתונים]",
|
||||
"109": "הסרת תזכורת הושלמה [%s]",
|
||||
"110": "מחזיק...",
|
||||
"111": "שומר את המסמך [%s]...",
|
||||
"111": "שומר את הנתונים [%s]...",
|
||||
"112": "אין לכלול את סימן התחביר של Markdown [%s]",
|
||||
"113": "שלמת הנתונים מתבצעת...",
|
||||
"114": "תייג לא יכול להיות ריקן",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "La sincronizzazione dei dati ha trovato conflitti, puoi visualizzare il contenuto del conflitto generato in [Cronologia Dati]",
|
||||
"109": "Rimozione del promemoria completata [%s]",
|
||||
"110": "Rinominando...",
|
||||
"111": "Salvataggio del documento [%s]...",
|
||||
"111": "Salvataggio dei dati [%s]...",
|
||||
"112": "Non includere il marcatore di sintassi Markdown [%s]",
|
||||
"113": "Completamento della scrittura dei dati...",
|
||||
"114": "L'etichetta non può essere vuota",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "データ同期で競合が検出されました。生成された競合内容は [データ履歴] で確認できます",
|
||||
"109": "リマインダーの削除が完了しました [%s]",
|
||||
"110": "名前を変更しています...",
|
||||
"111": "ドキュメントを保存しています [%s]...",
|
||||
"111": "データを保存しています [%s]...",
|
||||
"112": "Markdown 構文マーカーを含めないでください [%s]",
|
||||
"113": "データの書き込みを完了しています...",
|
||||
"114": "タグは空にできません",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "Synchronizacja danych wykryła konflikty, możesz zobaczyć wygenerowaną treść konfliktów w [Historii danych]",
|
||||
"109": "Usunięcie przypomnienia zakończone [%s]",
|
||||
"110": "Zmiana nazwy...",
|
||||
"111": "Zapisywanie dokumentu [%s]...",
|
||||
"111": "Zapisywanie danych [%s]...",
|
||||
"112": "Nie dołączać znacznika składni Markdown [%s]",
|
||||
"113": "Zakończenie pisania danych...",
|
||||
"114": "Tag nie może być pusty",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "Синхронизация данных обнаружила конфликты, вы можете просмотреть созданный контент конфликта в [Истории данных]",
|
||||
"109": "Удаление напоминания завершено [%s]",
|
||||
"110": "Переименование...",
|
||||
"111": "Сохранение документа [%s]...",
|
||||
"111": "Сохранение данных [%s]...",
|
||||
"112": "Не включать маркер синтаксиса Markdown [%s]",
|
||||
"113": "Завершение записи данных...",
|
||||
"114": "Тег не может быть пустым",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "資料同步發現衝突,可在 [資料歷史] 中查看生成的衝突內容",
|
||||
"109": "移除提醒完畢 [%s]",
|
||||
"110": "正在重命名...",
|
||||
"111": "正在保存文檔 [%s]...",
|
||||
"111": "正在保存数据 [%s]...",
|
||||
"112": "請勿包含 Markdown 語法標記符 [%s]",
|
||||
"113": "正在完成資料寫入...",
|
||||
"114": "標籤不能為空",
|
||||
|
|
|
@ -1425,7 +1425,7 @@
|
|||
"108": "数据同步发现冲突,可在 [数据历史] 中查看生成的冲突内容",
|
||||
"109": "移除提醒完毕 [%s]",
|
||||
"110": "正在重命名...",
|
||||
"111": "正在保存文档 [%s]...",
|
||||
"111": "正在保存数据 [%s]...",
|
||||
"112": "请勿包含 Markdown 语法标记符 [%s]",
|
||||
"113": "正在完成数据写入...",
|
||||
"114": "标签不能为空",
|
||||
|
|
|
@ -655,6 +655,40 @@ func RenameAsset(oldPath, newName string) (newPath string, err error) {
|
|||
}
|
||||
}
|
||||
|
||||
storageAvDir := filepath.Join(util.DataDir, "storage", "av")
|
||||
if gulu.File.IsDir(storageAvDir) {
|
||||
entries, readErr := os.ReadDir(storageAvDir)
|
||||
if nil != readErr {
|
||||
logging.LogErrorf("read dir [%s] failed: %s", storageAvDir, readErr)
|
||||
err = readErr
|
||||
return
|
||||
}
|
||||
|
||||
for _, entry := range entries {
|
||||
if !strings.HasSuffix(entry.Name(), ".json") || !ast.IsNodeIDPattern(strings.TrimSuffix(entry.Name(), ".json")) {
|
||||
continue
|
||||
}
|
||||
|
||||
data, readDataErr := filelock.ReadFile(filepath.Join(util.DataDir, "storage", "av", entry.Name()))
|
||||
if nil != readDataErr {
|
||||
logging.LogErrorf("read file [%s] failed: %s", entry.Name(), readDataErr)
|
||||
err = readDataErr
|
||||
return
|
||||
}
|
||||
|
||||
if bytes.Contains(data, []byte(oldPath)) {
|
||||
data = bytes.ReplaceAll(data, []byte(oldPath), []byte(newPath))
|
||||
if writeDataErr := filelock.WriteFile(filepath.Join(util.DataDir, "storage", "av", entry.Name()), data); nil != writeDataErr {
|
||||
logging.LogErrorf("write file [%s] failed: %s", entry.Name(), writeDataErr)
|
||||
err = writeDataErr
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
util.PushEndlessProgress(fmt.Sprintf(Conf.Language(111), util.EscapeHTML(entry.Name())))
|
||||
}
|
||||
}
|
||||
|
||||
if ocrText := util.GetAssetText(oldPath); "" != ocrText {
|
||||
// 图片重命名后 ocr-texts.json 需要更新 https://github.com/siyuan-note/siyuan/issues/12974
|
||||
util.SetAssetText(newPath, ocrText)
|
||||
|
|
Loading…
Add table
Reference in a new issue