diff --git a/README.md b/README.md index a999b715d2c..d1fbc60a07e 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,6 @@ * [Does it support data synchronization through a third-party sync disk?](#does-it-support-data-synchronization-through-a-third-party-sync-disk) * [Is SiYuan open source?](#is-siyuan-open-source) * [How to upgrade to a new version?](#how-to-upgrade-to-a-new-version) - * [Is there any note for deleting docs?](#is-there-any-note-for-deleting-docs) * [How can I just wrap and not start a new paragraph?](#how-can-i-just-wrap-and-not-start-a-new-paragraph) * [What if some blocks (such as paragraph blocks in list items) cannot find the block icon?](#what-if-some-blocks-such-as-paragraph-blocks-in-list-items-cannot-find-the-block-icon) * [How to share notes?](#how-to-share-notes) @@ -322,10 +321,6 @@ For more details, please refer to [Development Guide](https://github.com/siyuan- You can Check update in Settings - About - Current Version, or pay attention to [Official Download](https://b3log.org/siyuan/en/download.html) or [GitHub Releases](https://github.com/siyuan-note/siyuan/releases) to get the new version. -### Is there any note for deleting docs? - -After deletion, the doc will not appear in the operating system's recycle bin, but will be deleted directly. When deleted, SiYuan will generate data history. - ### How can I just wrap and not start a new paragraph? Please use Shift+Enter. diff --git a/README_zh_CN.md b/README_zh_CN.md index a99fd4e9906..29e4619d280 100644 --- a/README_zh_CN.md +++ b/README_zh_CN.md @@ -50,7 +50,6 @@ * [支持通过第三方同步盘进行数据同步吗?](#支持通过第三方同步盘进行数据同步吗) * [思源是开源的吗?](#思源是开源的吗) * [如何升级到新版本?](#如何升级到新版本) - * [删除文档有什么注意事项吗?](#删除文档有什么注意事项吗) * [如何才能只换行不新起段落?](#如何才能只换行不新起段落) * [有的块(比如在列表项中的段落块)找不到块标怎么办?](#有的块比如在列表项中的段落块找不到块标怎么办) * [如何分享笔记?](#如何分享笔记) @@ -327,10 +326,6 @@ Publish parameters: --accessAuthCode=******(访问授权码) **注意**:切勿将工作空间放置于安装目录下,因为更新版本会清空安装目录下的所有文件 -### 删除文档有什么注意事项吗? - -文档被删除后不会出现在操作系统回收站中,而是直接删除,删除时思源会生成数据历史。 - ### 如何才能只换行不新起段落? 请使用 Shift+Enter。 diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index f3882ae6592..b54887fcf13 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1,4 +1,8 @@ { + "copyMirror": "Copy mirror", + "duplicateMirror": "Duplicate mirror", + "duplicateCompletely": "Duplicate completely", + "isMsStoreVerTip": "The currently used version is the Microsoft Store version, please check for updates in the Microsoft Store", "andSubFile": "Are you sure you want to delete ${x} and its ${y} subdocs?", "confirmDeleteTip": "Are you sure to delete ${x}?", "rollbackTip": "After deletion, it can be restored in [Data History], retained ${x} days according to [Settings - Editor - History Retention Days]", @@ -1484,7 +1488,7 @@ "212": "There are some defects in the current version of cloud data sync, please upgrade to the latest version. Sorry for the inconvenience", "213": "Cloud verification failed, please try to upgrade to the latest version and log in again before syncing", "214": "This function needs to be signed in and purchasing [PRO Features] or [Subscription] to use", - "215": "TODO", + "215": "Please refer to the desktop user guide", "216": "Rebuilding asset content data index, please wait...", "217": "[%d/%d] Created asset content data index", "218": "Too many snapshots of the data repo have been detected, which slows down program startup and data sync. Please consider executing [Settings - About - Data repo purge]", @@ -1509,13 +1513,14 @@ "237": "[%d] marketplace packages have all been updated successfully", "238": "Marketplace package [%s] update failed, please try again later", "239": "Related operations are being processed, please try again later", - "240": "Drag heading under container blocks in the doc is not supported", + "240": "The current drag-and-drop heading is located in the container block and the drag-and-drop operation cannot be performed", "241": "Drag to its subheading is not supported", "242": "The binding block already exists in the current database", "243": "Only list the first [%d] tags (including subtags), if you need to adjust, please modify [Settings - Doc Tree - Maximum number to list]", "244": "It did not exit normally after the last use. It is recommended to execute [Doc Tree - Rebuild Index]. In the future, please exit the program completely before shutting down the computer", "245": "It did not exit normally after the last use. It is recommended to execute [Doc Tree - Rebuild Index]. In the future, please use [Exit Application] in the right panel to exit normally", "246": "The document title cannot contain / and has been replaced with _", - "247": "File [%s] is larger than the maximum limit [%s], and has been ignored for uploading to the cloud" + "247": "File [%s] is larger than the maximum limit [%s], and has been ignored for uploading to the cloud", + "248": "The target heading is located in the container block and cannot be used as a drop point" } } diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 50bf6629884..bf6df0e66f1 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1,4 +1,8 @@ { + "copyMirror": "Copiar espejo", + "duplicateMirror": "Espejo duplicado", + "duplicateCompletely": "Duplicar completamente", + "isMsStoreVerTip": "La versión utilizada actualmente es la versión de Microsoft Store, verifique si hay actualizaciones en Microsoft Store", "andSubFile": "¿Está seguro de que desea eliminar ${x} y sus subdocumentos ${y}?", "confirmDeleteTip": "¿Está seguro de eliminar ${x}?", "rollbackTip": "Después de la eliminación, se puede restaurar en [Historial de datos] y se conserva ${x} días según [Configuración - Editor - Días de retención del historial]", @@ -1484,7 +1488,7 @@ "212": "Hay algunos defectos en la versi\u00f3n actual de sincronizaci\u00f3n de datos en la nube, actualice a la versi\u00f3n m\u00e1s reciente. Disculpe las molestias", "213": "La verificaci\u00f3n en la nube fall\u00f3, intente actualizar a la versi\u00f3n m\u00e1s reciente e inicie sesi\u00f3n de nuevo antes de sincronizar", "214": "Esta función requiere iniciar sesión en su cuenta y comprar [PRO Features] o [Subscription] antes de poder usarla.", - "215": "TODO", + "215": "Consulte la guía del usuario de escritorio.", "216": "Reconstruyendo el índice de datos de contenido de recursos, espere...", "217": "[%d/%d] Índice de datos de contenido de activos creado", "218": "Se han detectado demasiadas instantáneas del repositorio de datos, lo que ralentiza el inicio del programa y la sincronización de datos. Considere ejecutar [Configuración - Acerca de - Purga del repositorio de datos]", @@ -1509,13 +1513,14 @@ "237": "[%d] todos los paquetes del mercado se han actualizado correctamente", "238": "Error en la actualización del paquete Marketplace [%s], inténtalo de nuevo más tarde", "239": "Las operaciones relacionadas se están procesando, inténtalo de nuevo más tarde", - "240": "No se admite arrastrar encabezado debajo de los bloques contenedores en el documento", + "240": "El encabezado actual de arrastrar y soltar está ubicado en el bloque contenedor y la operación de arrastrar y soltar no se puede realizar", "241": "No se admite arrastrar a su subtítulo", "242": "El bloque de enlace ya existe en la base de datos actual", "243": "Enumere solo las primeras [%d] etiquetas (incluidas las subetiquetas), modifique [Configuración - Árbol de documentos - Número máximo a listar]", "244": "No salió normalmente después del último uso. Se recomienda ejecutar [Árbol de documentos - Reconstruir índice]. En el futuro, salga del programa por completo antes de apagar la computadora", "245": "No salió normalmente después del último uso. Se recomienda ejecutar [Árbol de documentos - Reconstruir índice]. En el futuro, utilice [Salir de la aplicación] en el panel derecho para salir normalmente", "246": "El título del documento no puede contener / y ha sido reemplazado por _", - "247": "El archivo [%s] es más grande que el límite máximo [%s] y se ha ignorado para cargarlo en la nube" + "247": "El archivo [%s] es más grande que el límite máximo [%s] y se ha ignorado para cargarlo en la nube", + "248": "El rumbo de destino está ubicado en el bloque contenedor y no puede usarse como punto de entrega" } } diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 1a128070080..68dec366ad1 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1,4 +1,8 @@ { + "copyMirror": "Copier le miroir", + "duplicateMirror": "Miroir en double", + "duplicateCompletely": "Dupliquer complètement", + "isMsStoreVerTip": "La version actuellement utilisée est la version du Microsoft Store, veuillez vérifier les mises à jour dans le Microsoft Store", "andSubFile": "Êtes-vous sûr de vouloir supprimer ${x} et ses sous-documents ${y} ?", "confirmDeleteTip": "Êtes-vous sûr de supprimer ${x} ?", "rollbackTip": "Après la suppression, il peut être restauré dans [Historique des données], conservé ${x} jours selon [Paramètres - Éditeur - Jours de rétention de l'historique]", @@ -1484,7 +1488,7 @@ "212": "Il y a quelques défauts dans la version actuelle de la synchronisation des données cloud, veuillez mettre à niveau vers la dernière version. Désolé pour le désagrément", "213": "Échec de la vérification cloud, veuillez essayer de mettre à niveau vers la dernière version et de vous reconnecter avant de synchroniser", "214": "Cette fonction nécessite de vous connecter à votre compte et d'acheter des [PRO Features] ou un [Subscription] avant de pouvoir l'utiliser.", - "215": "TODO", + "215": "Veuillez vous référer au guide de l'utilisateur du bureau", "216": "Reconstruction de l'index des données du contenu des ressources, veuillez patienter...", "217": "[%d/%d] Création d'un index de données de contenu d'actif", "218": "Trop d'instantanés du référentiel de données ont été détectés, ce qui ralentit le démarrage du programme et la synchronisation des données. Veuillez envisager d'exécuter [Paramètres - À propos - Purge du référentiel de données]", @@ -1509,13 +1513,14 @@ "237": "[%d] packages Marketplace ont tous été mis à jour avec succès", "238": "La mise à jour du package Marketplace [%s] a échoué, veuillez réessayer plus tard", "239": "Les opérations associées sont en cours de traitement, veuillez réessayer plus tard", - "240": "Le déplacement du titre sous les blocs conteneurs dans la doc n'est pas pris en charge", + "240": "L'en-tête du glisser-déposer actuel se trouve dans le bloc conteneur et l'opération de glisser-déposer ne peut pas être effectuée", "241": "Le glisser vers son sous-titre n'est pas pris en charge", "242": "Le bloc de liaison existe déjà dans la base de données actuelle", "243": "Répertorier uniquement les [%d] premières balises (y compris les sous-balises). veuillez modifier [Paramètres - Arbre des documents - Nombre maximum de documents à lister].", "244": "Il ne s'est pas terminé normalement après la dernière utilisation. Il est recommandé d'exécuter [Doc Tree - Reconstruire l'index]. À l'avenir, veuillez quitter complètement le programme avant d'éteindre l'ordinateur", "245": "Il ne s'est pas terminé normalement après la dernière utilisation. Il est recommandé d'exécuter [Doc Tree - Reconstruire l'index]. À l'avenir, veuillez utiliser [Quitter l'application] dans le panneau de droite pour quitter normalement", "246": "Le titre du document ne peut pas contenir / et a été remplacé par _", - "247": "Le fichier [%s] est plus grand que la limite maximale [%s] et a été ignoré pour le téléchargement vers le cloud" + "247": "Le fichier [%s] est plus grand que la limite maximale [%s] et a été ignoré pour le téléchargement vers le cloud", + "248": "Le cap cible est situé dans le bloc conteneur et ne peut pas être utilisé comme point de dépôt" } } diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 591467cc1c2..47a280ac534 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -1,4 +1,8 @@ { + "copyMirror": "ミラーをコピー", + "duplicateMirror": "ミラーの複製", + "duplicateCompletely": "完全に複製します", + "isMsStoreVerTip": "現在使用されているバージョンは Microsoft Store バージョンです。Microsoft Store で更新プログラムを確認してください", "andSubFile": "${x} とそのサブドキュメント ${y} を削除してもよろしいですか?", "confirmDeleteTip": "${x} を削除してもよろしいですか?", "rollbackTip": "削除後は [データ履歴] で復元でき、${x} は保持されます。 [設定 - エディター - 履歴の保存日数] による日数", @@ -1484,7 +1488,7 @@ "212": "現在のバージョンのクラウドデータ同期にはいくつかの問題があります。最新バージョンにアップグレードしてください", "213": "クラウド認証に失敗しました。最新バージョンにアップグレードしてから再度ログインして同期を試みてください", "214": "この機能を使用するには、ログインして [PRO 機能] または [サブスクリプション] を購入する必要があります", - "215": "TODO", + "215": "デスクトップ ユーザー ガイドを参照してください。", "216": "アセットコンテンツデータインデックスを再構築しています。お待ちください...", "217": "[%d/%d] アセットコンテンツデータインデックスを作成しました", "218": "検出されたデータリポジトリのスナップショットが多すぎるため、プログラムの起動とデータ同期が遅くなります。[設定] - [情報] - [データリポジトリの消去] の実行を検討してください", @@ -1509,13 +1513,14 @@ "237": "[%d] 個のマーケットプレイスパッケージがすべて正常に更新されました", "238": "マーケットプレイスパッケージ [%s] の更新に失敗しました。後でまた試してください", "239": "関連する操作が処理中です。後でまた試してください", - "240": "コンテナブロックの下の見出しのドラッグはサポートされていません", + "240": "現在のドラッグ アンド ドロップ見出しはコンテナ ブロック内にあるため、ドラッグ アンド ドロップ操作を実行できません", "241": "小見出しへのドラッグはサポートされていません", "242": "現在のデータベースにはすでにバインディングブロックが存在します", "243": "最初の [%d] 個のタグ (サブタグを含む) のみを表示します。調整が必要な場合は [設定] - [ドキュメントツリー] - [リストする最大数] を変更してください", "244": "前回の使用後に正常に終了しませんでした。[ドキュメントツリー] - [インデックスの再構築] を実行することをお勧めします。今後はコンピュータをシャットダウンする前にプログラムを完全に終了してください", "245": "前回の使用後に正常に終了しませんでした。[ドキュメントツリー] - [インデックスの再構築] を実行することをお勧めします。今後は右パネルの [アプリケーションの終了] を使用して終了してください", "246": "ドキュメントのタイトルに / を含めることはできません。_ に置き換えられました", - "247": "ファイル [%s] は最大制限 [%s] を超えているため、クラウドへのアップロードは無視されました。" + "247": "ファイル [%s] は最大制限 [%s] を超えているため、クラウドへのアップロードは無視されました", + "248": "ターゲット見出しはコンテナ ブロック内にあるため、ドロップ ポイントとして使用できません" } } diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 54e175df6e1..24c677a9f98 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1,4 +1,8 @@ { + "copyMirror": "複製鏡像", + "duplicateMirror": "複製為鏡像副本", + "duplicateCompletely": "複製為完整副本", + "isMsStoreVerTip": "目前使用的版本為 Microsoft Store 版本,請在 Microsoft Store 中檢查更新", "andSubFile": "決定刪除 ${x} 及其 ${y} 個子文件嗎?", "confirmDeleteTip": "確定刪除${x} 嗎?", "rollbackTip": "刪除後可在 [資料歷史] 中恢復,按 [設定 - 編輯器 - 歷史保留天數] 保留 ${x} 天", @@ -1404,7 +1408,7 @@ "132": "當前搜索方式下不支持替換操作,請使用 [關鍵字] 或 [正則表達式] 搜索方式", "133": "正在下載更新安裝檔 [%s]", "134": "為避免剛恢復的資料被同步覆蓋,資料據同步功能已被自動暫停", - "135": "資料倉儲金鑰不正確,無法解密資料。請參考 使用者指南-常見問題-遺失密鑰 步驟處理", + "135": "資料倉儲金鑰不正確,無法解密資料。請參考 用戶指南-常見問題-遺失密鑰 步驟處理", "136": "初始化資料倉庫密鑰...", "137": "初始化資料倉庫密鑰失敗:%s", "138": "資料倉庫密鑰設置完畢", @@ -1484,7 +1488,7 @@ "212": "當前版本雲端數據同步存在一些缺陷,請升級到最新版,帶來不便,敬請諒解", "213": "雲端校驗失敗,請嘗試升級到最新版並重新登錄後再進行同步", "214": "此功能需要登入帳號併購買 [功能特性] 或 [年付訂閱] 後才能使用", - "215": "TODO", + "215": "請參考桌面端用戶指南", "216": "正在重建資源文件內容數據索引,請稍等...", "217": "[%d/%d] 已經創建資源文件內容數據索引", "218": "偵測到資料倉儲快照過多,降低了程式啟動和資料同步速度,請考慮執行 [設定 - 關於 - 資料倉儲清理]", @@ -1509,13 +1513,14 @@ "237": "[%d] 個市集包已經全部更新成功", "238": "市集包 [%s] 更新失敗,請稍後再試", "239": "相關操作正在處理中,請稍後再試", - "240": "不支援拖曳文件中容器區塊下的標題", + "240": "目前拖曳標題位於容器區塊中,無法進行拖曳操作", "241": "不支持拖曳為自己的子標題", "242": "目前資料庫中已經存在該綁定區塊", "243": "僅列出前 [%d] 個標籤(含子標籤),如需調整請修改 [設置 - 文檔樹 - 最大列出數量]", "244": "上次使用後未正常退出,建議執行一次 [文檔樹 - 重建索引]。以後請完整退出程式後再關閉電腦", "245": "上次使用後未正常退出,建議執行一次 [文檔樹 - 重建索引]。以後請使用右側欄面板中的 [退出應用] 進行正常退出", "246": "文件標題不能包含 /,已經使用 _ 替換", - "247": "檔案 [%s] 大於最大限制 [%s],已忽略上傳至社群圖床" + "247": "檔案 [%s] 大於最大限制 [%s],已忽略上傳至社群圖床", + "248": "目標標題位於容器區塊中,無法作為放置點" } } diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index fcfbc3e85c1..deb95b564c2 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1,4 +1,8 @@ { + "copyMirror": "复制镜像", + "duplicateMirror": "复制为镜像副本", + "duplicateCompletely": "复制为完整副本", + "isMsStoreVerTip": "当前使用的版本为微软商店版,请在微软商店中检查更新", "andSubFile": "确定删除 ${x} 及其 ${y} 个子文档吗?", "confirmDeleteTip": "确定删除 ${x} 吗?", "rollbackTip": "删除后可在 [数据历史] 中恢复,按 [设置 - 编辑器 - 历史保留天数] 保留 ${x} 天", @@ -1484,7 +1488,7 @@ "212": "当前版本云端数据同步存在一些缺陷,请升级到最新版,带来不便,敬请谅解", "213": "云端校验失败,请尝试升级到最新版并重新登录后再进行同步", "214": "该功能需要登录账号并购买 [功能特性] 或者 [年付订阅] 后才能使用", - "215": "TODO", + "215": "请参考桌面端用户指南", "216": "正在重建资源文件内容数据索引,请稍等...", "217": "[%d/%d] 已经创建资源文件内容数据索引", "218": "检测到数据仓库快照过多,降低了程序启动和数据同步速度,请考虑执行 [设置 - 关于 - 数据仓库清理]", @@ -1509,13 +1513,14 @@ "237": "[%d] 个集市包已经全部更新成功", "238": "集市包 [%s] 更新失败,请稍后再试", "239": "相关操作正在处理中,请稍后再试", - "240": "不支持拖拽文档中容器块下的标题", + "240": "当前拖拽标题位于容器块中,无法进行拖拽操作", "241": "不支持拖拽为自己的子标题", "242": "当前数据库中已经存在该绑定块", "243": "仅列出前 [%d] 个标签(含子标签),如需调整请修改 [设置 - 文档树 - 最大列出数量]", "244": "上次使用后未正常退出,建议执行一次 [文档树 - 重建索引]。以后请完整退出程序后再关闭电脑", "245": "上次使用后未正常退出,建议执行一次 [文档树 - 重建索引]。以后请使用右侧栏面板中的 [退出应用] 进行正常退出", "246": "文档标题不能包含 /,已经使用 _ 替换", - "247": "文件 [%s] 大于最大限制 [%s],已忽略上传到社区图床" + "247": "文件 [%s] 大于最大限制 [%s],已忽略上传到社区图床", + "248": "目标标题位于容器块中,无法作为放置点" } } diff --git a/app/appx/AppxManifest.xml b/app/appx/AppxManifest.xml index e510fbddc89..1799d8e505f 100644 --- a/app/appx/AppxManifest.xml +++ b/app/appx/AppxManifest.xml @@ -9,7 +9,7 @@ + Version="3.0.15.0"/> SiYuan 云南链滴科技有限公司 diff --git a/app/changelogs/v3.0.15/v3.0.15.md b/app/changelogs/v3.0.15/v3.0.15.md new file mode 100644 index 00000000000..529de73a87d --- /dev/null +++ b/app/changelogs/v3.0.15/v3.0.15.md @@ -0,0 +1,72 @@ +## Overview + +This version improves web page clipping, fixes some bugs and improves a lot of details. + +## Changelogs + +Below are the detailed changes in this version. + +### Enhancement + +* [The browser extension supports Zhihu formula clipping](https://github.com/siyuan-note/siyuan/issues/5599) +* [The browser extension supports CSDN formula clipping](https://github.com/siyuan-note/siyuan/issues/5624) +* [Add internal commands to command palette](https://github.com/siyuan-note/siyuan/issues/11133) +* [If a file with the same name exists during export PDF/Docx, it will be automatically renamed](https://github.com/siyuan-note/siyuan/issues/11357) +* [Improve text for `Press back again to desktop` on Android](https://github.com/siyuan-note/siyuan/issues/11383) +* [Improve database table view asset column](https://github.com/siyuan-note/siyuan/issues/11389) +* [Prompt for recovery method and retention days settings when deleting documents](https://github.com/siyuan-note/siyuan/issues/11400) +* [Improve HTML code element clipping](https://github.com/siyuan-note/siyuan/issues/11401) +* [Support for copying block text in read-only database table views](https://github.com/siyuan-note/siyuan/issues/11403) +* [Code block word break uses break-word](https://github.com/siyuan-note/siyuan/issues/11408) +* [Added floating tip for database `Add` button](https://github.com/siyuan-note/siyuan/issues/11411) +* [Support markdown configuration on the mobile](https://github.com/siyuan-note/siyuan/issues/11414) +* [Downgrades the glibc 2.31 version to solve booting failure on Linux](https://github.com/siyuan-note/siyuan/issues/11417) +* [Search preview supports HTML tags in inline code content](https://github.com/siyuan-note/siyuan/issues/11418) +* [Improve i18n text of export preview tooltips and infos](https://github.com/siyuan-note/siyuan/pull/11420) +* [Information such as database titles can no longer be modified in read-only mode](https://github.com/siyuan-note/siyuan/issues/11424) +* [Improve HTML table element clipping](https://github.com/siyuan-note/siyuan/issues/11425) +* [Improve inline memo export](https://github.com/siyuan-note/siyuan/issues/11426) +* [Improve HTML code block clipping](https://github.com/siyuan-note/siyuan/issues/11427) +* [Attribute Panel - Database attributes custom sorting](https://github.com/siyuan-note/siyuan/issues/11428) +* [Improve main window position restoration after boot on the Desktop](https://github.com/siyuan-note/siyuan/issues/11437) +* [Improve HTML h element clipping](https://github.com/siyuan-note/siyuan/issues/11445) +* [Support KaTex macro parameters](https://github.com/siyuan-note/siyuan/issues/11448) +* [Improve attribute panel text input box](https://github.com/siyuan-note/siyuan/issues/11454) +* [Use real theme style value replace var in preview mode](https://github.com/siyuan-note/siyuan/issues/11458) +* [Improve read-only mode](https://github.com/siyuan-note/siyuan/issues/11459) +* [The database asset field supports parsing pasted links](https://github.com/siyuan-note/siyuan/issues/11463) +* [Display link if database asset field title is empty](https://github.com/siyuan-note/siyuan/issues/11468) +* [The database asset field supports filling in only the link title](https://github.com/siyuan-note/siyuan/issues/11469) +* [Improve block ref text copying](https://github.com/siyuan-note/siyuan/issues/11473) +* [Change the sequence number of the ordered list item after duplicating it](https://github.com/siyuan-note/siyuan/issues/11475) +* [The browser extension removes the ending `/` in URL](https://github.com/siyuan-note/siyuan/issues/11478) +* [Improve workspace startup stability](https://github.com/siyuan-note/siyuan/issues/11483) + +### Bugfix + +* [When the `"` character exists in the hyperlink element address, the paste cannot be parsed normally](https://github.com/siyuan-note/siyuan/issues/11385) +* [Unable to copy HTML block properly](https://github.com/siyuan-note/siyuan/issues/11391) +* [Database template field function `queryBlocks` not defined](https://github.com/siyuan-note/siyuan/issues/11397) +* [Attributes cannot be modified after the database table is queried in pages](https://github.com/siyuan-note/siyuan/issues/11407) +* [The selection options are inconsistent after pasting data into the database](https://github.com/siyuan-note/siyuan/issues/11409) +* [Right-click the database table view column to pop up the exception link menu](https://github.com/siyuan-note/siyuan/issues/11431) +* [After selecting the doc in the doc tree, `Ctrl+D` will not duplicate it](https://github.com/siyuan-note/siyuan/issues/11432) +* [Regular replacement text fails](https://github.com/siyuan-note/siyuan/issues/11444) +* [Negative numbers are treated as positive numbers when calculating template field values](https://github.com/siyuan-note/siyuan/issues/11446) +* [Documents exported in the doc tree can no longer be imported](https://github.com/siyuan-note/siyuan/issues/11447) +* [Code block causes abnormal state](https://github.com/siyuan-note/siyuan/issues/11451) +* [Rendering exception in export preview mode when custom attribute value has line breaks](https://github.com/siyuan-note/siyuan/issues/11453) +* [Some emoji exceptions in the document title](https://github.com/siyuan-note/siyuan/issues/11480) + +### Document + +* [Improve user guide shortcuts chapter](https://github.com/siyuan-note/siyuan/pull/11435) + +### Development + +* [Add an internal kernel API `/api/block/prependDailyNoteBlock`](https://github.com/siyuan-note/siyuan/issues/11442) + +## Download + +* [B3log](https://b3log.org/siyuan/en/download.html) +* [GitHub](https://github.com/siyuan-note/siyuan/releases) diff --git a/app/changelogs/v3.0.15/v3.0.15_zh_CHT.md b/app/changelogs/v3.0.15/v3.0.15_zh_CHT.md new file mode 100644 index 00000000000..58027ef07c0 --- /dev/null +++ b/app/changelogs/v3.0.15/v3.0.15_zh_CHT.md @@ -0,0 +1,72 @@ +## 概述 + +這個版本改進了網頁剪藏、修復了一些缺陷並改進了許多細節。 + +## 變更記錄 + +以下是此版本中的詳細變更。 + +### 改進功能 + +* [瀏覽器擴充功能支援剪藏知乎公式](https://github.com/siyuan-note/siyuan/issues/5599) +* [瀏覽器擴充功能支援剪藏 CSDN 公式](https://github.com/siyuan-note/siyuan/issues/5624) +* [在指令面板上新增內部指令](https://github.com/siyuan-note/siyuan/issues/11133) +* [如果在匯出 PDF/Docx 期間有同名文件,將自動重新命名](https://github.com/siyuan-note/siyuan/issues/11357) +* [改進 Android 上的 `再按一次返回桌面` 文案](https://github.com/siyuan-note/siyuan/issues/11383) +* [改進資料庫表格資源欄位](https://github.com/siyuan-note/siyuan/issues/11389) +* [刪除文件時提示恢復方法與保留天數設定](https://github.com/siyuan-note/siyuan/issues/11400) +* [改進 HTML 程式碼元素剪藏](https://github.com/siyuan-note/siyuan/issues/11401) +* [支援在唯讀資料庫表格中複製區塊文字](https://github.com/siyuan-note/siyuan/issues/11403) +* [程式碼區塊換行使用 break-word](https://github.com/siyuan-note/siyuan/issues/11408) +* [為資料庫 `新增` 按鈕新增浮動提示](https://github.com/siyuan-note/siyuan/issues/11411) +* [在行動裝置上支援 markdown 設定](https://github.com/siyuan-note/siyuan/issues/11414) +* [降級 glibc 2.31 版本以解決 Linux 上的啟動失敗](https://github.com/siyuan-note/siyuan/issues/11417) +* [搜尋預覽支援行級程式碼內容中的 HTML 標籤](https://github.com/siyuan-note/siyuan/issues/11418) +* [改進匯出預覽工具提示和資訊的 i18n 文案](https://github.com/siyuan-note/siyuan/pull/11420) +* [在唯讀模式下,諸如資料庫標題之類的資訊不再可以修改](https://github.com/siyuan-note/siyuan/issues/11424) +* [改進 HTML 表格元素剪藏](https://github.com/siyuan-note/siyuan/issues/11425) +* [改為級備註元素導出](https://github.com/siyuan-note/siyuan/issues/11426) +* [改進 HTML 程式碼區塊剪藏](https://github.com/siyuan-note/siyuan/issues/11427) +* [屬性面板 - 資料庫屬性自訂排序](https://github.com/siyuan-note/siyuan/issues/11428) +* [改進桌面上啟動後主視窗位置的恢復](https://github.com/siyuan-note/siyuan/issues/11437) +* [改進 HTML h 元素剪藏](https://github.com/siyuan-note/siyuan/issues/11445) +* [支援 KaTex 巨集參數](https://github.com/siyuan-note/siyuan/issues/11448) +* [改進屬性面板文字輸入框](https://github.com/siyuan-note/siyuan/issues/11454) +* [在預覽模式下使用真實主題樣式值替換 var](https://github.com/siyuan-note/siyuan/issues/11458) +* [改進唯讀模式](https://github.com/siyuan-note/siyuan/issues/11459) +* [資料庫資源欄位支援解析貼上的連結](https://github.com/siyuan-note/siyuan/issues/11463) +* [如果資料庫資源欄位標題為空,則顯示連結](https://github.com/siyuan-note/siyuan/issues/11468) +* [資料庫資源欄位支援僅填入連結標題](https://github.com/siyuan-note/siyuan/issues/11469) +* [改進區塊引用文字複製](https://github.com/siyuan-note/siyuan/issues/11473) +* [複製後更改有序清單項目的序號](https://github.com/siyuan-note/siyuan/issues/11475) +* [瀏覽器擴充功能刪除 URL 中的結束 `/`](https://github.com/siyuan-note/siyuan/issues/11478) +* [改善工作區啟動穩定性](https://github.com/siyuan-note/siyuan/issues/11483) + +### 修復缺陷 + +* [當超連結元素位址中存在 `"` 字元時,貼上無法正常解析](https://github.com/siyuan-note/siyuan/issues/11385) +* [無法正確複製 HTML 區塊](https://github.com/siyuan-note/siyuan/issues/11391) +* [資料庫範本欄位函數 `queryBlocks` 未定義](https://github.com/siyuan-note/siyuan/issues/11397) +* [在頁面中查詢資料庫表格後,無法修改屬性](https://github.com/siyuan-note/siyuan/issues/11407) +* [貼資料至資料庫後,選擇選項不一致](https://github.com/siyuan-note/siyuan/issues/11409) +* [右鍵點選資料庫表格列彈出異常連結選單](https://github.com/siyuan-note/siyuan/issues/11431) +* [在文件樹中選擇文件後,`Ctrl+D` 將不會複製它](https://github.com/siyuan-note/siyuan/issues/11432) +* [正規替換文字失敗](https://github.com/siyuan-note/siyuan/issues/11444) +* [計算模板欄位值時,負數視為正數](https://github.com/siyuan-note/siyuan/issues/11446) +* [在文件樹中匯出的文件無法再次匯入](https://github.com/siyuan-note/siyuan/issues/11447) +* [程式碼區塊導致狀態異常](https://github.com/siyuan-note/siyuan/issues/11451) +* [當自訂屬性值有換行時,匯出預覽模式中的渲染異常](https://github.com/siyuan-note/siyuan/issues/11453) +* [文件標題中的某些 emoji 異常](https://github.com/siyuan-note/siyuan/issues/11480) + +### 改進文檔 + +* [改進使用者指南快捷鍵章節](https://github.com/siyuan-note/siyuan/pull/11435) + +### 開發者 + +* [新增一個內部核心 API `/api/block/prependDailyNoteBlock`](https://github.com/siyuan-note/siyuan/issues/11442) + +## 下載 + +* [B3log](https://b3log.org/siyuan/download.html) +* [GitHub](https://github.com/siyuan-note/siyuan/releases) diff --git a/app/changelogs/v3.0.15/v3.0.15_zh_CN.md b/app/changelogs/v3.0.15/v3.0.15_zh_CN.md new file mode 100644 index 00000000000..055634cd6a6 --- /dev/null +++ b/app/changelogs/v3.0.15/v3.0.15_zh_CN.md @@ -0,0 +1,72 @@ +## 概述 + +该版本改进了网页剪藏、修复了一些缺陷并改进了很多细节。 + +## 变更记录 + +以下是此版本中的详细变更。 + +### 改进功能 + +* [浏览器扩展支持剪藏知乎公式](https://github.com/siyuan-note/siyuan/issues/5599) +* [浏览器扩展支持剪藏 CSDN 公式](https://github.com/siyuan-note/siyuan/issues/5624) +* [向命令面板添加内部命令](https://github.com/siyuan-note/siyuan/issues/11133) +* [如果在导出 PDF/Docx 期间存在同名文件,将自动重命名](https://github.com/siyuan-note/siyuan/issues/11357) +* [改进 Android 上的 `再按一次返回桌面` 文案](https://github.com/siyuan-note/siyuan/issues/11383) +* [改进数据库表格资源字段](https://github.com/siyuan-note/siyuan/issues/11389) +* [删除文档时提示恢复方法和保留天数设置](https://github.com/siyuan-note/siyuan/issues/11400) +* [改进 HTML 代码元素剪藏](https://github.com/siyuan-note/siyuan/issues/11401) +* [支持在只读数据库表格中复制块文本](https://github.com/siyuan-note/siyuan/issues/11403) +* [代码块换行使用 break-word](https://github.com/siyuan-note/siyuan/issues/11408) +* [为数据库 `添加` 按钮添加浮动提示](https://github.com/siyuan-note/siyuan/issues/11411) +* [在移动设备上支持 markdown 配置](https://github.com/siyuan-note/siyuan/issues/11414) +* [降级 glibc 2.31 版本以解决 Linux 上的启动失败](https://github.com/siyuan-note/siyuan/issues/11417) +* [搜索预览支持行级代码内容中的 HTML 标签](https://github.com/siyuan-note/siyuan/issues/11418) +* [改进导出预览工具提示和信息的 i18n 文案](https://github.com/siyuan-note/siyuan/pull/11420) +* [在只读模式下,诸如数据库标题之类的信息不再可以修改](https://github.com/siyuan-note/siyuan/issues/11424) +* [改进 HTML 表格元素剪藏](https://github.com/siyuan-note/siyuan/issues/11425) +* [改进行级备注元素导出](https://github.com/siyuan-note/siyuan/issues/11426) +* [改进 HTML 代码块剪藏](https://github.com/siyuan-note/siyuan/issues/11427) +* [属性面板 - 数据库属性自定义排序](https://github.com/siyuan-note/siyuan/issues/11428) +* [改进桌面上启动后主窗口位置的恢复](https://github.com/siyuan-note/siyuan/issues/11437) +* [改进 HTML h 元素剪藏](https://github.com/siyuan-note/siyuan/issues/11445) +* [支持 KaTex 宏参数](https://github.com/siyuan-note/siyuan/issues/11448) +* [改进属性面板文本输入框](https://github.com/siyuan-note/siyuan/issues/11454) +* [在预览模式下使用真实主题样式值替换 var](https://github.com/siyuan-note/siyuan/issues/11458) +* [改进只读模式](https://github.com/siyuan-note/siyuan/issues/11459) +* [数据库资源字段支持解析粘贴的链接](https://github.com/siyuan-note/siyuan/issues/11463) +* [如果数据库资源字段标题为空,则显示链接](https://github.com/siyuan-note/siyuan/issues/11468) +* [数据库资源字段支持仅填写链接标题](https://github.com/siyuan-note/siyuan/issues/11469) +* [改进块引用文本复制](https://github.com/siyuan-note/siyuan/issues/11473) +* [复制后更改有序列表项的序列号](https://github.com/siyuan-note/siyuan/issues/11475) +* [浏览器扩展删除 URL 中的结束 `/`](https://github.com/siyuan-note/siyuan/issues/11478) +* [改进工作区启动稳定性](https://github.com/siyuan-note/siyuan/issues/11483) + +### 修复缺陷 + +* [当超链接元素地址中存在 `"` 字符时,粘贴无法正常解析](https://github.com/siyuan-note/siyuan/issues/11385) +* [无法正确复制 HTML 块](https://github.com/siyuan-note/siyuan/issues/11391) +* [数据库模板字段函数 `queryBlocks` 未定义](https://github.com/siyuan-note/siyuan/issues/11397) +* [在页面中查询数据库表后,无法修改属性](https://github.com/siyuan-note/siyuan/issues/11407) +* [将数据粘贴到数据库后,选择选项不一致](https://github.com/siyuan-note/siyuan/issues/11409) +* [右键点击数据库表格列弹出异常链接菜单](https://github.com/siyuan-note/siyuan/issues/11431) +* [在文档树中选择文档后,`Ctrl+D` 将不会复制它](https://github.com/siyuan-note/siyuan/issues/11432) +* [正则替换文本失败](https://github.com/siyuan-note/siyuan/issues/11444) +* [计算模板字段值时,负数被视为正数](https://github.com/siyuan-note/siyuan/issues/11446) +* [在文档树中导出的文档无法再次导入](https://github.com/siyuan-note/siyuan/issues/11447) +* [代码块导致状态异常](https://github.com/siyuan-note/siyuan/issues/11451) +* [当自定义属性值有换行时,导出预览模式中的渲染异常](https://github.com/siyuan-note/siyuan/issues/11453) +* [文档标题中的某些 emoji 异常](https://github.com/siyuan-note/siyuan/issues/11480) + +### 改进文档 + +* [改进用户指南快捷键章节](https://github.com/siyuan-note/siyuan/pull/11435) + +### 开发者 + +* [添加一个内部内核 API `/api/block/prependDailyNoteBlock`](https://github.com/siyuan-note/siyuan/issues/11442) + +## 下载 + +* [B3log](https://b3log.org/siyuan/download.html) +* [GitHub](https://github.com/siyuan-note/siyuan/releases) diff --git a/app/electron/main.js b/app/electron/main.js index c724ec7b90c..29b66abe9c8 100644 --- a/app/electron/main.js +++ b/app/electron/main.js @@ -236,17 +236,12 @@ const isOpenAsHidden = function () { }; const initMainWindow = () => { - let windowStateInitialized = true; // 恢复主窗体状态 let oldWindowState = {}; try { oldWindowState = JSON.parse(fs.readFileSync(windowStatePath, "utf8")); - if (!oldWindowState.x) { - windowStateInitialized = false; - } } catch (e) { fs.writeFileSync(windowStatePath, "{}"); - windowStateInitialized = false; } let defaultWidth; let defaultHeight; @@ -270,7 +265,7 @@ const initMainWindow = () => { writeLog("windowStat [x=" + windowState.x + ", y=" + windowState.y + ", width=" + windowState.width + ", height=" + windowState.height + "], default [width=" + defaultWidth + ", height=" + defaultHeight + "], workArea [width=" + workArea.width + ", height=" + workArea.height + "]"); - let resetToCenter = false + let resetToCenter = false; let x = windowState.x; let y = windowState.y; if (workArea) { diff --git a/app/guide/20210808180117-6v0mkxr/20200923234011-ieuun1p/20210808180303-xaduj2o/20200924100950-9op5xi1.sy b/app/guide/20210808180117-6v0mkxr/20200923234011-ieuun1p/20210808180303-xaduj2o/20200924100950-9op5xi1.sy index 40fbb0e5532..a64e33a4374 100644 --- a/app/guide/20210808180117-6v0mkxr/20200923234011-ieuun1p/20210808180303-xaduj2o/20200924100950-9op5xi1.sy +++ b/app/guide/20210808180117-6v0mkxr/20200923234011-ieuun1p/20210808180303-xaduj2o/20200924100950-9op5xi1.sy @@ -7,7 +7,7 @@ "id": "20200924100950-9op5xi1", "title": "Shortcuts", "type": "doc", - "updated": "20240517003750" + "updated": "20240524085755" }, "Children": [ { @@ -16,7 +16,7 @@ "HeadingLevel": 2, "Properties": { "id": "20201227133532-44ubczo", - "updated": "20240517003750" + "updated": "20240524085755" }, "Children": [ { @@ -40,7 +40,7 @@ "Properties": { "colgroup": "||", "id": "20210106154101-qrojg1b", - "updated": "20240426100644" + "updated": "20240523114032" }, "Children": [ { @@ -1296,6 +1296,96 @@ } ] }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "Unsplit" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "Go to " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "Settings - Shortcuts" + }, + { + "Type": "NodeText", + "Data": "​ to configure" + } + ] + } + ] + }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "Unsplit All" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "Go to " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "Settings - Shortcuts" + }, + { + "Type": "NodeText", + "Data": "​ to configure" + } + ] + } + ] + }, { "Type": "NodeTableRow", "Data": "tr", @@ -2306,7 +2396,7 @@ "HeadingLevel": 2, "Properties": { "id": "20210826183314-2tdx7d1", - "updated": "20240517003750" + "updated": "20240524085755" }, "Children": [ { @@ -3040,7 +3130,7 @@ "HeadingLevel": 2, "Properties": { "id": "20210106154056-koo4wdj", - "updated": "20240517003750" + "updated": "20240524085755" }, "Children": [ { @@ -3059,7 +3149,7 @@ "HeadingLevel": 3, "Properties": { "id": "20210106154319-v9tt3e2", - "updated": "20240517003750" + "updated": "20240524085755" }, "Children": [ { @@ -3079,7 +3169,7 @@ "Properties": { "colgroup": "||", "id": "20240112150534-wiik5sl", - "updated": "20240516235223" + "updated": "20240524085755" }, "Children": [ { @@ -6974,6 +7064,105 @@ } ] }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "Duplicate" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "For database block is " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "Duplicate mirror" + }, + { + "Type": "NodeText", + "Data": "​, go to " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "Settings - Shortcuts" + }, + { + "Type": "NodeText", + "Data": "​ to configure" + } + ] + } + ] + }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "Duplicate completely" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "Available only for database blocks, go to " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "Settings - Shortcuts" + }, + { + "Type": "NodeText", + "Data": "​ to configure" + } + ] + } + ] + }, { "Type": "NodeTableRow", "Data": "tr", diff --git a/app/guide/20210808180117-6v0mkxr/20200923234731-h3zkwm2.sy b/app/guide/20210808180117-6v0mkxr/20200923234731-h3zkwm2.sy index 62f8cbe04b5..2ca79ffabad 100644 --- a/app/guide/20210808180117-6v0mkxr/20200923234731-h3zkwm2.sy +++ b/app/guide/20210808180117-6v0mkxr/20200923234731-h3zkwm2.sy @@ -869,55 +869,6 @@ } ] }, - { - "ID": "20201224120448-ygu8bzx", - "Type": "NodeHeading", - "HeadingLevel": 2, - "Properties": { - "id": "20201224120448-ygu8bzx", - "updated": "20211009092454" - }, - "Children": [ - { - "Type": "NodeText", - "Data": "Is there any " - }, - { - "Type": "NodeTextMark", - "TextMarkType": "tag", - "TextMarkTextContent": "Note" - }, - { - "Type": "NodeText", - "Data": " for deleting docs?" - } - ] - }, - { - "ID": "20210615213114-fq2uew0", - "Type": "NodeParagraph", - "Properties": { - "id": "20210615213114-fq2uew0", - "updated": "20220502163309" - }, - "Children": [ - { - "Type": "NodeText", - "Data": "After deletion, the doc will not appear in the operating system's recycle bin, but will be deleted directly. When deleted, SiYuan will generate " - }, - { - "Type": "NodeTextMark", - "TextMarkType": "block-ref", - "TextMarkBlockRefID": "20210615213222-vs5tzbd", - "TextMarkBlockRefSubtype": "s", - "TextMarkTextContent": "data history" - }, - { - "Type": "NodeText", - "Data": "." - } - ] - }, { "ID": "20210106192438-on2fb5k", "Type": "NodeHeading", diff --git a/app/guide/20210808180117-czj9bvb/20200812220555-lj3enxa/20210808180321-hbvl5c2/20200813004551-gm0pbn1.sy b/app/guide/20210808180117-czj9bvb/20200812220555-lj3enxa/20210808180321-hbvl5c2/20200813004551-gm0pbn1.sy index e2e9b7a680a..14ac0be838e 100644 --- a/app/guide/20210808180117-czj9bvb/20200812220555-lj3enxa/20210808180321-hbvl5c2/20200813004551-gm0pbn1.sy +++ b/app/guide/20210808180117-czj9bvb/20200812220555-lj3enxa/20210808180321-hbvl5c2/20200813004551-gm0pbn1.sy @@ -7,7 +7,7 @@ "id": "20200813004551-gm0pbn1", "title": "快捷键", "type": "doc", - "updated": "20240517004202" + "updated": "20240524085244" }, "Children": [ { @@ -16,7 +16,7 @@ "HeadingLevel": 2, "Properties": { "id": "20240112150737-e41yt1y", - "updated": "20240517004202" + "updated": "20240524085244" }, "Children": [ { @@ -36,7 +36,7 @@ "Properties": { "colgroup": "||", "id": "20201227133317-ovwnk1y", - "updated": "20240517004202" + "updated": "20240523113529" }, "Children": [ { @@ -1294,6 +1294,96 @@ } ] }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "取消分屏" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "可前往 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "设置 - 快捷键" + }, + { + "Type": "NodeText", + "Data": "​ 中配置" + } + ] + } + ] + }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "取消全部分屏" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "可前往 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "设置 - 快捷键" + }, + { + "Type": "NodeText", + "Data": "​ 中配置" + } + ] + } + ] + }, { "Type": "NodeTableRow", "Data": "tr", @@ -2304,7 +2394,7 @@ "HeadingLevel": 2, "Properties": { "id": "20210826183308-g4ck02v", - "updated": "20240517002048" + "updated": "20240524085244" }, "Children": [ { @@ -3038,7 +3128,7 @@ "HeadingLevel": 2, "Properties": { "id": "20201227133317-rkh4bji", - "updated": "20240517002048" + "updated": "20240524085244" }, "Children": [ { @@ -3053,7 +3143,7 @@ "HeadingLevel": 3, "Properties": { "id": "20201227133317-kazyttz", - "updated": "20240517002048" + "updated": "20240524085244" }, "Children": [ { @@ -3077,7 +3167,7 @@ "Properties": { "colgroup": "||", "id": "20201227133317-vopotjc", - "updated": "20240516234645" + "updated": "20240524085244" }, "Children": [ { @@ -6986,6 +7076,105 @@ } ] }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "复制为副本" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "对于数据库块是 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "复制为镜像副本" + }, + { + "Type": "NodeText", + "Data": "​,可前往 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "设置- 快捷键" + }, + { + "Type": "NodeText", + "Data": "​ 中配置" + } + ] + } + ] + }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "复制为完整副本" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "仅对数据库块可用,可前往 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "设置- 快捷键" + }, + { + "Type": "NodeText", + "Data": "​ 中配置" + } + ] + } + ] + }, { "Type": "NodeTableRow", "Data": "tr", @@ -7264,7 +7453,7 @@ "HeadingLevel": 3, "Properties": { "id": "20210102174148-tq925jm", - "updated": "20240517002048" + "updated": "20240524084648" }, "Children": [ { @@ -8484,7 +8673,7 @@ "HeadingLevel": 3, "Properties": { "id": "20201227133317-n64nfza", - "updated": "20240517003731" + "updated": "20240524084648" }, "Children": [ { @@ -8864,7 +9053,7 @@ "HeadingLevel": 3, "Properties": { "id": "20201227133317-x02vhoh", - "updated": "20240517003731" + "updated": "20240524084648" }, "Children": [ { @@ -9186,7 +9375,7 @@ "HeadingLevel": 3, "Properties": { "id": "20201227133317-xpgtzbg", - "updated": "20240517003636" + "updated": "20240524084648" }, "Children": [ { @@ -9790,7 +9979,7 @@ "HeadingLevel": 2, "Properties": { "id": "20240516222136-248xd1v", - "updated": "20240517003636" + "updated": "20240524084648" }, "Children": [ { @@ -10157,7 +10346,7 @@ "HeadingLevel": 2, "Properties": { "id": "20230316151845-nszzteq", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -11050,7 +11239,7 @@ "HeadingLevel": 2, "Properties": { "id": "20220618235609-cuv0am5", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -11065,7 +11254,7 @@ "HeadingLevel": 3, "Properties": { "id": "20210708000243-4s325nw", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -11461,7 +11650,7 @@ "HeadingLevel": 3, "Properties": { "id": "20221105225606-ei8q9u9", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -11889,7 +12078,7 @@ "HeadingLevel": 3, "Properties": { "id": "20220619000226-0pq4qe4", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -12199,7 +12388,7 @@ "HeadingLevel": 3, "Properties": { "id": "20220619001156-26volkp", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -12513,7 +12702,7 @@ "HeadingLevel": 3, "Properties": { "id": "20221107214439-v40c6qz", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -12702,7 +12891,7 @@ "HeadingLevel": 3, "Properties": { "id": "20220619000529-ns8rmiz", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -12863,7 +13052,7 @@ "HeadingLevel": 3, "Properties": { "id": "20220619000241-hjxmjgy", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -13060,7 +13249,7 @@ "HeadingLevel": 3, "Properties": { "id": "20220619001133-tyykggw", - "updated": "20240517003111" + "updated": "20240524084648" }, "Children": [ { @@ -13245,7 +13434,7 @@ "HeadingLevel": 3, "Properties": { "id": "20220901210205-d5z8hhk", - "updated": "20220902201044" + "updated": "20240524084648" }, "Children": [ { @@ -13264,7 +13453,7 @@ "Properties": { "colgroup": "|", "id": "20220902201053-imb47bl", - "updated": "20231107182113" + "updated": "20240524084648" }, "Children": [ { @@ -13281,7 +13470,7 @@ "Children": [ { "Type": "NodeText", - "Data": "名稱" + "Data": "名称" } ] }, diff --git a/app/guide/20210808180117-czj9bvb/20200813093015-u6bopdt.sy b/app/guide/20210808180117-czj9bvb/20200813093015-u6bopdt.sy index 45c7b3c03ea..b212b6e535a 100644 --- a/app/guide/20210808180117-czj9bvb/20200813093015-u6bopdt.sy +++ b/app/guide/20210808180117-czj9bvb/20200813093015-u6bopdt.sy @@ -862,55 +862,6 @@ } ] }, - { - "ID": "20201224120447-dscw9gl", - "Type": "NodeHeading", - "HeadingLevel": 2, - "Properties": { - "id": "20201224120447-dscw9gl", - "updated": "20211009092403" - }, - "Children": [ - { - "Type": "NodeText", - "Data": "删除文档有什么" - }, - { - "Type": "NodeTextMark", - "TextMarkType": "tag", - "TextMarkTextContent": "注意" - }, - { - "Type": "NodeText", - "Data": "事项吗?" - } - ] - }, - { - "ID": "20210323173015-i71ug1u", - "Type": "NodeParagraph", - "Properties": { - "id": "20210323173015-i71ug1u", - "updated": "20220502163327" - }, - "Children": [ - { - "Type": "NodeText", - "Data": "文档被删除后不会出现在操作系统回收站中,而是直接删除,删除时思源会生成" - }, - { - "Type": "NodeTextMark", - "TextMarkType": "block-ref", - "TextMarkBlockRefID": "20210615211733-v6rzowm", - "TextMarkBlockRefSubtype": "s", - "TextMarkTextContent": "数据历史" - }, - { - "Type": "NodeText", - "Data": "。" - } - ] - }, { "ID": "20210106192152-d2k9itt", "Type": "NodeHeading", diff --git a/app/guide/20211226090932-5lcq56f/20211226115227-r1rty9v.sy b/app/guide/20211226090932-5lcq56f/20211226115227-r1rty9v.sy index 966494d3b63..0cc69b6c638 100644 --- a/app/guide/20211226090932-5lcq56f/20211226115227-r1rty9v.sy +++ b/app/guide/20211226090932-5lcq56f/20211226115227-r1rty9v.sy @@ -6,6 +6,7 @@ "icon": "2753", "id": "20211226115227-r1rty9v", "title": "常見問題", + "type": "doc", "updated": "20230820183402" }, "Children": [ @@ -865,55 +866,6 @@ } ] }, - { - "ID": "20211226115356-m9gd7qb", - "Type": "NodeHeading", - "HeadingLevel": 2, - "Properties": { - "id": "20211226115356-m9gd7qb", - "updated": "20211225215145" - }, - "Children": [ - { - "Type": "NodeText", - "Data": "刪除文檔有什麽" - }, - { - "Type": "NodeTextMark", - "TextMarkType": "tag", - "TextMarkTextContent": "注意" - }, - { - "Type": "NodeText", - "Data": "事項嗎?" - } - ] - }, - { - "ID": "20211226115356-rn32tpl", - "Type": "NodeParagraph", - "Properties": { - "id": "20211226115356-rn32tpl", - "updated": "20220502163402" - }, - "Children": [ - { - "Type": "NodeText", - "Data": "文檔被刪除後不會出現在作業系統回收站中,而是直接刪除,刪除時思源會生成" - }, - { - "Type": "NodeTextMark", - "TextMarkType": "block-ref", - "TextMarkBlockRefID": "20211226122707-8cr09co", - "TextMarkBlockRefSubtype": "s", - "TextMarkTextContent": "資料歷史" - }, - { - "Type": "NodeText", - "Data": "。" - } - ] - }, { "ID": "20211226115356-4hn8mip", "Type": "NodeHeading", diff --git a/app/guide/20211226090932-5lcq56f/20211226115423-d5z1joq/20211226121203-rjjngpz/20211226122549-jktxego.sy b/app/guide/20211226090932-5lcq56f/20211226115423-d5z1joq/20211226121203-rjjngpz/20211226122549-jktxego.sy index 07864bcbb1a..7fb23b6983c 100644 --- a/app/guide/20211226090932-5lcq56f/20211226115423-d5z1joq/20211226121203-rjjngpz/20211226122549-jktxego.sy +++ b/app/guide/20211226090932-5lcq56f/20211226115423-d5z1joq/20211226121203-rjjngpz/20211226122549-jktxego.sy @@ -7,7 +7,7 @@ "id": "20211226122549-jktxego", "title": "快捷鍵", "type": "doc", - "updated": "20240517004210" + "updated": "20240524085750" }, "Children": [ { @@ -16,7 +16,7 @@ "HeadingLevel": 2, "Properties": { "id": "20211226122652-0t4c1qf", - "updated": "20240517004210" + "updated": "20240524085750" }, "Children": [ { @@ -36,7 +36,7 @@ "Properties": { "colgroup": "||", "id": "20211226122652-4e9hm9i", - "updated": "20240517004210" + "updated": "20240523113830" }, "Children": [ { @@ -1288,6 +1288,96 @@ } ] }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "取消並排分頁" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "可前往 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "設置 - 快捷鍵" + }, + { + "Type": "NodeText", + "Data": "​ 中配置" + } + ] + } + ] + }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "取消全部並排分頁" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "可前往 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "設置 - 快捷鍵" + }, + { + "Type": "NodeText", + "Data": "​ 中配置" + } + ] + } + ] + }, { "Type": "NodeTableRow", "Data": "tr", @@ -2298,7 +2388,7 @@ "HeadingLevel": 2, "Properties": { "id": "20211226122652-3q2xsbj", - "updated": "20240517002058" + "updated": "20240524085750" }, "Children": [ { @@ -3032,7 +3122,7 @@ "HeadingLevel": 2, "Properties": { "id": "20211226122652-htptsmh", - "updated": "20240517002058" + "updated": "20240524085750" }, "Children": [ { @@ -3047,7 +3137,7 @@ "HeadingLevel": 3, "Properties": { "id": "20211226122652-xp1hi60", - "updated": "20240517002058" + "updated": "20240524085750" }, "Children": [ { @@ -3067,7 +3157,7 @@ "Properties": { "colgroup": "||", "id": "20240112151141-ggglv0f", - "updated": "20240516235214" + "updated": "20240524085750" }, "Children": [ { @@ -7029,6 +7119,105 @@ } ] }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "複製為副本" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "對於資料庫區塊是 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "複製為鏡像副本" + }, + { + "Type": "NodeText", + "Data": "​,可前往 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "設置-\u0026gt;快捷鍵" + }, + { + "Type": "NodeText", + "Data": "​ 中配置" + } + ] + } + ] + }, + { + "Type": "NodeTableRow", + "Data": "tr", + "Children": [ + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "複製為完整副本" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "-" + } + ] + }, + { + "Type": "NodeTableCell", + "Data": "td", + "Children": [ + { + "Type": "NodeText", + "Data": "僅對資料庫區塊可用,可前往 " + }, + { + "Type": "NodeTextMark", + "TextMarkType": "kbd", + "TextMarkTextContent": "設置-\u0026gt;快捷鍵" + }, + { + "Type": "NodeText", + "Data": "​ 中配置" + } + ] + } + ] + }, { "Type": "NodeTableRow", "Data": "tr", diff --git a/app/package.json b/app/package.json index 5be09feebae..818eb49ae13 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "SiYuan", - "version": "3.0.14", + "version": "3.0.15", "description": "Refactor your thinking", "homepage": "https://b3log.org/siyuan", "main": "./electron/main.js", diff --git a/app/src/assets/scss/base.scss b/app/src/assets/scss/base.scss index 55d3a3e53ae..47967095e77 100644 --- a/app/src/assets/scss/base.scss +++ b/app/src/assets/scss/base.scss @@ -99,6 +99,7 @@ html { stroke: currentColor; width: 14px; height: 14px; + flex-shrink: 0; &--mid { width: 16px; diff --git a/app/src/assets/scss/util/_responsive.scss b/app/src/assets/scss/util/_responsive.scss index c61b855d666..f681bae8482 100644 --- a/app/src/assets/scss/util/_responsive.scss +++ b/app/src/assets/scss/util/_responsive.scss @@ -12,6 +12,14 @@ .b3-list-item__graphic { padding-right: 5px; } + + .config__tab-hr { + margin: 0 0 4px 0; + } + + .config__tab-title { + height: 25px; + } } .config-query label { @@ -25,12 +33,6 @@ } } - &__tab-container { - .b3-card__info--left { - display: none; - } - } - &__item { flex-wrap: wrap; diff --git a/app/src/block/popover.ts b/app/src/block/popover.ts index 7249f2d8190..1be063d9111 100644 --- a/app/src/block/popover.ts +++ b/app/src/block/popover.ts @@ -32,13 +32,13 @@ export const initBlockPopover = (app: App) => { } else { if (aElement.firstElementChild?.getAttribute("data-type") === "url") { if (aElement.firstElementChild.textContent.indexOf("...") > -1) { - tip = aElement.firstElementChild.getAttribute("data-href"); + tip = Lute.EscapeHTMLStr(aElement.firstElementChild.getAttribute("data-href")); } } if (!tip && aElement.dataset.wrap !== "true" && event.target.dataset.type !== "block-more" && !hasClosestByClassName(event.target, "block__icon")) { aElement.style.overflow = "auto"; if (aElement.scrollWidth > aElement.clientWidth + 2) { - tip = getCellText(aElement); + tip = Lute.EscapeHTMLStr(getCellText(aElement)); } aElement.style.overflow = ""; } diff --git a/app/src/boot/globalEvent/command/global.ts b/app/src/boot/globalEvent/command/global.ts index 29f592482da..726ec33e96c 100644 --- a/app/src/boot/globalEvent/command/global.ts +++ b/app/src/boot/globalEvent/command/global.ts @@ -15,7 +15,7 @@ import {isWindow} from "../../../util/functions"; import {openRecentDocs} from "../../../business/openRecentDocs"; import {openSearch} from "../../../search/spread"; import {goBack, goForward} from "../../../util/backForward"; -import {getAllTabs} from "../../../layout/getAll"; +import {getAllTabs, getAllWnds} from "../../../layout/getAll"; import {getInstanceById} from "../../../layout/util"; import { closeTabByType, @@ -39,6 +39,8 @@ import {lockScreen} from "../../../dialog/processSystem"; import {newFile} from "../../../util/newFile"; import {openCard} from "../../../card/openCard"; import {syncGuide} from "../../../sync/syncGuide"; +import {Wnd} from "../../../layout/Wnd"; +import {unsplitWnd} from "../../../menus/tab"; const selectOpenTab = () => { /// #if MOBILE @@ -234,6 +236,29 @@ export const globalCommand = (command: string, app: App) => { } return true; } + if (command === "unsplitAll") { + unsplitWnd(window.siyuan.layout.centerLayout, window.siyuan.layout.centerLayout, false); + return true; + } + if (command === "unsplit") { + const tab = getActiveTab(false); + if (tab) { + let wndsTemp: Wnd[] = []; + let layout = tab.parent.parent; + while (layout.id !== window.siyuan.layout.centerLayout.id) { + wndsTemp = []; + getAllWnds(layout, wndsTemp); + if (wndsTemp.length > 1) { + break; + } else { + layout = layout.parent; + } + } + unsplitWnd(tab.parent.parent.children[0], layout, true); + resizeTabs(); + } + return true; + } if (command === "closeTab") { const activeTabElement = document.querySelector(".layout__tab--active"); if (activeTabElement && activeTabElement.getBoundingClientRect().width > 0) { diff --git a/app/src/boot/globalEvent/command/panel.ts b/app/src/boot/globalEvent/command/panel.ts index 419b43651e9..61e8b93b8d5 100644 --- a/app/src/boot/globalEvent/command/panel.ts +++ b/app/src/boot/globalEvent/command/panel.ts @@ -59,7 +59,8 @@ export const commandPanel = (app: App) => { "goForward", "goToEditTabNext", "goToEditTabPrev", "goToTab1", "goToTab2", "goToTab3", "goToTab4", "goToTab5", "goToTab6", "goToTab7", "goToTab8", "goToTab9", "goToTabNext", "goToTabPrev", "lockScreen", "mainMenu", "move", "newFile", "recentDocs", "replace", "riffCard", "search", "selectOpen1", "syncNow", - "splitLR", "splitMoveB", "splitMoveR", "splitTB", "tabToWindow", "stickSearch", "toggleDock"]; + "splitLR", "splitMoveB", "splitMoveR", "splitTB", "tabToWindow", "stickSearch", "toggleDock", "unsplitAll", + "unsplit"]; /// #if !BROWSER keys.push("toggleWin"); /// #endif diff --git a/app/src/boot/globalEvent/keydown.ts b/app/src/boot/globalEvent/keydown.ts index 6479600b69e..f715b5c1ab9 100644 --- a/app/src/boot/globalEvent/keydown.ts +++ b/app/src/boot/globalEvent/keydown.ts @@ -7,7 +7,6 @@ import { writeText } from "../../protyle/util/compatibility"; import {matchAuxiliaryHotKey, matchHotKey} from "../../protyle/util/hotKey"; -import {openSearch} from "../../search/spread"; import { hasClosestBlock, hasClosestByAttribute, @@ -18,7 +17,7 @@ import {newFile} from "../../util/newFile"; import {Constants} from "../../constants"; import {openSetting} from "../../config"; import {getInstanceById} from "../../layout/util"; -import {copyTab, getActiveTab, getDockByType, resizeTabs, switchTabByIndex} from "../../layout/tabUtil"; +import {getActiveTab, getDockByType, switchTabByIndex} from "../../layout/tabUtil"; import {Tab} from "../../layout/Tab"; import {Editor} from "../../editor"; import {setEditMode} from "../../protyle/util/setEditMode"; @@ -29,10 +28,9 @@ import {hideElements} from "../../protyle/ui/hideElements"; import {fetchPost} from "../../util/fetch"; import {goBack, goForward} from "../../util/backForward"; import {onGet} from "../../protyle/util/onGet"; -import {getDisplayName, getNotebookName, getTopPaths, movePathTo, moveToPath} from "../../util/pathName"; +import {getDisplayName, getNotebookName} from "../../util/pathName"; import {openFileById} from "../../editor/util"; import {getAllDocks, getAllModels, getAllTabs} from "../../layout/getAll"; -import {openGlobalSearch} from "../../search/util"; import {focusBlock, focusByOffset, focusByRange, getSelectionOffset} from "../../protyle/util/selection"; import {initFileMenu, initNavigationMenu} from "../../menus/navigation"; import {bindMenuKeydown} from "../../menus/Menu"; @@ -65,7 +63,6 @@ import {transaction} from "../../protyle/wysiwyg/transaction"; import {quickMakeCard} from "../../card/makeCard"; import {getContentByInlineHTML} from "../../protyle/wysiwyg/keydown"; import {searchKeydown} from "./searchKeydown"; -import {openNewWindow} from "../../window/openNewWindow"; import {historyKeydown} from "../../history/keydown"; import {zoomOut} from "../../menus/protyle"; import {getPlainText} from "../../protyle/util/paste"; @@ -74,6 +71,7 @@ import {filterHotkey} from "./commonHotkey"; import {setReadOnly} from "../../config/util/setReadOnly"; import {copyPNGByLink} from "../../menus/util"; import {globalCommand} from "./command/global"; +import {duplicateCompletely} from "../../protyle/render/av/action"; const switchDialogEvent = (app: App, event: MouseEvent) => { event.preventDefault(); @@ -451,6 +449,15 @@ const editKeydown = (app: App, event: KeyboardEvent) => { event.preventDefault(); return true; } + if (matchHotKey(window.siyuan.config.keymap.editor.general.duplicateCompletely.custom, event)) { + const nodeElement = hasClosestBlock(range.startContainer); + if (!nodeElement || !nodeElement.classList.contains("av")) { + return false; + } + duplicateCompletely(protyle, nodeElement); + event.preventDefault(); + return true; + } if (matchHotKey(window.siyuan.config.keymap.editor.general.refresh.custom, event)) { reloadProtyle(protyle, true); event.preventDefault(); @@ -1566,6 +1573,16 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => { event.preventDefault(); return; } + if (matchHotKey(window.siyuan.config.keymap.general.unsplit.custom, event) && !event.repeat) { + event.preventDefault(); + globalCommand("unsplit", app); + return; + } + if (matchHotKey(window.siyuan.config.keymap.general.unsplitAll.custom, event) && !event.repeat) { + event.preventDefault(); + globalCommand("unsplitAll", app); + return; + } if (editKeydown(app, event)) { return; } diff --git a/app/src/config/about.ts b/app/src/config/about.ts index 67ed8a8079c..070520069dd 100644 --- a/app/src/config/about.ts +++ b/app/src/config/about.ts @@ -16,6 +16,25 @@ import {setKey} from "../sync/syncGuide"; export const about = { element: undefined as Element, genHTML: () => { + const checkUpdateHTML = window.siyuan.config.system.isMicrosoftStore ? `
+
+ ${window.siyuan.languages.currentVer} v${Constants.SIYUAN_VERSION} + +
${window.siyuan.languages.isMsStoreVerTip}
+
+
` : `
+
+ ${window.siyuan.languages.currentVer} v${Constants.SIYUAN_VERSION} + +
${window.siyuan.languages.downloadLatestVer}
+
+
+
+ +
+
`; return `
${window.siyuan.languages.autoLaunch} @@ -143,19 +162,7 @@ export const about = { ${window.siyuan.languages.export}
-
-
- ${window.siyuan.languages.currentVer} v${Constants.SIYUAN_VERSION} - -
${window.siyuan.languages.downloadLatestVer}
-
-
-
- -
-
+${checkUpdateHTML}
${window.siyuan.languages.about13} diff --git a/app/src/config/account.ts b/app/src/config/account.ts index 11c8b2527a1..ece1f94dadb 100644 --- a/app/src/config/account.ts +++ b/app/src/config/account.ts @@ -5,7 +5,7 @@ import {fetchPost} from "../util/fetch"; import {repos} from "./repos"; import {confirmDialog} from "../dialog/confirmDialog"; import {hasClosestByClassName} from "../protyle/util/hasClosest"; -import {getEventName} from "../protyle/util/compatibility"; +import {getEventName, isIPad} from "../protyle/util/compatibility"; import {processSync} from "../dialog/processSystem"; import {needSubscribe} from "../util/needSubscribe"; import {syncGuide} from "../sync/syncGuide"; @@ -29,10 +29,11 @@ const genSVGBG = () => { export const account = { element: undefined as Element, genHTML: (onlyPayHTML = false) => { - const payHTML = ` + const hideIPad = isIPad() ? " fn__none" : ""; + const payHTML = ` ${window.siyuan.languages[window.siyuan.user?.userSiYuanOneTimePayStatus === 1 ? "account4" : "account1"]} -
+
${window.siyuan.languages.freeSub} @@ -86,7 +87,7 @@ ${genSVGBG()} ${window.siyuan.languages.account6} ${Math.max(0, Math.floor((window.siyuan.user.userSiYuanProExpireTime - new Date().getTime()) / 1000 / 60 / 60 / 24))} ${window.siyuan.languages.day} - ${window.siyuan.languages.clickMeToRenew} + ${window.siyuan.languages.clickMeToRenew}
`; if (window.siyuan.user.userSiYuanOneTimePayStatus === 1) { subscriptionHTML = `
${window.siyuan.languages.onepay}
@@ -121,8 +122,8 @@ ${renewHTML}