Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2026-02-22 18:22:12 +08:00
commit c42f8665c5
30 changed files with 254 additions and 46 deletions

View file

@ -1179,8 +1179,8 @@
"md40": "‫اتركه فارغاً لاستعادة الافتراضي <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "‫الدعم باستخدام <code class='fn__code'>/</code> لإغلاق التعبيرات النمطية، على سبيل المثال، <code class='fn__code'>foo,/[0-9]+/</code> يعني استبعاد foo والأرقام‬",
"fileTree2": "ستختار شجرة المستندات تلقائياً المستند الحالي عندما يتم تبديل علامة تبويب المحرر",
"fileTree3": "لا يتطلب تأكيد عند حذف المستندات",
"fileTree4": "في حالة عدم التمكين، سوف يظهر مربع التأكيد في كل مرة تقوم فيها بحذف مستند",
"fileTree3": "لا يتطلب تأكيد عند حذف مستند واحد",
"fileTree4": "عند التمكين، لن يظهر مربع تأكيد عند حذف مستند واحد",
"fileTree5": "موقع حفظ المستند الجديد المنشَأ من المرجع",
"fileTree6": "‫عند استخدام <code class='fn__code'>((</code> أو <code class='fn__code'>[[</code>‬، مسار حفظ المستند الجديد (على سبيل المثال، <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "فتح في علامة التبويب الحالية",

View file

@ -1179,8 +1179,8 @@
"md40": "Leer lassen, um die Standardeinstellung wiederherzustellen <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "Unterstützen Sie die Verwendung von <code class='fn__code'>/</code>, um reguläre Ausdrücke zu umschließen, zum Beispiel <code class='fn__code'>foo,/[0-9]+/</code> bedeutet, foo und Zahlen auszuschließen",
"fileTree2": "Der Dokumentbaum wählt automatisch das aktuelle Dokument aus, wenn der Editor-Tab gewechselt wird",
"fileTree3": "Keine Bestätigung erforderlich beim Löschen von Dokumenten",
"fileTree4": "Wenn nicht aktiviert, wird jedes Mal ein Bestätigungsfeld angezeigt, wenn Sie ein Dokument löschen",
"fileTree3": "Keine Bestätigung erforderlich beim Löschen eines einzelnen Dokuments",
"fileTree4": "Wenn aktiviert, wird beim Löschen eines einzelnen Dokuments kein Bestätigungsdialog angezeigt",
"fileTree5": "Referenz erstellt Doc-Speicherort",
"fileTree6": "Beim Verwenden von <code class='fn__code'>((</code> oder <code class='fn__code'>[[</code> der Speicherpfad des neuen Dokuments (z.B. <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Im aktuellen Tab öffnen",

View file

@ -1179,8 +1179,8 @@
"md40": "Leave blank to restore default <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "Support using <code class='fn__code'>/</code> to wrap regular expressions, for example <code class='fn__code'>foo,/[0-9]+/</code> means to exclude foo and numbers",
"fileTree2": "The doc tree will automatically select the current document when the editor tab is switched",
"fileTree3": "No confirmation required when deleting documents",
"fileTree4": "If not enabled, a confirmation box will pop up every time you delete a document",
"fileTree3": "No confirmation required when deleting a single document",
"fileTree4": "When enabled, no confirmation dialog appears when deleting a single document",
"fileTree5": "Ref create doc save location",
"fileTree6": "When using <code class='fn__code'>((</code> or <code class='fn__code'>[[</code>, the save path of the new document (for example, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Open in the current tab",

View file

@ -1179,8 +1179,8 @@
"md40": "Dejar en blanco para restablecer el valor por defecto <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "Se admite el uso de <code class='fn__code'>/</code> para ajustar expresiones regulares, por ejemplo <code class='fn__code'>foo,/[0-9]+/</code> significa excluir foo y números",
"fileTree2": "Documentos seleccionará automáticamente el documento actual cuando se cambie la pestaña del editor",
"fileTree3": "No se requiere confirmación al borrar documentos",
"fileTree4": "Si no se activa, aparecerá un cuadro de confirmación cada vez que se elimine un documento",
"fileTree3": "No se requiere confirmación al borrar un solo documento",
"fileTree4": "Cuando está activado, no aparece un cuadro de confirmación al borrar un solo documento",
"fileTree5": "Ref crear ubicación de guardado de documentos",
"fileTree6": "Al utilizar <code class='fn__code'>((</code> o <code class='fn__code'>[[</code>, la ruta de guardado del nuevo documento (por ejemplo, <code class='fn__code'>/carpeta1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Abrir en la pestaña actual",

View file

@ -1179,8 +1179,8 @@
"md40": "Laissez vide pour restaurer <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1/</code> par défaut",
"md41": "Prend en charge l'utilisation de <code class='fn__code'>/</code> pour envelopper les expressions régulières, par exemple <code class='fn__code'>foo,/[0-9]+/</code> signifie exclure foo et les nombres",
"fileTree2": "L'arbre des Docs sélectionne automatiquement le document en cours lorsque l'on change d'onglet d'édition",
"fileTree3": "Aucune confirmation requise lors de la suppression de documents",
"fileTree4": "Si non activé, une boîte de confirmation apparaîtra à chaque fois que vous supprimerez un document",
"fileTree3": "Aucune confirmation requise lors de la suppression d'un seul document",
"fileTree4": "Lorsqu'il est activé, aucun dialogue de confirmation n'apparaît lors de la suppression d'un seul document",
"fileTree5": "Référence créer doc enregistrer emplacement",
"fileTree6": "Lors de l'utilisation de <code class='fn__code'>((</code> ou <code class='fn__code'>[[</code>, le chemin d'enregistrement du nouveau document (par exemple, <code class='fn__code'>/dossier1/{{now | date \"20060102150405\"}}/</code>).",
"fileTree7": "Ouvrir dans l'Onglet actuel",

View file

@ -1179,8 +1179,8 @@
"md40": "השאר ריק כדי לשחזר את ברירת המחדל <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "תמוך בשימוש ב<code class='fn__code'>/</code> כדי לשבור רגולציות רגילות, לדוגמה <code class='fn__code'>foo,/[0-9]+/</code> פירושו להוציא את foo ואת המספרים",
"fileTree2": "עץ המסמכים אוטומטית ישלח את המסמך הנוכחי כאשר הטאב של העורך מוחלף",
"fileTree3": "אין צורך באישור בעת מחיקת מסמכים",
"fileTree4": "אם לא הופק, תופיע תיבת אישור בכל פעם שמחקים מסמך",
"fileTree3": "לא נדרש אישור בעת מחיקת מסמך יחיד",
"fileTree4": "כשמופעל, לא תופיע תיבת אישור בעת מחיקת מסמך יחיד",
"fileTree5": "מיקום שמירת מסמך להפניה",
"fileTree6": "בעת השימוש <code class='fn__code'>((</code> או <code class='fn__code'>[[</code>, מסלול השמירה של המסמך החדש (למשל, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}</code>)",
"fileTree7": "פתח בטאב הנוכחי",

View file

@ -1179,8 +1179,8 @@
"md40": "Lascia vuoto per ripristinare il valore predefinito <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "Supporta l'uso di <code class='fn__code'>/</code> per avvolgere le espressioni regolari, ad esempio <code class='fn__code'>foo,/[0-9]+/</code> significa escludere foo e numeri",
"fileTree2": "L'albero dei documenti selezionerà automaticamente il documento corrente quando la scheda dell'editor viene cambiata",
"fileTree3": "Nessuna conferma richiesta durante l'eliminazione dei documenti",
"fileTree4": "Se non abilitato, ogni volta che elimini un documento verrà visualizzata una finestra di conferma",
"fileTree3": "Nessuna conferma richiesta durante l'eliminazione di un singolo documento",
"fileTree4": "Se abilitato, non verrà visualizzata alcuna finestra di conferma quando elimini un singolo documento",
"fileTree5": "Percorso di salvataggio dei nuovi documenti creati con riferimento",
"fileTree6": "Quando usi <code class='fn__code'>((</code> o <code class='fn__code'>[[</code>, il percorso di salvataggio del nuovo documento (ad esempio, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Apri nella scheda corrente",

View file

@ -1179,8 +1179,8 @@
"md40": "デフォルト (<code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>) を復元するには空白にします",
"md41": "<code class='fn__code'>/</code> で囲んだ正規表現をサポートします。<code class='fn__code'>foo,/[0-9]+/</code> の場合は foo と数字を除外することを意味します",
"fileTree2": "エディタのタブを切り替えるとドキュメントツリーで自動的に現在のドキュメントを選択します",
"fileTree3": "ドキュメントを削除するときに確認しない",
"fileTree4": "ドキュメントを削除するときに確認ボックスを表示しません",
"fileTree3": "単一のドキュメントを削除するときに確認しない",
"fileTree4": "有効にすると単一のドキュメントを削除するときに確認ダイアログが表示されません",
"fileTree5": "参照の保存場所",
"fileTree6": "<code class='fn__code'>((</code> または <code class='fn__code'>[[</code> を使用した時の参照の保存パス (例: <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "現在のタブで開く",

View file

@ -1179,8 +1179,8 @@
"md40": "비워두면 기본값 <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>로 복원됩니다",
"md41": "정규식을 감싸기 위해 <code class='fn__code'>/</code> 사용 지원, 예: <code class='fn__code'>foo,/[0-9]+/</code>는 foo와 숫자를 제외함을 의미합니다",
"fileTree2": "에디터 탭이 전환되면 문서 트리가 자동으로 현재 문서를 선택합니다",
"fileTree3": "문서를 삭제할 때 확인이 필요하지 않음",
"fileTree4": "활성화하지 않으면 문서를 삭제할 때마다 확인 상자가 팝업됩니다",
"fileTree3": "단일 문서를 삭제할 때 확인이 필요하지 않음",
"fileTree4": "활성화하면 단일 문서를 삭제할 때 확인 창이 뜨지 않습니다",
"fileTree5": "참조 생성 문서 저장 위치",
"fileTree6": "<code class='fn__code'>((</code> 또는 <code class='fn__code'>[[</code> 사용 시 새 문서의 저장 경로 (예: <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "현재 탭에서 열기",

View file

@ -1179,8 +1179,8 @@
"md40": "Pozostaw puste, aby przywrócić domyślne <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "Wspiera używanie <code class='fn__code'>/</code> do zawijania wyrażeń regularnych, na przykład <code class='fn__code'>foo,/[0-9]+/</code> oznacza wykluczenie foo i cyfr",
"fileTree2": "Drzewo dokumentu automatycznie wybierze bieżący dokument przy przełączaniu zakładek edytora",
"fileTree3": "Nie wymaga potwierdzenia przy usuwaniu dokumentów",
"fileTree4": "Jeśli nie jest włączone, okno potwierdzenia pojawi się za każdym razem, gdy usuniesz dokument",
"fileTree3": "Nie wymaga potwierdzenia przy usuwaniu pojedynczego dokumentu",
"fileTree4": "Po włączeniu przy usuwaniu pojedynczego dokumentu nie pojawia się okno potwierdzenia",
"fileTree5": "Ref stworzone miejsce zapisu dokumentu",
"fileTree6": "Kiedy używasz <code class='fn__code'>((</code> lub <code class='fn__code'>[[</code>, ścieżka zapisu nowego dokumentu (na przykład <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Otwórz w bieżącej zakładce",

View file

@ -1179,8 +1179,8 @@
"md40": "Deixe em branco para restaurar o padrão <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "Suporte usando <code class='fn__code'>/</code> para envolver expressões regulares, por exemplo <code class='fn__code'>foo,/[0-9]+/</code> significa excluir foo e números",
"fileTree2": "A árvore de documentos selecionará automaticamente o documento atual quando a aba do editor for alternada",
"fileTree3": "Nenhuma confirmação necessária ao excluir documentos",
"fileTree4": "Se não estiver ativado, uma caixa de confirmação aparecerá toda vez que você excluir um documento",
"fileTree3": "Nenhuma confirmação necessária ao excluir um único documento",
"fileTree4": "Quando ativado, nenhuma caixa de confirmação aparece ao excluir um único documento",
"fileTree5": "Local de salvamento do documento criado por Ref",
"fileTree6": "Ao usar <code class='fn__code'>((</code> ou <code class='fn__code'>[[</code>, o caminho de salvamento do novo documento (por exemplo, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Abrir na aba atual",

View file

@ -1179,8 +1179,8 @@
"md40": "Оставьте пустым, чтобы восстановить значение по умолчанию <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "Поддержка использования <code class='fn__code'>/</code> для обертывания регулярных выражений, например <code class='fn__code'>foo,/[0-9]+/</code> означает исключить foo и числа",
"fileTree2": "Дерево документа автоматически выберет текущий документ при переключении вкладок редактора",
"fileTree3": "Подтверждение не требуется при удалении документов",
"fileTree4": "Если не включено, будет появляться окно подтверждения каждый раз при удалении документа",
"fileTree3": "Подтверждение не требуется при удалении одного документа",
"fileTree4": "Если включено, при удалении одного документа окно подтверждения не появляется",
"fileTree5": "Сохранить местоположение созданного документа с ссылкой",
"fileTree6": "При использовании <code class='fn__code'>((</code> или <code class='fn__code'>[[</code> путь для нового документа (например, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Открыть в текущей вкладке",

View file

@ -1179,8 +1179,8 @@
"md40": "Boş bırakılırsa varsayılan olarak <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code> kullanılır",
"md41": "Düzenli ifadeleri <code class='fn__code'>/</code> ile çevreleyebilirsin. Örneğin <code class='fn__code'>foo,/[0-9]+/</code> ifadesi foo ve sayıları hariç tutar",
"fileTree2": "Sekme değiştirildiğinde belge ağacı otomatik olarak geçerli belgeyi seçer",
"fileTree3": "Belge silerken onay isteme",
"fileTree4": "Etkin değilse her silmede onay kutusu çıkar",
"fileTree3": "Tek bir belgeyi silerken onay isteme",
"fileTree4": "Etkinleştirildiğinde tek bir belge silinirken onay kutusu görünmez",
"fileTree5": "Referansla oluşturulan belgelerin kayıt konumu",
"fileTree6": "<code class='fn__code'>((</code> veya <code class='fn__code'>[[</code> kullanıldığında yeni belgenin kayıt yolu (örnek: <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Mevcut sekmede aç",

View file

@ -1179,8 +1179,8 @@
"md40": "留空將恢復預設值 <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "支持使用 <code class='fn__code'>/</code> 包裹正則表達式,例如 <code class='fn__code'>foo,/[0-9]+/</code> 表示排除 foo 和數字",
"fileTree2": "在編輯器切換分頁時文檔樹會自動選中當前的文檔",
"fileTree3": "刪除文檔時不需要確認",
"fileTree4": "不啟用時每次刪除文檔都會彈出確認框",
"fileTree3": "刪除單個文檔時不需要確認",
"fileTree4": "啟用時刪除單個文檔不再彈出確認框",
"fileTree5": "塊引新建文檔存放位置",
"fileTree6": "使用 <code class='fn__code'>((</code> 或 <code class='fn__code'>[[</code> 時新建文檔的存放路徑(例如 <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>",
"fileTree7": "在當前分頁中打開",

View file

@ -1179,8 +1179,8 @@
"md40": "留空将恢复默认值 <code class='fn__code'>https://www.plantuml.com/plantuml/svg/~1</code>",
"md41": "支持使用 <code class='fn__code'>/</code> 包裹正则表达式,例如 <code class='fn__code'>foo,/[0-9]+/</code> 表示排除 foo 和数字",
"fileTree2": "在编辑器页签切换时文档树会自动选中当前的文档",
"fileTree3": "删除文档时不需要确认",
"fileTree4": "不启用时每次删除文档都会弹出确认框",
"fileTree3": "删除单个文档时不需要确认",
"fileTree4": "启用时删除单个文档不再弹出确认框",
"fileTree5": "块引新建文档存放位置",
"fileTree6": "使用 <code class='fn__code'>((</code> 或 <code class='fn__code'>[[</code> 时新建文档的存放路径(例如 <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>",
"fileTree7": "在当前页签中打开",

View file

@ -0,0 +1,45 @@
## Overview
This version improves some details.
## Changelogs
Below are the detailed changes in this version.
### Enhancement
* [Stop editor scrolling when dragging the block icon to the dock panel](https://github.com/siyuan-note/siyuan/issues/16618)
* [Re-render after chart width changes](https://github.com/siyuan-note/siyuan/issues/16633)
* [Improve datathe asset editing UI on mobile](https://github.com/siyuan-note/siyuan/issues/16670)
* [Improve flashcard interaction](https://github.com/siyuan-note/siyuan/issues/16701)
* [Supports configuring "Do not split screen when certain tabs are open"](https://github.com/siyuan-note/siyuan/issues/16833)
* [Fix focus issues on Windows after dialog interactions](https://github.com/siyuan-note/siyuan/pull/16862)
* [Supports setting titles for tables](https://github.com/siyuan-note/siyuan/issues/17002)
* [No longer automatically sets Pandoc parameters on the Microsoft Store version](https://github.com/siyuan-note/siyuan/issues/17044)
* [Improve importing .sy.zip](https://github.com/siyuan-note/siyuan/issues/17047)
* [Support copying file in the asset menu on Windows and macOS](https://github.com/siyuan-note/siyuan/pull/17049)
* [Improve br after merging cells](https://github.com/siyuan-note/siyuan/issues/17050)
* [The right-click menu of the table supports one-click insertion of multiple rows and columns](https://github.com/siyuan-note/siyuan/issues/17051)
* [Improve export block references to footnotes](https://github.com/siyuan-note/siyuan/issues/17059)
* [Improve HTML list clipping](https://github.com/siyuan-note/siyuan/issues/17062)
* [Improve HTML inlines nested blocks clipping](https://github.com/siyuan-note/siyuan/issues/17063)
* [Improve the display of RTL math, table, chart, and code blocks](https://github.com/siyuan-note/siyuan/issues/17069)
### Bugfix
* [Deleting an focus block in a floating window will cause a console error](https://github.com/siyuan-note/siyuan/issues/16729)
* [White screen or crashes after upgrade on HarmonyOS](https://github.com/siyuan-note/siyuan/issues/17043)
* [Assets cannot be exported on Windows](https://github.com/siyuan-note/siyuan/issues/17045)
* [No assets were exported when exporting Markdown](https://github.com/siyuan-note/siyuan/issues/17046)
* [Under certain circumstances, main.js throws an error upon startup](https://github.com/siyuan-note/siyuan/issues/17048)
* [The editor scrolls sluggishly on iPhone](https://github.com/siyuan-note/siyuan/issues/17052)
* [The keyboard pops up and then automatically retracts on some Android devices](https://github.com/siyuan-note/siyuan/issues/17058)
### Refactor
* [Upgrade to Electron v39.6.1](https://github.com/siyuan-note/siyuan/issues/17067)
## Download
* [B3log](https://b3log.org/siyuan/en/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,45 @@
## 概述
此版本改進了一些細節。
## 變更記錄
以下是此版本中的詳細變更。
### 改進功能
* [將區塊圖示拖曳到停靠面板時編輯器不再捲動](https://github.com/siyuan-note/siyuan/issues/16618)
* [圖表寬度變化後重新渲染](https://github.com/siyuan-note/siyuan/issues/16633)
* [改進行動端的資源檔案編輯介面](https://github.com/siyuan-note/siyuan/issues/16670)
* [改進閃卡互動](https://github.com/siyuan-note/siyuan/issues/16701)
* [支援設定「開啟頁籤時不分割畫面」](https://github.com/siyuan-note/siyuan/issues/16833)
* [修正對話方塊互動後 Windows 上的焦點問題](https://github.com/siyuan-note/siyuan/pull/16862)
* [支援為表格設定標題](https://github.com/siyuan-note/siyuan/issues/17002)
* [在微軟商店版本中不再自動設定 Pandoc 參數](https://github.com/siyuan-note/siyuan/issues/17044)
* [改進導入 .sy.zip](https://github.com/siyuan-note/siyuan/issues/17047)
* [在 Windows 和 macOS 的資源檔案選單中支援複製檔案](https://github.com/siyuan-note/siyuan/pull/17049)
* [合併儲存格後改進換行處理 br](https://github.com/siyuan-note/siyuan/issues/17050)
* [表格的右鍵選單支援一鍵插入多行多列](https://github.com/siyuan-note/siyuan/issues/17051)
* [改進將區塊引用匯出為腳註](https://github.com/siyuan-note/siyuan/issues/17059)
* [改進 HTML 清單剪藏](https://github.com/siyuan-note/siyuan/issues/17062)
* [改進 HTML 區塊級元素中嵌套行級元素的剪藏](https://github.com/siyuan-note/siyuan/issues/17063)
* [改善從右到左RTL方向的數學、表格、圖表和程式碼區塊的顯示](https://github.com/siyuan-note/siyuan/issues/17069)
### 修復缺陷
* [在浮動視窗中刪除焦點區塊會導致控制台錯誤](https://github.com/siyuan-note/siyuan/issues/16729)
* [鴻蒙系統升級後出現白屏或崩潰](https://github.com/siyuan-note/siyuan/issues/17043)
* [Windows 上無法匯出資源檔案](https://github.com/siyuan-note/siyuan/issues/17045)
* [匯出 Markdown 時未匯出任何資源檔案](https://github.com/siyuan-note/siyuan/issues/17046)
* [在某些情況下main.js 在啟動時拋出錯誤](https://github.com/siyuan-note/siyuan/issues/17048)
* [在 iPhone 上編輯器滾動緩慢](https://github.com/siyuan-note/siyuan/issues/17052)
* [在某些 Android 裝置上鍵盤彈出後會自動收起](https://github.com/siyuan-note/siyuan/issues/17058)
### 開發重構
* [升級至 Electron v39.6.1](https://github.com/siyuan-note/siyuan/issues/17067)
## 下載
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,45 @@
## 概述
此版本改进了一些细节。
## 变更记录
以下是此版本中的详细变更。
### 改进功能
* [将块图标拖动到停靠面板时编辑器不再滚动](https://github.com/siyuan-note/siyuan/issues/16618)
* [图表宽度变化后重新渲染](https://github.com/siyuan-note/siyuan/issues/16633)
* [改进移动端的资源文件编辑界面](https://github.com/siyuan-note/siyuan/issues/16670)
* [改进闪卡交互](https://github.com/siyuan-note/siyuan/issues/16701)
* [支持配置“打开页签时不分屏”](https://github.com/siyuan-note/siyuan/issues/16833)
* [修复对话框交互后 Windows 上的焦点问题](https://github.com/siyuan-note/siyuan/pull/16862)
* [支持为表格设置标题](https://github.com/siyuan-note/siyuan/issues/17002)
* [在微软商店版本中不再自动设置 Pandoc 参数](https://github.com/siyuan-note/siyuan/issues/17044)
* [改进导入 .sy.zip](https://github.com/siyuan-note/siyuan/issues/17047)
* [在 Windows 和 macOS 的资源文件菜单中支持复制文件](https://github.com/siyuan-note/siyuan/pull/17049)
* [合并单元格后改进换行处理 br](https://github.com/siyuan-note/siyuan/issues/17050)
* [表格的右键菜单支持一键插入多行多列](https://github.com/siyuan-note/siyuan/issues/17051)
* [改进将块引用导出为脚注](https://github.com/siyuan-note/siyuan/issues/17059)
* [改进 HTML 列表剪藏](https://github.com/siyuan-note/siyuan/issues/17062)
* [改进 HTML 块级元素中嵌套行级元素的剪藏](https://github.com/siyuan-note/siyuan/issues/17063)
* [改善从右到左RTL方向的数学、表格、图表和代码块的显示](https://github.com/siyuan-note/siyuan/issues/17069)
### 修复缺陷
* [在浮动窗口中删除焦点块会导致控制台错误](https://github.com/siyuan-note/siyuan/issues/16729)
* [在鸿蒙系统升级后出现白屏或崩溃](https://github.com/siyuan-note/siyuan/issues/17043)
* [Windows 上无法导出资源文件](https://github.com/siyuan-note/siyuan/issues/17045)
* [导出 Markdown 时未导出任何资源文件](https://github.com/siyuan-note/siyuan/issues/17046)
* [在某些情况下main.js 在启动时抛出错误](https://github.com/siyuan-note/siyuan/issues/17048)
* [在 iPhone 上编辑器滚动缓慢](https://github.com/siyuan-note/siyuan/issues/17052)
* [在某些 Android 设备上键盘弹出后会自动收起](https://github.com/siyuan-note/siyuan/issues/17058)
### 开发重构
* [升级至 Electron v39.6.1](https://github.com/siyuan-note/siyuan/issues/17067)
## 下载
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -6,7 +6,7 @@
"id": "20200924101225-k254i8g",
"title": "Content Block Type",
"type": "doc",
"updated": "20251230163004"
"updated": "20260222162325"
},
"Children": [
{
@ -1720,7 +1720,7 @@
"HeadingLevel": 3,
"Properties": {
"id": "20210104091538-38bsz5r",
"updated": "20251230163004"
"updated": "20260222162325"
},
"Children": [
{
@ -1949,6 +1949,20 @@
}
]
},
{
"ID": "20260222162028-4qi1oj4",
"Type": "NodeParagraph",
"Properties": {
"id": "20260222162028-4qi1oj4",
"updated": "20260222162325"
},
"Children": [
{
"Type": "NodeText",
"Data": "If the table contains merged cells or headers, it will be copied as HTML or exported as Markdown."
}
]
},
{
"ID": "20250330191912-6gqtj5b",
"Type": "NodeHeading",

View file

@ -6,7 +6,7 @@
"id": "20200905090211-2vixtlf",
"title": "内容块类型",
"type": "doc",
"updated": "20251230162824"
"updated": "20260222162357"
},
"Children": [
{
@ -1722,7 +1722,7 @@
"HeadingLevel": 3,
"Properties": {
"id": "20210104090624-erf17it",
"updated": "20251230162813"
"updated": "20260222162357"
},
"Children": [
{
@ -1951,6 +1951,20 @@
}
]
},
{
"ID": "20260222161831-2ijwkjg",
"Type": "NodeParagraph",
"Properties": {
"id": "20260222161831-2ijwkjg",
"updated": "20260222162357"
},
"Children": [
{
"Type": "NodeText",
"Data": "如果表格包含合并的单元格或标题,则会以 HTML 形式复制或导出为 Markdown。"
}
]
},
{
"ID": "20250330183345-n3cc5zy",
"Type": "NodeHeading",

View file

@ -6,7 +6,7 @@
"id": "20211226120147-ib6yy3i",
"title": "內容塊類型",
"type": "doc",
"updated": "20251230162901"
"updated": "20260222162331"
},
"Children": [
{
@ -1645,7 +1645,7 @@
"HeadingLevel": 3,
"Properties": {
"id": "20211226120227-fe8klj7",
"updated": "20251230162852"
"updated": "20260222162331"
},
"Children": [
{
@ -1872,6 +1872,20 @@
}
]
},
{
"ID": "20260222162012-6uewwvk",
"Type": "NodeParagraph",
"Properties": {
"id": "20260222162012-6uewwvk",
"updated": "20260222162331"
},
"Children": [
{
"Type": "NodeText",
"Data": "如果表格包含合併的儲存格或標題,則會以 HTML 形式複製或導出為 Markdown。"
}
]
},
{
"ID": "20250330183637-4bl34no",
"Type": "NodeHeading",

View file

@ -7,7 +7,7 @@
"id": "20240530101000-35bbvcx",
"title": "コンテンツブロックの種類",
"type": "doc",
"updated": "20251230162933"
"updated": "20260222162348"
},
"Children": [
{
@ -1745,7 +1745,7 @@
"Properties": {
"ID": "20240530101000-1iwbq48",
"id": "20240530101000-riwihza",
"updated": "20251230162927"
"updated": "20260222162348"
},
"Children": [
{
@ -1969,7 +1969,7 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20240818180047-hluqmta",
"updated": "20251230162927"
"updated": "20260222162348"
},
"Children": [
{
@ -1996,6 +1996,20 @@
}
]
},
{
"ID": "20260222161957-z5l9kwc",
"Type": "NodeParagraph",
"Properties": {
"id": "20260222161957-z5l9kwc",
"updated": "20260222161957"
},
"Children": [
{
"Type": "NodeText",
"Data": "表に結合されたセルまたは見出しが含まれている場合、MarkdownとしてではなくHTML形式でコピーまたはエクスポートされます。"
}
]
},
{
"ID": "20250330192102-eq3j7o6",
"Type": "NodeHeading",

View file

@ -14,7 +14,7 @@ import {hideElements} from "../../protyle/ui/hideElements";
import {softEnter} from "../../protyle/wysiwyg/enter";
import {isInAndroid, isInEdge, isInHarmony} from "../../protyle/util/compatibility";
import {tabCodeBlock} from "../../protyle/wysiwyg/codeBlock";
import {callMobileAppShowKeyboard, canInput} from "./mobileAppUtil";
import {callMobileAppShowKeyboard, canInput, keyboardLockUntil} from "./mobileAppUtil";
let renderKeyboardToolbarTimeout: number;
let showUtil = false;
@ -471,6 +471,12 @@ export const hideKeyboardToolbar = () => {
};
export const activeBlur = () => {
const now = Date.now();
if (now < keyboardLockUntil) {
console.warn(`activeBlur blocked by lock (remaining: ${keyboardLockUntil - now}ms)`);
return;
}
if (window.JSAndroid && window.JSAndroid.hideKeyboard) {
window.JSAndroid.hideKeyboard();
} else if (window.JSHarmony && window.JSHarmony.hideKeyboard) {

View file

@ -1,6 +1,12 @@
import {hasClosestByAttribute, hasClosestByClassName} from "../../protyle/util/hasClosest";
export let keyboardLockUntil = 0;
export const callMobileAppShowKeyboard = () => {
// 某些机型(比如鸿蒙 Pura X在弹起键盘后会立即触发 activeBlur 导致键盘被关闭,所以在主动唤起键盘时锁定一段时间,禁止 activeBlur 关闭键盘
// 每次主动唤起键盘时,锁定接下来的 200ms 不允许通过 activeBlur 关闭
keyboardLockUntil = Date.now() + 200;
if (window.JSAndroid && window.JSAndroid.showKeyboard) {
window.JSAndroid.showKeyboard();
} else if (window.JSHarmony && window.JSHarmony.showKeyboard) {

File diff suppressed because one or more lines are too long

View file

@ -54,6 +54,11 @@ func SetAssetHash(hash, path string) {
assetHashLock.Lock()
defer assetHashLock.Unlock()
if !strings.HasPrefix(path, "assets/") {
logging.LogErrorf("invalid asset path [%s]", path)
return
}
assetHashCache[hash] = &AssetHash{Hash: hash, Path: path}
assetPathHashCache[path] = &AssetHash{Hash: hash, Path: path}
}

View file

@ -8,7 +8,7 @@ require (
github.com/88250/epub v0.0.0-20230830085737-c19055cd1f48
github.com/88250/go-humanize v0.0.0-20240424102817-4f78fac47ea7
github.com/88250/gulu v1.2.3-0.20260124101918-98654a7ca98a
github.com/88250/lute v1.7.7-0.20260221053616-f34f36aaa036
github.com/88250/lute v1.7.7-0.20260222080930-ffac104465a7
github.com/88250/vitess-sqlparser v0.0.0-20210205111146-56a2ded2aba1
github.com/ClarkThan/ahocorasick v0.0.0-20231011042242-30d1ef1347f4
github.com/ConradIrwin/font v0.2.1

View file

@ -14,8 +14,8 @@ github.com/88250/go-sqlite3 v1.14.13-0.20231214121541-e7f54c482950 h1:Pa5hMiBceT
github.com/88250/go-sqlite3 v1.14.13-0.20231214121541-e7f54c482950/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/88250/gulu v1.2.3-0.20260124101918-98654a7ca98a h1:s86WMolaqommXG1k2vXg9Gf1iXvgtHSdeD0eeJTQVR8=
github.com/88250/gulu v1.2.3-0.20260124101918-98654a7ca98a/go.mod h1:D+Db16m0N7r9MLZCMcj1a0ZsEGQAxDZkadOn79Gh0vI=
github.com/88250/lute v1.7.7-0.20260221053616-f34f36aaa036 h1:G7LzY0ro7SvKkSP/Hc9k2PaYClknNk5O571bsNacI94=
github.com/88250/lute v1.7.7-0.20260221053616-f34f36aaa036/go.mod h1:WYyUw//5yVw9BJnoVjx7rI/3szsISxNZCYGOqTIrV0o=
github.com/88250/lute v1.7.7-0.20260222080930-ffac104465a7 h1:fQs85DUJTR+FolyQsgs3SkSmRQ0bmqziN+YSkCfllcI=
github.com/88250/lute v1.7.7-0.20260222080930-ffac104465a7/go.mod h1:WYyUw//5yVw9BJnoVjx7rI/3szsISxNZCYGOqTIrV0o=
github.com/88250/pdfcpu v0.3.14-0.20250424122812-f10e8d9d8d46 h1:Bq1JsDfVbHKUxNL/B2JXd8cC/1h6aFjrlXpGycnh0Hk=
github.com/88250/pdfcpu v0.3.14-0.20250424122812-f10e8d9d8d46/go.mod h1:fVfOloBzs2+W2VJCCbq60XIxc3yJHAZ0Gahv1oO0gyI=
github.com/88250/vitess-sqlparser v0.0.0-20210205111146-56a2ded2aba1 h1:48T899JQDwyyRu9yXHePYlPdHtpJfrJEUGBMH3SMBWY=

View file

@ -129,7 +129,7 @@ func HandleAssetsChangeEvent(assetAbsPath string) {
logging.LogErrorf("calc asset [%s] hash failed: %s", assetAbsPath, err)
} else {
p := strings.TrimPrefix(assetAbsPath, util.DataDir)
p = filepath.ToSlash(p)
p = strings.TrimPrefix(filepath.ToSlash(p), "/")
cache.SetAssetHash(hash, p)
}
}

View file

@ -104,7 +104,7 @@ func InsertLocalAssets(id string, assetAbsPaths []string, isUpload bool) (succMa
}
if "" != existAssetPath && !strings.HasPrefix(hash, "random_") {
succMap[baseName] = existAssetPath
succMap[baseName] = strings.TrimPrefix(existAssetPath, "/")
} else {
fName = util.AssetName(fName, ast.NewNodeID())
writePath := filepath.Join(assetsDirPath, fName)