diff --git a/apps/build-docs/package.json b/apps/build-docs/package.json index b60c7b6a0..0ec82b83a 100644 --- a/apps/build-docs/package.json +++ b/apps/build-docs/package.json @@ -9,7 +9,7 @@ "keywords": [], "author": "Elian Doran ", "license": "AGPL-3.0-only", - "packageManager": "pnpm@10.23.0", + "packageManager": "pnpm@10.24.0", "devDependencies": { "@redocly/cli": "2.12.0", "archiver": "7.0.1", diff --git a/apps/client/package.json b/apps/client/package.json index fdd23fb28..95b8ca1f3 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -77,7 +77,7 @@ "@types/reveal.js": "5.2.1", "@types/tabulator-tables": "6.3.0", "copy-webpack-plugin": "13.0.1", - "happy-dom": "20.0.10", + "happy-dom": "20.0.11", "script-loader": "0.7.2", "vite-plugin-static-copy": "3.1.4" } diff --git a/apps/client/src/desktop.ts b/apps/client/src/desktop.ts index cca6c8c0f..6462c1338 100644 --- a/apps/client/src/desktop.ts +++ b/apps/client/src/desktop.ts @@ -58,6 +58,7 @@ function initOnElectron() { initDarkOrLightMode(style); initTransparencyEffects(style, currentWindow); + initFullScreenDetection(currentWindow); if (options.get("nativeTitleBarVisible") !== "true") { initTitleBarButtons(style, currentWindow); @@ -87,6 +88,11 @@ function initTitleBarButtons(style: CSSStyleDeclaration, currentWindow: Electron } } +function initFullScreenDetection(currentWindow: Electron.BrowserWindow) { + currentWindow.on("enter-full-screen", () => document.body.classList.add("full-screen")); + currentWindow.on("leave-full-screen", () => document.body.classList.remove("full-screen")); +} + function initTransparencyEffects(style: CSSStyleDeclaration, currentWindow: Electron.BrowserWindow) { if (window.glob.platform === "win32") { const material = style.getPropertyValue("--background-material"); diff --git a/apps/client/src/menus/context_menu.ts b/apps/client/src/menus/context_menu.ts index 3be7155aa..6bd9de9e4 100644 --- a/apps/client/src/menus/context_menu.ts +++ b/apps/client/src/menus/context_menu.ts @@ -75,10 +75,7 @@ class ContextMenu { if (this.isMobile) { this.$cover.on("click", () => this.hide()); } else { - $(document).on("click", (e) => { - console.log("Hide due to clickus") - this.hide() - }); + $(document).on("click", (e) => this.hide()); } } diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index d49a14f7e..342cd671a 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -2009,7 +2009,7 @@ body.electron.platform-darwin:not(.native-titlebar) .tab-row-container { -webkit-app-region: drag; } -body.electron.platform-darwin:not(.native-titlebar) #tab-row-left-spacer { +body.electron.platform-darwin:not(.native-titlebar):not(.full-screen) #tab-row-left-spacer { width: 80px; } diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index b15d407dd..75efb4b7c 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -1702,7 +1702,7 @@ "paste": "粘贴", "paste-as-plain-text": "以纯文本粘贴", "search_online": "用 {{searchEngine}} 搜索 \"{{term}}\"", - "search_in_trilium": "在 Trilium 中查找搜索 \"{{term}}\"" + "search_in_trilium": "在 Trilium 中搜索「{{term}}」" }, "image_context_menu": { "copy_reference_to_clipboard": "复制引用到剪贴板", diff --git a/apps/client/src/translations/cs/translation.json b/apps/client/src/translations/cs/translation.json index 165b4f239..3c758f16b 100644 --- a/apps/client/src/translations/cs/translation.json +++ b/apps/client/src/translations/cs/translation.json @@ -43,7 +43,7 @@ "link_title_arbitrary": "titulek odkazu může být změněn libovolně" }, "branch_prefix": { - "prefix": "Prefix: ", + "prefix": "Předpona: ", "save": "Uložit", "edit_branch_prefix": "Upravit prefix větve", "edit_branch_prefix_multiple": "Upravit prefix větve pro {{count}} větví", @@ -68,20 +68,54 @@ }, "confirm": { "cancel": "Zrušit", - "ok": "OK" + "ok": "OK", + "confirmation": "Potvrzení", + "are_you_sure_remove_note": "Opravdu chcete odstranit poznámku „{{title}}“ z mapy vztahů?", + "if_you_dont_check": "Pokud tuto možnost nezaškrtnete, poznámka bude odstraněna pouze z mapy vztahů.", + "also_delete_note": "Odstraňte také poznámku" }, "delete_notes": { "cancel": "Zrušit", "ok": "OK", - "close": "Zavřít" + "close": "Zavřít", + "delete_notes_preview": "Odstranit náhled poznámek", + "delete_all_clones_description": "Odstraňte také všechny klony (lze vrátit zpět v nedávných změnách)", + "erase_notes_description": "Normální (měkké) smazání pouze označí poznámky jako smazané a lze je během určité doby obnovit (v dialogovém okně posledních změn). Zaškrtnutím této možnosti se poznámky okamžitě vymažou a nebude možné je obnovit.", + "erase_notes_warning": "Trvale smažte poznámky (nelze vrátit zpět), včetně všech klonů. Tím se vynutí opětovné načtení aplikace.", + "notes_to_be_deleted": "Následující poznámky budou smazány ({{notesCount}})", + "no_note_to_delete": "Žádná poznámka nebude smazána (pouze klony).", + "broken_relations_to_be_deleted": "Následující vazby budou přerušeny a smazány ({{relationCount}})", + "deleted_relation_text": "Poznámka {{- note}} (bude smazána) je odkazována vazbou {{- relation}} pocházející z {{- source}}." }, "export": { - "close": "Zavřít" + "close": "Zavřít", + "export_note_title": "Exportovat poznámku", + "export_type_subtree": "Tato poznámka a všechny její odvozené poznámky", + "format_html": "HTML – doporučeno, protože zachovává veškeré formátování", + "format_html_zip": "HTML v archivu ZIP – toto se doporučuje, protože se tak zachová veškeré formátování.", + "format_markdown": "Markdown – zachovává většinu formátování.", + "format_opml": "OPML – formát pro výměnu osnov pouze pro text. Formátování, obrázky a soubory nejsou zahrnuty.", + "opml_version_1": "OPML v1.0 – pouze prostý text", + "opml_version_2": "OPML v2.0 – umožňuje také HTML", + "export_type_single": "Pouze tato poznámka bez jejích potomků", + "export": "Exportovat", + "choose_export_type": "Nejprve vyberte typ exportu", + "export_status": "Stav exportu", + "export_in_progress": "Export probíhá: {{progressCount}}", + "export_finished_successfully": "Export byl úspěšně dokončen.", + "format_pdf": "PDF – pro tisk nebo sdílení.", + "share-format": "HTML pro publikování na webu – používá stejný motiv jako sdílené poznámky, ale lze jej publikovat jako statický web." }, "clone_to": { "clone_notes_to": "Klonovat poznámky do...", "help_on_links": "Nápověda k odkazům", "notes_to_clone": "Poznámky na klonování", - "search_for_note_by_its_name": "hledat poznámku dle jejího názvu" + "search_for_note_by_its_name": "hledat poznámku dle jejího názvu", + "prefix_optional": "Předpona (volitelná)", + "target_parent_note": "Zaměřit rodičovskou poznámku", + "cloned_note_prefix_title": "Klonovaná poznámka se zobrazí ve stromu poznámek s danou předponou", + "clone_to_selected_note": "Klonovat vybranou poznámku", + "no_path_to_clone_to": "Žádná cest pro klonování.", + "note_cloned": "Poznámka: „{{clonedTitle}}“ bylo naklonováno do „{{targetTitle}}“" } } diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 7393c15ba..20b776e74 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -769,7 +769,8 @@ "geo-map": "Weltkarte", "board": "Tafel", "include_archived_notes": "Zeige archivierte Notizen", - "presentation": "Präsentation" + "presentation": "Präsentation", + "expand_all_levels": "Alle Ebenen erweitern" }, "edited_notes": { "no_edited_notes_found": "An diesem Tag wurden noch keine Notizen bearbeitet...", diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index bacd7dc95..53427faae 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1727,7 +1727,8 @@ "refresh-saved-search-results": "Refresh saved search results", "create-child-note": "Create child note", "unhoist": "Unhoist", - "toggle-sidebar": "Toggle sidebar" + "toggle-sidebar": "Toggle sidebar", + "dropping-not-allowed": "Dropping notes into this location is not allowed." }, "title_bar_buttons": { "window-on-top": "Keep Window on Top" @@ -1830,7 +1831,8 @@ "duplicate-launcher": "Duplicate launcher " }, "editable-text": { - "auto-detect-language": "Auto-detected" + "auto-detect-language": "Auto-detected", + "keeps-crashing": "Editing component keeps crashing. Please try restarting Trilium. If problem persists, consider creating a bug report." }, "highlighting": { "title": "Code Blocks", diff --git a/apps/client/src/translations/ja/translation.json b/apps/client/src/translations/ja/translation.json index aec16110a..d8677c305 100644 --- a/apps/client/src/translations/ja/translation.json +++ b/apps/client/src/translations/ja/translation.json @@ -541,7 +541,11 @@ "geo-map": "ジオマップ", "board": "ボード", "include_archived_notes": "アーカイブされたノートを表示", - "presentation": "プレゼンテーション" + "presentation": "プレゼンテーション", + "expand_tooltip": "このコレクションの直下の子(1階層下)を展開します。その他のオプションについては、右側の矢印を押してください。", + "expand_first_level": "直下の子を展開", + "expand_nth_level": "{{depth}} 階層下まで展開", + "expand_all_levels": "すべての階層を展開" }, "note_types": { "geo-map": "ジオマップ", diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 289cd4607..5b4fb2295 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -1661,7 +1661,7 @@ "paste": "貼上", "paste-as-plain-text": "以純文字貼上", "search_online": "用 {{searchEngine}} 搜尋 \"{{term}}\"", - "search_in_trilium": "在 Trilium 中搜尋 \"{{term}}\"" + "search_in_trilium": "在 Trilium 中搜尋「{{term}}」" }, "image_context_menu": { "copy_reference_to_clipboard": "複製引用到剪貼簿", diff --git a/apps/client/src/widgets/note_tree.ts b/apps/client/src/widgets/note_tree.ts index 49eb4dcac..5d15fccd8 100644 --- a/apps/client/src/widgets/note_tree.ts +++ b/apps/client/src/widgets/note_tree.ts @@ -508,7 +508,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { (data.hitMode === "over" && node.data.noteType === "search") || (["after", "before"].includes(data.hitMode) && (node.data.noteId === hoistedNoteService.getHoistedNoteId() || node.getParent().data.noteType === "search")) ) { - await dialogService.info("Dropping notes into this location is not allowed."); + await dialogService.info(t("note_tree.dropping-not-allowed")); return; } diff --git a/apps/client/src/widgets/type_widgets/text/EditableText.tsx b/apps/client/src/widgets/type_widgets/text/EditableText.tsx index 828989671..5e3d06a76 100644 --- a/apps/client/src/widgets/type_widgets/text/EditableText.tsx +++ b/apps/client/src/widgets/type_widgets/text/EditableText.tsx @@ -17,6 +17,7 @@ import TouchBar, { TouchBarButton, TouchBarGroup, TouchBarSegmentedControl } fro import { RefObject } from "preact"; import { buildSelectedBackgroundColor } from "../../../components/touch_bar"; import { deferred } from "@triliumnext/commons"; +import { t } from "../../../services/i18n"; /** * The editor can operate into two distinct modes: @@ -279,7 +280,7 @@ function onWatchdogStateChange(watchdog: EditorWatchdog) { logError(`CKEditor crash logs: ${JSON.stringify(watchdog.crashes, null, 4)}`); if (currentState === "crashedPermanently") { - dialog.info(`Editing component keeps crashing. Please try restarting Trilium. If problem persists, consider creating a bug report.`); + dialog.info(t("editable-text.keeps-crashing")); watchdog.editor?.enableReadOnlyMode("crashed-editor"); } } diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 0753e7bb3..755e48032 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -35,7 +35,7 @@ "@triliumnext/commons": "workspace:*", "@triliumnext/server": "workspace:*", "copy-webpack-plugin": "13.0.1", - "electron": "38.7.1", + "electron": "38.7.2", "@electron-forge/cli": "7.10.2", "@electron-forge/maker-deb": "7.10.2", "@electron-forge/maker-dmg": "7.10.2", diff --git a/apps/edit-docs/package.json b/apps/edit-docs/package.json index 9aa8ebe82..54723b27c 100644 --- a/apps/edit-docs/package.json +++ b/apps/edit-docs/package.json @@ -12,7 +12,7 @@ "@triliumnext/desktop": "workspace:*", "@types/fs-extra": "11.0.4", "copy-webpack-plugin": "13.0.1", - "electron": "38.7.1", + "electron": "38.7.2", "fs-extra": "11.3.2" }, "scripts": { diff --git a/apps/server/package.json b/apps/server/package.json index a7b34797a..5cf4c1809 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -80,7 +80,7 @@ "debounce": "3.0.0", "debug": "4.4.3", "ejs": "3.1.10", - "electron": "38.7.1", + "electron": "38.7.2", "electron-debug": "4.1.0", "electron-window-state": "5.0.3", "escape-html": "1.0.3", diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Keyboard Shortcuts.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Keyboard Shortcuts.html index a9c2d7c65..c50cd159a 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Keyboard Shortcuts.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Keyboard Shortcuts.html @@ -5,69 +5,50 @@ Keyboard shortcuts. Using global: prefix, you can assign a shortcut which will work even without Trilium being in focus (requires app restart to take effect).

+

Tree

+

See the corresponding section: Keyboard shortcuts +

Note navigation

See demo of some of these features in note navigation.

Tabs

Only in desktop (electron build):

Creating notes

-

Moving / cloning notes

-

Editing notes

Runtime shortcuts

These are hooked in Electron to be similar to native browser keyboard shortcuts.

Other

\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Keyboard shortcuts.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Keyboard shortcuts.html index befdaae03..833792e85 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Keyboard shortcuts.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Keyboard shortcuts.html @@ -1,33 +1,53 @@

The Note Tree comes with multiple keyboard shortcuts to make editing faster:

+

Navigation within the tree

+

Opening notes

+ +

Clipboard management

+ +

Moving notes

+ +

Multiple selection

+

See Multiple selection for + more information about how selection works.

+ \ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Collections/List View.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Collections/List View.html index 6ff3dc0a4..034f3c653 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Collections/List View.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Collections/List View.html @@ -12,9 +12,9 @@ as a single continuous document.

Interaction

@@ -25,16 +25,15 @@

If exported to PDF within the desktop application, there is additional functionality:

Expanding and collapsing multiple notes at once

Apart from individually expanding or collapsing notes, it's also possible to expand or collapse them all at once. To do so, go to the Collection Properties tab - in the Ribbon and + in the Ribbon and look for the corresponding button.

By default, the Expand button will only expand the direct children (first level) of the collection. Starting with v0.100.0, it's possible @@ -45,7 +44,7 @@