mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
14effb402f
20 changed files with 174 additions and 41 deletions
8
.github/CONTRIBUTING.md
vendored
8
.github/CONTRIBUTING.md
vendored
|
|
@ -7,17 +7,17 @@
|
|||
|
||||
## NPM dependencies
|
||||
|
||||
Install pnpm: `npm install -g pnpm@10.17.1`
|
||||
Install pnpm: `npm install -g pnpm@10.18.3`
|
||||
|
||||
<details>
|
||||
<summary>For China mainland</summary>
|
||||
|
||||
Set the Electron mirror environment variable and install Electron:
|
||||
|
||||
* macOS/Linux: `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@37.6.0 -D`
|
||||
* macOS/Linux: `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@37.7.0 -D`
|
||||
* Windows:
|
||||
* `SET ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/`
|
||||
* `pnpm install electron@37.6.0 -D`
|
||||
* `pnpm install electron@37.7.0 -D`
|
||||
|
||||
NPM mirror:
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ NPM mirror:
|
|||
|
||||
Enter the app folder and execute:
|
||||
|
||||
* `pnpm install electron@37.6.0 -D`
|
||||
* `pnpm install electron@37.7.0 -D`
|
||||
* `pnpm run dev`
|
||||
* `pnpm run start`
|
||||
|
||||
|
|
|
|||
8
.github/CONTRIBUTING_zh_CN.md
vendored
8
.github/CONTRIBUTING_zh_CN.md
vendored
|
|
@ -7,17 +7,17 @@
|
|||
|
||||
## NPM 依赖
|
||||
|
||||
安装 pnpm:`npm install -g pnpm@10.17.1`
|
||||
安装 pnpm:`npm install -g pnpm@10.18.3`
|
||||
|
||||
<details>
|
||||
<summary>适用于中国大陆</summary>
|
||||
|
||||
设置 Electron 镜像环境变量并安装 Electron:
|
||||
|
||||
* macOS/Linux:`ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@37.6.0 -D`
|
||||
* macOS/Linux:`ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@37.7.0 -D`
|
||||
* Windows:
|
||||
* `SET ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/`
|
||||
* `pnpm install electron@37.6.0 -D`
|
||||
* `pnpm install electron@37.7.0 -D`
|
||||
|
||||
NPM 镜像:
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ NPM 镜像:
|
|||
|
||||
进入 app 文件夹执行:
|
||||
|
||||
* `pnpm install electron@37.6.0 -D`
|
||||
* `pnpm install electron@37.7.0 -D`
|
||||
* `pnpm run dev`
|
||||
* `pnpm run start`
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "طي الكل",
|
||||
"expandSameLevelHeading": "توسيع العناوين من نفس المستوى",
|
||||
"foldSameLevelHeading": "طي العناوين من نفس المستوى",
|
||||
"expandChildHeading": "توسيع العناوين الفرعية",
|
||||
"foldChildHeading": "طي العناوين الفرعية",
|
||||
"addChildHeading": "إضافة عنوان فرعي",
|
||||
"insertSameLevelHeadingBefore": "إدراج عنوان من نفس المستوى قبل",
|
||||
"insertSameLevelHeadingAfter": "إدراج عنوان من نفس المستوى بعد",
|
||||
"upgrade": "ترقية",
|
||||
"downgrade": "خفض المستوى",
|
||||
"clipboardPermissionDenied": "تم رفض إذن الحافظة. يرجى السماح بالوصول إلى الحافظة من شريط عنوان المتصفح ثم المحاولة مرة أخرى.",
|
||||
"jumpTo": "انتقل إلى",
|
||||
"vacuumDataIndex": "تحسين الفهرس",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "Alle einklappen",
|
||||
"expandSameLevelHeading": "Überschriften auf gleicher Ebene ausklappen",
|
||||
"foldSameLevelHeading": "Überschriften auf gleicher Ebene einklappen",
|
||||
"expandChildHeading": "Unterüberschriften ausklappen",
|
||||
"foldChildHeading": "Unterüberschriften einklappen",
|
||||
"addChildHeading": "Unterüberschrift hinzufügen",
|
||||
"insertSameLevelHeadingBefore": "Überschrift auf gleicher Ebene davor einfügen",
|
||||
"insertSameLevelHeadingAfter": "Überschrift auf gleicher Ebene danach einfügen",
|
||||
"upgrade": "Aktualisieren",
|
||||
"downgrade": "Herabstufen",
|
||||
"clipboardPermissionDenied": "Zwischenablage-Berechtigung verweigert. Bitte erlauben Sie den Zugriff auf die Zwischenablage in der Adressleiste des Browsers und versuchen Sie es erneut.",
|
||||
"jumpTo": "Springe zu",
|
||||
"vacuumDataIndex": "Index optimieren",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "Fold all",
|
||||
"expandSameLevelHeading": "Expand same level heading",
|
||||
"foldSameLevelHeading": "Fold same level heading",
|
||||
"expandChildHeading": "Expand child heading",
|
||||
"foldChildHeading": "Fold child heading",
|
||||
"addChildHeading": "Add child heading",
|
||||
"insertSameLevelHeadingBefore": "Insert same level heading before",
|
||||
"insertSameLevelHeadingAfter": "Insert same level heading after",
|
||||
"upgrade": "Upgrade",
|
||||
"downgrade": "Downgrade",
|
||||
"clipboardPermissionDenied": "Clipboard permission denied. Please allow clipboard access in the browser address bar and try again.",
|
||||
"jumpTo": "Jump to",
|
||||
"vacuumDataIndex": "Optimize Index",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "Colapsar todo",
|
||||
"expandSameLevelHeading": "Expandir títulos del mismo nivel",
|
||||
"foldSameLevelHeading": "Colapsar títulos del mismo nivel",
|
||||
"expandChildHeading": "Expandir subtítulos",
|
||||
"foldChildHeading": "Colapsar subtítulos",
|
||||
"addChildHeading": "Agregar subtítulo",
|
||||
"insertSameLevelHeadingBefore": "Insertar título del mismo nivel antes",
|
||||
"insertSameLevelHeadingAfter": "Insertar título del mismo nivel después",
|
||||
"upgrade": "Actualizar",
|
||||
"downgrade": "Degradar",
|
||||
"clipboardPermissionDenied": "Permiso del portapapeles denegado. Permite el acceso al portapapeles en la barra de direcciones del navegador y vuelve a intentarlo.",
|
||||
"jumpTo": "Ir a",
|
||||
"vacuumDataIndex": "Optimizar índice",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "Tout replier",
|
||||
"expandSameLevelHeading": "Développer les titres du même niveau",
|
||||
"foldSameLevelHeading": "Replier les titres du même niveau",
|
||||
"expandChildHeading": "Développer les sous-titres",
|
||||
"foldChildHeading": "Replier les sous-titres",
|
||||
"addChildHeading": "Ajouter un sous-titre",
|
||||
"insertSameLevelHeadingBefore": "Insérer un titre du même niveau avant",
|
||||
"insertSameLevelHeadingAfter": "Insérer un titre du même niveau après",
|
||||
"upgrade": "Mettre à niveau",
|
||||
"downgrade": "Rétrograder",
|
||||
"clipboardPermissionDenied": "Permission du presse-papiers refusée. Veuillez autoriser l'accès au presse-papiers dans la barre d'adresse du navigateur, puis réessayez.",
|
||||
"jumpTo": "Aller à",
|
||||
"vacuumDataIndex": "Optimiser l'index",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "קפל הכל",
|
||||
"expandSameLevelHeading": "הרחב כותרות באותו רמה",
|
||||
"foldSameLevelHeading": "קפל כותרות באותו רמה",
|
||||
"expandChildHeading": "הרחב כותרות משנה",
|
||||
"foldChildHeading": "קפל כותרות משנה",
|
||||
"addChildHeading": "הוסף כותרת משנה",
|
||||
"insertSameLevelHeadingBefore": "הוסף כותרת באותו רמה לפני",
|
||||
"insertSameLevelHeadingAfter": "הוסף כותרת באותו רמה אחרי",
|
||||
"upgrade": "שדרג",
|
||||
"downgrade": "הורד רמה",
|
||||
"clipboardPermissionDenied": "ההרשאה ללוח נדחתה. אפשר גישה ללוח משורת הכתובת בדפדפן ונסה שוב.",
|
||||
"jumpTo": "קפוץ אל",
|
||||
"vacuumDataIndex": "אופטימיזציית אינדקס",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "Comprimi tutto",
|
||||
"expandSameLevelHeading": "Espandi intestazioni dello stesso livello",
|
||||
"foldSameLevelHeading": "Comprimi intestazioni dello stesso livello",
|
||||
"expandChildHeading": "Espandi sottotitoli",
|
||||
"foldChildHeading": "Comprimi sottotitoli",
|
||||
"addChildHeading": "Aggiungi sottotitolo",
|
||||
"insertSameLevelHeadingBefore": "Inserisci intestazione dello stesso livello prima",
|
||||
"insertSameLevelHeadingAfter": "Inserisci intestazione dello stesso livello dopo",
|
||||
"upgrade": "Aggiorna",
|
||||
"downgrade": "Retrocedi",
|
||||
"clipboardPermissionDenied": "Autorizzazione agli appunti negata. Consenti l'accesso agli appunti dalla barra degli indirizzi del browser e riprova.",
|
||||
"jumpTo": "Vai a",
|
||||
"vacuumDataIndex": "Ottimizza indice",
|
||||
|
|
@ -977,9 +987,9 @@
|
|||
"heading4": "Titolo 4",
|
||||
"heading5": "Titolo 5",
|
||||
"heading6": "Titolo 6",
|
||||
"outlineExpandLevel": "展開レベル",
|
||||
"expandAll": "すべて展開",
|
||||
"outlineKeepCurrentExpand": "現在の見出しを展開し続ける",
|
||||
"outlineExpandLevel": "Livello di espansione",
|
||||
"expandAll": "Espandi tutto",
|
||||
"outlineKeepCurrentExpand": "Mantieni espanso l'intestazione corrente",
|
||||
"general": "Generale",
|
||||
"list1": "Lista",
|
||||
"element": "elemento",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "すべて折りたたむ",
|
||||
"expandSameLevelHeading": "同じレベルの見出しを展開",
|
||||
"foldSameLevelHeading": "同じレベルの見出しを折りたたむ",
|
||||
"expandChildHeading": "子見出しを展開",
|
||||
"foldChildHeading": "子見出しを折りたたむ",
|
||||
"addChildHeading": "子見出しを追加",
|
||||
"insertSameLevelHeadingBefore": "前に同じレベルの見出しを挿入",
|
||||
"insertSameLevelHeadingAfter": "後に同じレベルの見出しを挿入",
|
||||
"upgrade": "アップグレード",
|
||||
"downgrade": "ダウングレード",
|
||||
"clipboardPermissionDenied": "クリップボードの権限が拒否されました。ブラウザのアドレスバーでクリップボードへのアクセスを許可してから再試行してください。",
|
||||
"jumpTo": "ジャンプ先",
|
||||
"vacuumDataIndex": "インデックスの最適化",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "Zwiń wszystko",
|
||||
"expandSameLevelHeading": "Rozwiń nagłówki na tym samym poziomie",
|
||||
"foldSameLevelHeading": "Zwiń nagłówki na tym samym poziomie",
|
||||
"expandChildHeading": "Rozwiń nagłówki podrzędne",
|
||||
"foldChildHeading": "Zwiń nagłówki podrzędne",
|
||||
"addChildHeading": "Dodaj nagłówek podrzędny",
|
||||
"insertSameLevelHeadingBefore": "Wstaw nagłówek na tym samym poziomie przed",
|
||||
"insertSameLevelHeadingAfter": "Wstaw nagłówek na tym samym poziomie po",
|
||||
"upgrade": "Aktualizuj",
|
||||
"downgrade": "Degraduj",
|
||||
"clipboardPermissionDenied": "Odmowa dostępu do schowka. Zezwól na dostęp do schowka w pasku adresu przeglądarki, a następnie spróbuj ponownie.",
|
||||
"jumpTo": "Przejdź do",
|
||||
"vacuumDataIndex": "Optymalizuj indeks",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "Recolher tudo",
|
||||
"expandSameLevelHeading": "Expandir títulos do mesmo nível",
|
||||
"foldSameLevelHeading": "Recolher títulos do mesmo nível",
|
||||
"expandChildHeading": "Expandir subtítulos",
|
||||
"foldChildHeading": "Recolher subtítulos",
|
||||
"addChildHeading": "Adicionar subtítulo",
|
||||
"insertSameLevelHeadingBefore": "Inserir título do mesmo nível antes",
|
||||
"insertSameLevelHeadingAfter": "Inserir título do mesmo nível depois",
|
||||
"upgrade": "Atualizar",
|
||||
"downgrade": "Rebaixar",
|
||||
"clipboardPermissionDenied": "Permissão da área de transferência negada. Permita o acesso à área de transferência na barra de endereço do navegador e tente novamente.",
|
||||
"jumpTo": "Ir para",
|
||||
"vacuumDataIndex": "Otimizar índice",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "Свернуть всё",
|
||||
"expandSameLevelHeading": "Развернуть заголовки того же уровня",
|
||||
"foldSameLevelHeading": "Свернуть заголовки того же уровня",
|
||||
"expandChildHeading": "Развернуть дочерние заголовки",
|
||||
"foldChildHeading": "Свернуть дочерние заголовки",
|
||||
"addChildHeading": "Добавить дочерний заголовок",
|
||||
"insertSameLevelHeadingBefore": "Вставить заголовок того же уровня перед",
|
||||
"insertSameLevelHeadingAfter": "Вставить заголовок того же уровня после",
|
||||
"upgrade": "Обновить",
|
||||
"downgrade": "Понизить",
|
||||
"clipboardPermissionDenied": "Доступ к буферу обмена отклонён. Разрешите доступ в адресной строке браузера и попробуйте снова.",
|
||||
"jumpTo": "Перейти к",
|
||||
"vacuumDataIndex": "Оптимизация индекса",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "全部摺疊",
|
||||
"expandSameLevelHeading": "展開同級標題",
|
||||
"foldSameLevelHeading": "摺疊同級標題",
|
||||
"expandChildHeading": "展開子標題",
|
||||
"foldChildHeading": "摺疊子標題",
|
||||
"addChildHeading": "新增子標題",
|
||||
"insertSameLevelHeadingBefore": "在前方插入同級標題",
|
||||
"insertSameLevelHeadingAfter": "在後方插入同級標題",
|
||||
"upgrade": "升級",
|
||||
"downgrade": "降級",
|
||||
"clipboardPermissionDenied": "剪貼簿權限被拒絕,請在瀏覽器地址欄允許訪問剪貼簿後再試",
|
||||
"jumpTo": "跳轉到",
|
||||
"vacuumDataIndex": "優化索引",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"foldAll": "全部折叠",
|
||||
"expandSameLevelHeading": "展开同级标题",
|
||||
"foldSameLevelHeading": "折叠同级标题",
|
||||
"expandChildHeading": "展开子标题",
|
||||
"foldChildHeading": "折叠子标题",
|
||||
"addChildHeading": "添加子标题",
|
||||
"insertSameLevelHeadingBefore": "在前方插入同级标题",
|
||||
"insertSameLevelHeadingAfter": "在后方插入同级标题",
|
||||
"upgrade": "升级",
|
||||
"downgrade": "降级",
|
||||
"clipboardPermissionDenied": "剪贴板权限被拒绝,请在浏览器地址栏允许访问剪贴板后再试",
|
||||
"jumpTo": "跳转到",
|
||||
"vacuumDataIndex": "优化索引",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"description": "Refactor your thinking",
|
||||
"homepage": "https://b3log.org/siyuan",
|
||||
"main": "./electron/main.js",
|
||||
"packageManager": "pnpm@10.17.1",
|
||||
"packageManager": "pnpm@10.18.3",
|
||||
"scripts": {
|
||||
"lint": "eslint . --fix --cache",
|
||||
"dev": "webpack --mode development",
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
"clean-webpack-plugin": "^4.0.0",
|
||||
"css-loader": "^7.1.2",
|
||||
"dayjs": "^1.11.5",
|
||||
"electron": "37.6.0",
|
||||
"electron": "37.7.0",
|
||||
"electron-builder": "26.0.12",
|
||||
"encoding": "^0.1.13",
|
||||
"esbuild-loader": "^3.0.1",
|
||||
|
|
|
|||
22
app/pnpm-lock.yaml
generated
22
app/pnpm-lock.yaml
generated
|
|
@ -10,7 +10,7 @@ importers:
|
|||
dependencies:
|
||||
'@electron/remote':
|
||||
specifier: ^2.1.3
|
||||
version: 2.1.3(electron@37.6.0)
|
||||
version: 2.1.3(electron@37.7.0)
|
||||
devDependencies:
|
||||
'@eslint/eslintrc':
|
||||
specifier: ^3.3.1
|
||||
|
|
@ -40,8 +40,8 @@ importers:
|
|||
specifier: ^1.11.5
|
||||
version: 1.11.18
|
||||
electron:
|
||||
specifier: 37.6.0
|
||||
version: 37.6.0
|
||||
specifier: 37.7.0
|
||||
version: 37.7.0
|
||||
electron-builder:
|
||||
specifier: 26.0.12
|
||||
version: 26.0.12(electron-builder-squirrel-windows@26.0.12)
|
||||
|
|
@ -446,36 +446,42 @@ packages:
|
|||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@parcel/watcher-linux-arm-musl@2.5.1':
|
||||
resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@parcel/watcher-linux-arm64-glibc@2.5.1':
|
||||
resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@parcel/watcher-linux-arm64-musl@2.5.1':
|
||||
resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@parcel/watcher-linux-x64-glibc@2.5.1':
|
||||
resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@parcel/watcher-linux-x64-musl@2.5.1':
|
||||
resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@parcel/watcher-win32-arm64@2.5.1':
|
||||
resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
|
||||
|
|
@ -1192,8 +1198,8 @@ packages:
|
|||
resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
|
||||
electron@37.6.0:
|
||||
resolution: {integrity: sha512-8AANcn6irYQ7cTAJRY7r0CovWckcGCHUniQecyGhw/jJ25vWwitVhF97skF+EyDztiEI6YBoF0G6tx1s37bO3g==}
|
||||
electron@37.7.0:
|
||||
resolution: {integrity: sha512-LBzvfrS0aalynOsnC11AD7zeoU8eOois090mzLpQM3K8yZ2N04i2ZW9qmHOTFLrXlKvrwRc7EbyQf1u8XHMl6Q==}
|
||||
engines: {node: '>= 12.20.55'}
|
||||
hasBin: true
|
||||
|
||||
|
|
@ -2862,9 +2868,9 @@ snapshots:
|
|||
- bluebird
|
||||
- supports-color
|
||||
|
||||
'@electron/remote@2.1.3(electron@37.6.0)':
|
||||
'@electron/remote@2.1.3(electron@37.7.0)':
|
||||
dependencies:
|
||||
electron: 37.6.0
|
||||
electron: 37.7.0
|
||||
|
||||
'@electron/universal@2.0.1':
|
||||
dependencies:
|
||||
|
|
@ -4007,7 +4013,7 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
electron@37.6.0:
|
||||
electron@37.7.0:
|
||||
dependencies:
|
||||
'@electron/get': 2.0.3
|
||||
'@types/node': 22.18.1
|
||||
|
|
|
|||
|
|
@ -522,9 +522,11 @@ func RenderHistoryAttributeView(blockID, avID, viewID, query string, page, pageS
|
|||
historyDir := matches[0]
|
||||
avJSONPath := filepath.Join(historyDir, "storage", "av", avID+".json")
|
||||
if !gulu.File.IsExist(avJSONPath) {
|
||||
logging.LogWarnf("attribute view [%s] not found in history data [%s], use current data instead", avID, historyDir)
|
||||
avJSONPath = filepath.Join(util.DataDir, "storage", "av", avID+".json")
|
||||
}
|
||||
if !gulu.File.IsExist(avJSONPath) {
|
||||
logging.LogWarnf("attribute view [%s] not found in current data", avID)
|
||||
attrView = av.NewAttributeView(avID)
|
||||
} else {
|
||||
data, readErr := os.ReadFile(avJSONPath)
|
||||
|
|
|
|||
|
|
@ -1548,16 +1548,7 @@ func removeDoc(box *Box, p string, luteEngine *lute.Lute) {
|
|||
return
|
||||
}
|
||||
|
||||
// 关联的属性视图也要复制到历史中 https://github.com/siyuan-note/siyuan/issues/9567
|
||||
avNodes := tree.Root.ChildrenByType(ast.NodeAttributeView)
|
||||
for _, avNode := range avNodes {
|
||||
srcAvPath := filepath.Join(util.DataDir, "storage", "av", avNode.AttributeViewID+".json")
|
||||
destAvPath := filepath.Join(historyDir, "storage", "av", avNode.AttributeViewID+".json")
|
||||
if copyErr := filelock.Copy(srcAvPath, destAvPath); nil != copyErr {
|
||||
logging.LogErrorf("copy av [%s] failed: %s", srcAvPath, copyErr)
|
||||
}
|
||||
}
|
||||
|
||||
generateAvHistory(tree, historyDir)
|
||||
copyDocAssetsToDataAssets(box.ID, p)
|
||||
|
||||
removeIDs := treenode.RootChildIDs(tree.ID)
|
||||
|
|
|
|||
|
|
@ -259,7 +259,6 @@ func RollbackDocHistory(boxID, historyPath string) (err error) {
|
|||
}
|
||||
historyDir = filepath.Join(util.HistoryDir, historyDir)
|
||||
|
||||
// 恢复包含的的属性视图 https://github.com/siyuan-note/siyuan/issues/9567
|
||||
avNodes := tree.Root.ChildrenByType(ast.NodeAttributeView)
|
||||
for _, avNode := range avNodes {
|
||||
srcAvPath := filepath.Join(historyDir, "storage", "av", avNode.AttributeViewID+".json")
|
||||
|
|
@ -652,15 +651,7 @@ func (box *Box) generateDocHistory0() {
|
|||
if nil != loadErr {
|
||||
logging.LogErrorf("load tree [%s] failed: %s", file, loadErr)
|
||||
} else {
|
||||
// 关联的属性视图也要复制到历史中 https://github.com/siyuan-note/siyuan/issues/9567
|
||||
avNodes := tree.Root.ChildrenByType(ast.NodeAttributeView)
|
||||
for _, avNode := range avNodes {
|
||||
srcAvPath := filepath.Join(util.DataDir, "storage", "av", avNode.AttributeViewID+".json")
|
||||
destAvPath := filepath.Join(historyDir, "storage", "av", avNode.AttributeViewID+".json")
|
||||
if copyErr := filelock.Copy(srcAvPath, destAvPath); nil != copyErr {
|
||||
logging.LogErrorf("copy av [%s] failed: %s", srcAvPath, copyErr)
|
||||
}
|
||||
}
|
||||
generateAvHistory(tree, historyDir)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -789,9 +780,22 @@ func generateOpTypeHistory(tree *parse.Tree, opType string) {
|
|||
return
|
||||
}
|
||||
|
||||
generateAvHistory(tree, historyDir)
|
||||
|
||||
indexHistoryDir(filepath.Base(historyDir), util.NewLute())
|
||||
}
|
||||
|
||||
func generateAvHistory(tree *parse.Tree, historyDir string) {
|
||||
avNodes := tree.Root.ChildrenByType(ast.NodeAttributeView)
|
||||
for _, avNode := range avNodes {
|
||||
srcAvPath := filepath.Join(util.DataDir, "storage", "av", avNode.AttributeViewID+".json")
|
||||
destAvPath := filepath.Join(historyDir, "storage", "av", avNode.AttributeViewID+".json")
|
||||
if copyErr := filelock.Copy(srcAvPath, destAvPath); nil != copyErr {
|
||||
logging.LogErrorf("copy av [%s] failed: %s", srcAvPath, copyErr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func GetHistoryDir(suffix string) (ret string, err error) {
|
||||
return getHistoryDir(suffix, time.Now())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue