Merge branch 'main' into fix/split_pane

This commit is contained in:
SiriusXT 2025-11-28 19:49:08 +08:00
commit 4d1a91baa6
29 changed files with 481 additions and 266 deletions

View File

@ -9,7 +9,7 @@
"keywords": [],
"author": "Elian Doran <contact@eliandoran.me>",
"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",

View File

@ -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"
}

View File

@ -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");

View File

@ -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());
}
}

View File

@ -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;
}

View File

@ -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": "复制引用到剪贴板",

View File

@ -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}}“"
}
}

View File

@ -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...",

View File

@ -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 <kbd data-command=\"duplicateSubtree\">"
},
"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",

View File

@ -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": "ジオマップ",

View File

@ -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": "複製引用到剪貼簿",

View File

@ -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;
}

View File

@ -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");
}
}

View File

@ -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",

View File

@ -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": {

View File

@ -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",

View File

@ -5,23 +5,24 @@
Keyboard shortcuts. Using <code>global:</code> prefix, you can assign a shortcut
which will work even without Trilium being in focus (requires app restart
to take effect).</p>
<h2>Tree</h2>
<p>See the corresponding section:&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/Vc8PjrjAGuOp/oPVyFC7WL2Lp/_help_DvdZhoQZY9Yd">Keyboard shortcuts</a>
</p>
<h2>Note navigation</h2>
<ul>
<li><kbd><span></span></kbd>, <kbd><span></span></kbd> - go up/down in the
list of notes, <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd><span></span></kbd> and <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd><span></span></kbd> &nbsp;work
also from editor</li>
<li><kbd><span></span></kbd>, <kbd><span></span></kbd> - collapse/expand node</li>
<li><kbd>Alt</kbd> + <kbd><span></span></kbd>, <kbd>Alt</kbd> + <kbd><span></span></kbd> -
<li data-list-item-id="ed8fd9c2ab08ae80ea76c1ae5dc943e90"><kbd>Alt</kbd> + <kbd><span></span></kbd>, <kbd>Alt</kbd> + <kbd><span></span></kbd>
go back / forwards in the history</li>
<li><kbd>Ctrl</kbd> + <kbd>J</kbd> - show <a href="#root/_help_MMiBEQljMQh2">"Jump to" dialog</a>
<li data-list-item-id="eff3c5760b3d985e7808f1524982fcb9b"><kbd>Ctrl</kbd> + <kbd>J</kbd> show <a href="#root/_help_MMiBEQljMQh2">"Jump to" dialog</a>
</li>
<li><kbd>Ctrl</kbd> + <kbd>.</kbd> - scroll to current note (useful when you
<li data-list-item-id="e1fdee08a424868922b0579e78584279c"><kbd>Ctrl</kbd> + <kbd>.</kbd> scroll to current note (useful when you
scroll away from your note or your focus is currently in the editor)</li>
<li><kbd><span>Backspace</span></kbd> - jumps to parent note</li>
<li><kbd>Alt</kbd> + <kbd>C</kbd> - collapse whole note tree</li>
<li><kbd>Alt</kbd> + <kbd>-</kbd> (alt with minus sign) - collapse subtree (if
<li
data-list-item-id="e9bbc51f19a729c10997010a915779d07"><kbd><span>Backspace</span></kbd> jumps to parent note</li>
<li data-list-item-id="eaaa0f36b2e561d4a24358552e633d924"><kbd>Alt</kbd> + <kbd>C</kbd> collapse whole note tree</li>
<li data-list-item-id="ee625a141f5298dbd52ecb6e56693e647"><kbd>Alt</kbd> + <kbd>-</kbd> (alt with minus sign) collapse subtree (if
some subtree takes too much space on tree pane you can collapse it)</li>
<li>you can define a <a href="#root/_help_zEY4DaJG4YT5">label</a> <code>#keyboardShortcut</code> with
<li
data-list-item-id="ec1bf00840a017ea798880470e419f3d9">you can define a <a href="#root/_help_zEY4DaJG4YT5">label</a> <code>#keyboardShortcut</code> with
e.g. value <kbd>Ctrl</kbd> + <kbd>I</kbd> . Pressing this keyboard combination
will then bring you to the note on which it is defined. Note that Trilium
must be reloaded/restarted (<kbd>Ctrl</kbd> + <kbd>R</kbd> ) for changes to
@ -30,44 +31,24 @@
<p>See demo of some of these features in <a href="#root/_help_MMiBEQljMQh2">note navigation</a>.</p>
<h2>Tabs</h2>
<ul>
<li><kbd>Ctrl</kbd> + <kbd>🖱 Left click</kbd> - (or middle mouse click) on note
<li data-list-item-id="e6a9d460427c0394177000c8a0eecfca4"><kbd>Ctrl</kbd> + <kbd>🖱 Left click</kbd> (or middle mouse click) on note
link opens note in a new tab</li>
</ul>
<p>Only in desktop (electron build):</p>
<ul>
<li><kbd>Ctrl</kbd> + <kbd>T</kbd> - opens empty tab</li>
<li><kbd>Ctrl</kbd> + <kbd>W</kbd> - closes active tab</li>
<li><kbd>Ctrl</kbd> + <kbd>Tab</kbd> - activates next tab</li>
<li><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> - activates previous tab</li>
<li data-list-item-id="e745e6690db1a4bee718faa94b272013e"><kbd>Ctrl</kbd> + <kbd>T</kbd> opens empty tab</li>
<li data-list-item-id="ec34c224c2c0dd74367753a6aff4f9721"><kbd>Ctrl</kbd> + <kbd>W</kbd> closes active tab</li>
<li data-list-item-id="e4b9a2163cccc3ab7dbdcf6fb7f149315"><kbd>Ctrl</kbd> + <kbd>Tab</kbd> activates next tab</li>
<li data-list-item-id="eeeabd750227ec42c30b282b9b8ab5c8d"><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> activates previous tab</li>
</ul>
<h2>Creating notes</h2>
<ul>
<li><code>CTRL+O</code> - creates new note after the current note</li>
<li><code>CTRL+P</code> - creates new sub-note into current note</li>
<li><code>F2</code> - edit <a href="#root/_help_MMiBEQljMQh2">prefix</a> of current
note clone</li>
</ul>
<h2>Moving / cloning notes</h2>
<ul>
<li><kbd>Ctrl</kbd> + <kbd><span></span></kbd> , Ctrl + <kbd><span></span></kbd> -
move note up/down in the note list</li>
<li><kbd>Ctrl</kbd> + <kbd><span></span></kbd> - move note up in the note tree</li>
<li><kbd>Ctrl</kbd>+<kbd><span></span></kbd> - move note down in the note
tree</li>
<li><kbd>Shift</kbd>+<kbd><span></span></kbd>, <kbd>Shift</kbd><code>+</code><kbd><span></span></kbd> -
multi-select note above/below</li>
<li><kbd>Ctrl</kbd>+<kbd>A</kbd> - select all notes in the current level</li>
<li><kbd>Shift</kbd>+<kbd>🖱 Left click</kbd> - multi select note which you
clicked on</li>
<li><kbd>Ctrl</kbd>+<kbd>C</kbd> - copies current note (or current selection)
into clipboard (used for <a href="#root/_help_IakOLONlIfGI">cloning</a>
</li>
<li><kbd>Ctrl</kbd>+<kbd>X</kbd> - cuts current (or current selection) note
into clipboard (used for moving notes)</li>
<li><kbd>Ctrl</kbd>+<kbd>V</kbd> - pastes note(s) as sub-note into current
note (which is either move or clone depending on whether it was copied
or cut into clipboard)</li>
<li><kbd>Del</kbd> - delete note / sub-tree</li>
<li data-list-item-id="e90a7441e67297c921f8bb2145829dd55"><kbd>CTRL</kbd>+<kbd>O</kbd> creates new note after the current note</li>
<li
data-list-item-id="e6064f6dd7b09083448cfb52247c94baa"><kbd>CTRL</kbd>+<kbd>P</kbd> creates new sub-note into current note</li>
<li
data-list-item-id="e191cb0e7231c4439632d70da65dcf800"><kbd>F2</kbd> edit&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/BFs8mudNFgCS/IakOLONlIfGI/_help_TBwsyfadTA18">Branch prefix</a>&nbsp;of
current note clone</li>
</ul>
<h2>Editing notes</h2>
<aside class="admonition note">
@ -77,30 +58,32 @@
class="reference-link" href="#root/_help_QrtTYPmdd1qq">Markdown-like formatting</a>.</p>
</aside>
<ul>
<li><kbd>Enter</kbd> in tree pane switches from tree pane into note title.
<li data-list-item-id="eea3611b470b2482ccf07e8844e4f66b9"><kbd>Enter</kbd> in tree pane switches from tree pane into note title.
Enter from note title switches focus to text editor. <kbd>Ctrl</kbd>+<kbd>.</kbd> switches
back from editor to tree pane.</li>
<li><kbd>Ctrl</kbd>+<kbd>.</kbd> - jump away from the editor to tree pane and
<li data-list-item-id="e5dab831910ac694ccef7bc474b2e67fc"><kbd>Ctrl</kbd>+<kbd>.</kbd> jump away from the editor to tree pane and
scroll to current note</li>
</ul>
<h2>Runtime shortcuts</h2>
<p>These are hooked in Electron to be similar to native browser keyboard
shortcuts.</p>
<ul>
<li><kbd>F5</kbd>, <kbd>Ctrl</kbd>-<kbd>R</kbd> - reloads Trilium front-end</li>
<li><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd> - show developer tools</li>
<li><kbd>Ctrl</kbd>+<kbd>F</kbd> - show search dialog</li>
<li><kbd>Ctrl</kbd>+<kbd>-</kbd> - zoom out</li>
<li><kbd>Ctrl</kbd>+<kbd>=</kbd> - zoom in</li>
<li data-list-item-id="e1a17ce297e78109362180536b7eabd68"><kbd>F5</kbd>, <kbd>Ctrl</kbd>+<kbd>R</kbd> reloads Trilium front-end</li>
<li
data-list-item-id="e07d1b25dc46ce0b0bd76a8db13373198"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd> show developer tools</li>
<li
data-list-item-id="e7dc66078ba520c48364952f2ac48aa79"><kbd>Ctrl</kbd>+<kbd>F</kbd> show search dialog</li>
<li data-list-item-id="e63161bd165a51e19fd04dd1223173e68"><kbd>Ctrl</kbd>+<kbd>-</kbd> zoom out</li>
<li data-list-item-id="e961144d0a57b51792830a2182459c8cf"><kbd>Ctrl</kbd>+<kbd>=</kbd> zoom in</li>
</ul>
<h2>Other</h2>
<ul>
<li><kbd>Alt</kbd>+<kbd>O</kbd> - show SQL console (use only if you know what
<li data-list-item-id="eb007c4ea2f2cd6eefbc8972d538c724c"><kbd>Alt</kbd> + <kbd>O</kbd> show SQL console (use only if you know what
you're doing)</li>
<li><kbd>Alt</kbd>+<kbd>M</kbd> - distraction-free mode - display only note
<li data-list-item-id="e9caedb43e6c66fc7c57b4899bd6d5d76"><kbd>Alt</kbd> + <kbd>M</kbd> distraction-free mode - display only note
editor, everything else is hidden</li>
<li><kbd>F11</kbd> - toggle full screen</li>
<li><kbd>Ctrl</kbd> + <kbd>S</kbd> - toggle <a href="#root/_help_eIg8jdvaoNNd">search</a> form
<li data-list-item-id="ec55bd0e5ff7da0c488a5378c0bdabed5"><kbd>F11</kbd> toggle full screen</li>
<li data-list-item-id="e8d4ec0d76155371de5d060ad661cb19e"><kbd>Ctrl</kbd> + <kbd>S</kbd> toggle <a href="#root/_help_eIg8jdvaoNNd">search</a> form
in tree pane</li>
<li><kbd>Alt</kbd> +<kbd>A</kbd> - show note <a href="#root/_help_zEY4DaJG4YT5">attributes</a> dialog</li>
<li data-list-item-id="eb938081f527f44b158be7c3ed4af4925"><kbd>Alt</kbd> +<kbd>A</kbd> show note <a href="#root/_help_zEY4DaJG4YT5">attributes</a> dialog</li>
</ul>

View File

@ -1,33 +1,53 @@
<p>The&nbsp;<a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;comes
with multiple keyboard shortcuts to make editing faster:</p>
<h2>Navigation within the tree</h2>
<ul>
<li>Opening notes:
<ul>
<li><kbd>Click</kbd> to open the note in the current tab.</li>
<li><kbd>Ctrl</kbd>+<kbd>Click</kbd> or <kbd>Middle click</kbd> to open the note
in a new tab.</li>
<li><kbd>Ctrl</kbd>+<kbd>Right click</kbd> to open the note in&nbsp;<a class="reference-link"
href="#root/_help_ZjLYv08Rp3qC">Quick edit</a>.</li>
</ul>
</li>
<li>Navigation within the tree:
<ul>
<li><kbd>Up</kbd> and <kbd>Down</kbd> to navigate between notes.</li>
<li><kbd>Left</kbd> to collapse a note, or <kbd>Right</kbd> to expand it.</li>
</ul>
</li>
<li>Clipboard management:
<ul>
<li><kbd>Ctrl</kbd>+<kbd>C</kbd> to copy a note.</li>
<li><kbd>Ctrl</kbd>+<kbd>X</kbd> to cut a note.</li>
<li><kbd>Ctrl</kbd>+<kbd>V</kbd> to paste it somewhere.</li>
</ul>
</li>
<li>For&nbsp;<a class="reference-link" href="#root/_help_yTjUdsOi4CIE">Multiple selection</a>:
<ul>
<li><kbd>Alt</kbd>+<kbd>Click</kbd>to add a single note to the current selection.</li>
<li><kbd>Shift</kbd>+<kbd>Click</kbd>to select a range of notes, starting
from the current note (the highlighted one) to the one that is being clicked.</li>
</ul>
</li>
<li data-list-item-id="eede1a5721dab5213153c6bb25bad38c9"><kbd><span></span></kbd> and <kbd><span></span></kbd> to navigate between
notes.</li>
<li data-list-item-id="ec4c4ab60720b34a95f73e93223ed3628"><kbd><span></span></kbd> to collapse a note with children, or <kbd><span></span></kbd> to
expand it.</li>
<li data-list-item-id="eb5ad59d78e70611d0233ffbb5ede3b96"><kbd><span></span></kbd> on a note with no children to navigate to its
parent.</li>
</ul>
<h2>Opening notes</h2>
<ul>
<li data-list-item-id="e3d92e8c3a1e5b9d6f2efe5067004ef5c"><kbd>Click</kbd> to open the note in the current tab.</li>
<li data-list-item-id="e8ae44ff429a0da1d529c627874f54908"><kbd>Ctrl</kbd>+<kbd>Click</kbd> or <kbd>Middle click</kbd> to open the note
in a new tab.</li>
<li data-list-item-id="e183b1a014e2bd563450dac0c8913c6f0"><kbd>Ctrl</kbd>+<kbd>Right click</kbd> to open the note in&nbsp;<a class="reference-link"
href="#root/_help_ZjLYv08Rp3qC">Quick edit</a>.</li>
</ul>
<h2>Clipboard management</h2>
<ul>
<li data-list-item-id="e28fb424bcc0d06b97ddcbcbc5145c350"><kbd>Ctrl</kbd>+<kbd>C</kbd> to copy one or more notes based on selection
(see&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/BFs8mudNFgCS/_help_IakOLONlIfGI">Cloning Notes</a>).</li>
<li
data-list-item-id="e11c4c9fcdfeb566a58d9319a340ff893"><kbd>Ctrl</kbd>+<kbd>X</kbd> to cut one or more notes (for moving them).</li>
<li
data-list-item-id="e242519cf16b3414242c4d11f20688b5b"><kbd>Ctrl</kbd>+<kbd>V</kbd> to paste them somewhere (which results in
a copy or move based on the shortcut used).</li>
</ul>
<h2>Moving notes</h2>
<ul>
<li data-list-item-id="ee2d0e5633e0ab23d0fcde7b968731794"><kbd>Ctrl</kbd> + <kbd><span></span></kbd> , <kbd>Ctrl</kbd> + <kbd><span></span></kbd> -
move note up/down in the note list.</li>
<li data-list-item-id="e14146e7aacfc92aa7daf8215ce4b379c"><kbd>Ctrl</kbd> + <kbd><span></span></kbd> - move note up in the note tree.</li>
<li
data-list-item-id="e21a7f5ab9d62af04b6ab81b0cc4cf8c7"><kbd>Ctrl</kbd>+<kbd><span></span></kbd> - move note down in the note
tree.</li>
<li data-list-item-id="e99f4b0aef9693ad25ca0ce62c5b67418"><kbd>Del</kbd> - deletes note and optionally its subtree (asked in the
dialog).</li>
</ul>
<h2>Multiple selection</h2>
<p>See&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/Vc8PjrjAGuOp/oPVyFC7WL2Lp/_help_yTjUdsOi4CIE">Multiple selection</a>&nbsp;for
more information about how selection works.</p>
<ul>
<li data-list-item-id="ebe4907d702229ab599e50f753d23cfb6"><kbd>Alt</kbd>+<kbd>Click</kbd> add a single note to the current selection.</li>
<li
data-list-item-id="ecf6bb49f8d993d376382dcab4e4a7ee8"><kbd>Shift</kbd>+<kbd>Click</kbd> select a range of notes, starting from
the current note (the highlighted one) to the one that is being clicked.</li>
<li
data-list-item-id="eb1398c2cf85b53eafc3b7ab7a0974668"><kbd>Shift</kbd>+<kbd><span></span></kbd>, <kbd>Shift</kbd>+<kbd><span></span></kbd>
multi-select not above/below.</li>
<li data-list-item-id="ebc1274f576f67d08a6d665a7318d80a8"><kbd>Ctrl</kbd>+<kbd>A</kbd> select all notes in the current level</li>
</ul>

View File

@ -12,9 +12,9 @@
as a single continuous document.</p>
<h2>Interaction</h2>
<ul>
<li data-list-item-id="e8a9709d9f325dab560cb24289d5ab231">Each note can be expanded or collapsed by clicking on the arrow to the
<li>Each note can be expanded or collapsed by clicking on the arrow to the
left of the title.</li>
<li data-list-item-id="e38647a2388fb38e1c6de17b617db9e76">In the&nbsp;<a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>,
<li>In the&nbsp;<a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>,
in the <em>Collection</em> tab there are options to expand and to collapse
all notes easily.</li>
</ul>
@ -25,16 +25,15 @@
<p>If exported to PDF within the desktop application, there is additional
functionality:</p>
<ul>
<li data-list-item-id="e06095ff0a3876a29bdc11f1a2f18dfdc">The table of contents of the PDF will reflect the structure of the notes.</li>
<li
data-list-item-id="e656526a5aa019d58af324ae5c3d39216">Reference and inline links to other notes within the same hierarchy will
<li>The table of contents of the PDF will reflect the structure of the notes.</li>
<li>Reference and inline links to other notes within the same hierarchy will
be functional (will jump to the corresponding page). If a link refers to
a note that is not in the printed hierarchy, it will be unlinked.</li>
</ul>
<h2>Expanding and collapsing multiple notes at once</h2>
<p>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 <em>Collection Properties</em> tab
in the&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/Vc8PjrjAGuOp/_help_BlN9DFI679QC">Ribbon</a>&nbsp;and
in the&nbsp;<a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>&nbsp;and
look for the corresponding button.</p>
<p>By default, the <em>Expand</em> button will only expand the direct children
(first level) of the collection. Starting with v0.100.0, it's possible
@ -45,7 +44,7 @@
<aside class="admonition tip">
<p>By design, the UI provides only a handful of levels of depth for expanding
notes (direct children, 2-5, all levels). It's also possible to specify
any desired depth by manually setting the <a href="#root/pOsGYCXsbNQG/tC7s2alapj8V/zEY4DaJG4YT5/_help_HI6GBBIduIgv">corresponding label</a>.
any desired depth by manually setting the <a href="#root/_help_HI6GBBIduIgv">corresponding label</a>.
For example: <code>#expanded=100</code> to expand up to 100 levels of depth.</p>
</aside>
<aside class="admonition note">

View File

@ -61,7 +61,32 @@
"run-active-note": "Spustit aktivní kód JavaScript (frontend/backend) poznámky",
"open-dev-tools": "Otevřít vývojářské nástroje",
"zoom-out": "Oddálit",
"zoom-in": "Přiblížit"
"zoom-in": "Přiblížit",
"text-note-operations": "Operace textových poznámek",
"show-cheatsheet": "Zobrazit modal s běžnými operacemi klávesnice",
"add-new-label": "Vytvořít nový štítek",
"insert-date-and-time-to-text": "Vložit do textu současné datum a čas",
"dialogs": "Dialogy",
"show-revisions": "Ukázat dialog „Revize poznámky“",
"add-link-to-text": "Otevřít dialog pro přidání odkazu do textu",
"follow-link-under-cursor": "Následujte odkaz, na kterém je umístěna kurzorová šipka",
"paste-markdown-into-text": "Vložit Markdown ze schránky do poznámky",
"cut-into-note": "Vyjmout výběr z aktuální poznámky a vytvořit podpoznámku s vybraným textem",
"add-include-note-to-text": "Otevřít dialog pro vložení poznámky",
"attributes-labels-and-relations": "Atributy (štítky a vazby)",
"create-new-relation": "Vytvořit novou vazbu",
"ribbon-tabs": "Karty pásu záložek",
"print-active-note": "Vytiskonout aktiivní poznámku",
"render-active-note": "Vykreslit (znovu vykreslit) aktivní poznámku",
"open-note-externally": "Otevřít poznámku jako soubor ve výchozí aplikaci",
"reload-frontend-app": "Znovu načíst frontend",
"unhoist": "Odpojit všude",
"note-navigation": "Navigace v poznámce",
"reset-zoom-level": "Resetovat úroveň přiblížení",
"copy-without-formatting": "Kopírovat vybraný text bez formátování",
"force-save-revision": "Vynutit vytvoření / uložení nové revize aktivní poznámky",
"export-as-pdf": "Exportovat současnou poznámku jako PDF",
"toggle-zen-mode": "Zapnout/vypnout režim zen (minimalistické uživatelské rozhraní pro soustředěnější úpravy)"
},
"keyboard_action_names": {
"jump-to-note": "Přejít na...",
@ -73,6 +98,15 @@
"edit-note-title": "Upravit nadpis poznámky",
"clone-notes-to": "Klonovat poznámku do",
"move-notes-to": "Přemístit poznámku do",
"copy-notes-to-clipboard": "Kopírovat poznámky do schránky"
"copy-notes-to-clipboard": "Kopírovat poznámky do schránky",
"back-in-note-history": "Zpět v historii poznámky",
"forward-in-note-history": "Vpřed v historii poznámky",
"command-palette": "Paleta příkazů",
"scroll-to-active-note": "Posunout na aktivní poznámku",
"search-in-subtree": "Hledat v podstromu",
"expand-subtree": "Otevřít podstrom",
"collapse-tree": "Zavřít strom",
"collapse-subtree": "Zavřít podstrom",
"sort-child-notes": "Seřadit dceřiné poznámky"
}
}

View File

@ -257,7 +257,8 @@
"ai-llm-title": "AI/LLM",
"localization": "Sprache & Region",
"inbox-title": "Posteingang",
"zen-mode": "Zen-Modus"
"zen-mode": "Zen-Modus",
"command-palette": "Befehlspalette öffnen"
},
"notes": {
"new-note": "Neue Notiz",

View File

@ -50,6 +50,90 @@
"canvas_description": "Uspořádejte tvary, obrázky a text na nekonečném plátně pomocí stejné technologie, jaká se používá na webu excalidraw.com. Ideální pro diagramy, náčrtky a vizuální plánování.",
"mermaid_title": "Mermaid diagramy",
"mermaid_description": "Vytvářejte diagramy, jako jsou vývojové diagramy, diagramy tříd a sekvencí, Ganttovy diagramy a mnoho dalších, pomocí syntaxe Mermaid.",
"mindmap_title": "Myšlenková mapa"
"mindmap_title": "Myšlenková mapa",
"mindmap_description": "Zorganizujte si myšlenky vizuálně nebo uspořádejte brainstorming.",
"others_list": "a další: <0>mapa poznámek</0>, <1>mapa vztahů</1>, <2>uložená vyhledávání</2>, <3>zobrazení poznámky</3> a <4>webové zobrazení</4>."
},
"extensibility_benefits": {
"title": "Sdílení a rozšiřitelnost",
"import_export_title": "Import/export",
"import_export_description": "Snadná interakce s jinými aplikacemi pomocí formátů Markdown, ENEX a OML.",
"share_title": "Sdílet poznámky na webu",
"share_description": "Pokud máte server, můžete jej použít ke sdílení části svých poznámek s ostatními lidmi.",
"scripting_title": "Pokročilé skriptování",
"scripting_description": "Vytvořte si vlastní integrace v rámci Trilium pomocí přizpůsobených widgetů nebo logiky na straně serveru.",
"api_title": "REST API",
"api_description": "Komunikujte s Trilium programově pomocí jeho vestavěného REST API."
},
"collections": {
"title": "Kolekce",
"calendar_title": "Kalendář",
"calendar_description": "Organizujte své osobní nebo pracovní události pomocí kalendáře, který podporuje celodenní i vícedenní události. Zobrazte si své události na první pohled v týdenním, měsíčním a ročním přehledu. Snadná interakce pro přidávání nebo přetahování událostí.",
"table_title": "Tabulka",
"table_description": "Zobrazujte a upravujte informace o poznámkách v tabulkové struktuře s různými typy sloupců, jako jsou text, čísla, zaškrtávací políčka, datum a čas, odkazy a barvy, a podporou vztahů. Volitelně můžete poznámky zobrazit v hierarchické struktuře stromu uvnitř tabulky.",
"board_title": "Kanbanová tabule",
"board_description": "Uspořádejte si úkoly nebo stav projektu do tabule Kanban, kde můžete snadno vytvářet nové položky a sloupce a jednoduše měnit jejich stav přetahováním po tabuli.",
"geomap_title": "Geomapa",
"geomap_description": "Naplánujte si dovolenou nebo si označte místa, která vás zajímají, přímo na geografické mapě pomocí přizpůsobitelných značek. Zobrazte zaznamenané trasy GPX a sledujte itineráře.",
"presentation_title": "Prezentace",
"presentation_description": "Uspořádejte informace do snímků a prezentujte je na celé obrazovce s plynulými přechody. Snímky lze také exportovat do formátu PDF pro snadné sdílení."
},
"faq": {
"title": "Často kladené otázky",
"mobile_question": "Existuje mobilní aplikace?",
"mobile_answer": "V současné době neexistuje žádná oficiální mobilní aplikace. Pokud však máte instanci serveru, můžete k ní přistupovat pomocí webového prohlížeče a dokonce ji nainstalovat jako PWA. Pro Android existuje neoficiální aplikace s názvem TriliumDroid, která funguje i offline (stejně jako desktopový klient).",
"database_question": "Kde jsou má data uložena?",
"database_answer": "Všechny vaše poznámky budou uloženy v databázi SQLite ve složce aplikace. Důvodem, proč Trilium používá databázi namísto prostých textových souborů, je jak výkon, tak i skutečnost, že některé funkce by byly mnohem obtížnější implementovat, například klony (stejná poznámka na více místech ve stromu). Chcete-li najít složku aplikace, stačí přejít do okna O aplikaci.",
"server_question": "Potřebuju server pro používání Trilium?",
"server_answer": "Ne, server umožňuje přístup přes webový prohlížeč a spravuje synchronizaci, pokud máte více zařízení. Chcete-li začít, stačí si stáhnout desktopovou aplikaci a začít ji používat.",
"scaling_question": "Jak dobře se aplikace přizpůsobuje velkému množství poznámek?",
"scaling_answer": "V závislosti na použití by aplikace měla být schopna bez problémů zpracovat alespoň 100 000 poznámek. Upozorňujeme, že proces synchronizace může někdy selhat, pokud nahráváte mnoho velkých souborů (1 GB na soubor), protože Trilium je spíše aplikací pro správu znalostí než úložištěm souborů (jako například NextCloud).",
"network_share_question": "Mohu sdílet svou databázi přes síťový disk?",
"network_share_answer": "Ne, sdílení databáze SQLite přes síťový disk obecně není dobrý nápad. I když to někdy může fungovat, existuje riziko, že se databáze poškodí kvůli nedokonalému zamykání souborů v síti.",
"security_question": "Jak jsou má data chráněna?",
"security_answer": "Ve výchozím nastavení nejsou poznámky šifrovány a lze je číst přímo z databáze. Jakmile je poznámka označena jako šifrovaná, je zašifrována pomocí AES-128-CBC."
},
"final_cta": {
"title": "Jste připraveni začít používat Trilium Notes?",
"description": "Vytvořte si svou osobní znalostní bázi s výkonnými funkcemi a plným soukromím.",
"get_started": "Začít"
},
"components": {
"link_learn_more": "Zjistit více..."
},
"download_now": {
"text": "Stáhnout nyní ",
"platform_big": "v{{version}} pro{{platform}}",
"platform_small": "pro {{platform}}",
"linux_big": "v{{version}} pro Linux",
"linux_small": "pro Linux",
"more_platforms": "Další platformy a nastavení serveru"
},
"header": {
"get-started": "Začít",
"documentation": "Dokumentace",
"support-us": "Podpořte nás"
},
"footer": {
"copyright_and_the": " a ",
"copyright_community": "komunita"
},
"social_buttons": {
"github": "GitHub",
"github_discussions": "GitHub diskuze",
"matrix": "Matrix",
"reddit": "Reddit"
},
"support_us": {
"title": "Podpořte nás",
"financial_donations_title": "Finanční dary",
"financial_donations_description": "Trilium je vyvíjeno a udržováno díky <Link>stovkám hodin práce</Link>. Vaše podpora zajišťuje, že zůstane open-source, vylepšuje jeho funkce a pokrývá náklady, jako je hosting.",
"financial_donations_cta": "Zvažte podporu hlavního vývojáře (<Link>eliandoran</Link>) aplikace prostřednictvím:",
"github_sponsors": "Sponzoři GitHubu",
"paypal": "PayPal",
"buy_me_a_coffee": "Buy Me A Coffee"
},
"contribute": {
"title": "Další způsoby, jak přispět"
}
}

View File

@ -1,5 +1,5 @@
# Documentation
There are multiple types of documentation for Trilium:<img class="image-style-align-right" src="api/images/VUKpkCok5Zh4/Documentation_image.png" width="205" height="162">
There are multiple types of documentation for Trilium:<img class="image-style-align-right" src="api/images/Xtlv3JlumknM/Documentation_image.png" width="205" height="162">
* The _User Guide_ represents the user-facing documentation. This documentation can be browsed by users directly from within Trilium, by pressing <kbd>F1</kbd>.
* The _Developer's Guide_ represents a set of Markdown documents that present the internals of Trilium, for developers.

View File

@ -2380,13 +2380,6 @@
"isInheritable": false,
"position": 20
},
{
"type": "relation",
"name": "internalLink",
"value": "yTjUdsOi4CIE",
"isInheritable": false,
"position": 30
},
{
"type": "label",
"name": "iconClass",
@ -2400,6 +2393,20 @@
"value": "keyboard-shortcuts",
"isInheritable": false,
"position": 40
},
{
"type": "relation",
"name": "internalLink",
"value": "IakOLONlIfGI",
"isInheritable": false,
"position": 50
},
{
"type": "relation",
"name": "internalLink",
"value": "yTjUdsOi4CIE",
"isInheritable": false,
"position": 60
}
],
"format": "markdown",
@ -5211,13 +5218,6 @@
"isInheritable": false,
"position": 20
},
{
"type": "relation",
"name": "internalLink",
"value": "IakOLONlIfGI",
"isInheritable": false,
"position": 30
},
{
"type": "relation",
"name": "internalLink",
@ -5259,6 +5259,20 @@
"value": "bx bxs-keyboard",
"isInheritable": false,
"position": 80
},
{
"type": "relation",
"name": "internalLink",
"value": "DvdZhoQZY9Yd",
"isInheritable": false,
"position": 90
},
{
"type": "relation",
"name": "internalLink",
"value": "TBwsyfadTA18",
"isInheritable": false,
"position": 100
}
],
"format": "markdown",
@ -10576,6 +10590,13 @@
"isInheritable": false,
"position": 30
},
{
"type": "relation",
"name": "internalLink",
"value": "HI6GBBIduIgv",
"isInheritable": false,
"position": 40
},
{
"type": "label",
"name": "iconClass",
@ -10589,13 +10610,6 @@
"value": "list",
"isInheritable": false,
"position": 30
},
{
"type": "relation",
"name": "internalLink",
"value": "HI6GBBIduIgv",
"isInheritable": false,
"position": 40
}
],
"format": "markdown",

View File

@ -3,49 +3,38 @@ This is supposed to be a complete list of keyboard shortcuts. Note that some of
It is also possible to configure most keyboard shortcuts in Options -> 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: <a class="reference-link" href="UI%20Elements/Note%20Tree/Keyboard%20shortcuts.md">Keyboard shortcuts</a>
## Note navigation
* <kbd><span></span></kbd>, <kbd><span></span></kbd> - go up/down in the list of notes, <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd><span></span></kbd> and <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd><span></span></kbd>  work also from editor
* <kbd><span></span></kbd>, <kbd><span></span></kbd> - collapse/expand node
* <kbd>Alt</kbd> + <kbd><span></span></kbd>, <kbd>Alt</kbd> + <kbd><span></span></kbd> - go back / forwards in the history
* <kbd>Ctrl</kbd> + <kbd>J</kbd> - show ["Jump to" dialog](Navigation/Note%20Navigation.md)
* <kbd>Ctrl</kbd> + <kbd>.</kbd> - scroll to current note (useful when you scroll away from your note or your focus is currently in the editor)
* <kbd><span>Backspace</span></kbd> - jumps to parent note
* <kbd>Alt</kbd> + <kbd>C</kbd> - collapse whole note tree
* <kbd>Alt</kbd> + <kbd>-</kbd> (alt with minus sign) - collapse subtree (if some subtree takes too much space on tree pane you can collapse it)
* <kbd>Alt</kbd> + <kbd><span></span></kbd>, <kbd>Alt</kbd> + <kbd><span></span></kbd> go back / forwards in the history
* <kbd>Ctrl</kbd> + <kbd>J</kbd> show ["Jump to" dialog](Navigation/Note%20Navigation.md)
* <kbd>Ctrl</kbd> + <kbd>.</kbd> scroll to current note (useful when you scroll away from your note or your focus is currently in the editor)
* <kbd><span>Backspace</span></kbd> jumps to parent note
* <kbd>Alt</kbd> + <kbd>C</kbd> collapse whole note tree
* <kbd>Alt</kbd> + <kbd>-</kbd> (alt with minus sign) collapse subtree (if some subtree takes too much space on tree pane you can collapse it)
* you can define a [label](../Advanced%20Usage/Attributes.md) `#keyboardShortcut` with e.g. value <kbd>Ctrl</kbd> + <kbd>I</kbd> . Pressing this keyboard combination will then bring you to the note on which it is defined. Note that Trilium must be reloaded/restarted (<kbd>Ctrl</kbd> + <kbd>R</kbd> ) for changes to be in effect.
See demo of some of these features in [note navigation](Navigation/Note%20Navigation.md).
## Tabs
* <kbd>Ctrl</kbd> + <kbd>🖱 Left click</kbd> - (or middle mouse click) on note link opens note in a new tab
* <kbd>Ctrl</kbd> + <kbd>🖱 Left click</kbd> (or middle mouse click) on note link opens note in a new tab
Only in desktop (electron build):
* <kbd>Ctrl</kbd> + <kbd>T</kbd> - opens empty tab
* <kbd>Ctrl</kbd> + <kbd>W</kbd> - closes active tab
* <kbd>Ctrl</kbd> + <kbd>Tab</kbd> - activates next tab
* <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> - activates previous tab
* <kbd>Ctrl</kbd> + <kbd>T</kbd> opens empty tab
* <kbd>Ctrl</kbd> + <kbd>W</kbd> closes active tab
* <kbd>Ctrl</kbd> + <kbd>Tab</kbd> activates next tab
* <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> activates previous tab
## Creating notes
* `CTRL+O` - creates new note after the current note
* `CTRL+P` - creates new sub-note into current note
* `F2` - edit [prefix](Navigation/Note%20Navigation.md) of current note clone
## Moving / cloning notes
* <kbd>Ctrl</kbd> + <kbd><span></span></kbd> , Ctrl + <kbd><span></span></kbd> - move note up/down in the note list
* <kbd>Ctrl</kbd> + <kbd><span></span></kbd> - move note up in the note tree
* <kbd>Ctrl</kbd>+<kbd><span></span></kbd> - move note down in the note tree
* <kbd>Shift</kbd>+<kbd><span></span></kbd>, <kbd>Shift</kbd>`+`<kbd><span></span></kbd> - multi-select note above/below
* <kbd>Ctrl</kbd>+<kbd>A</kbd> - select all notes in the current level
* <kbd>Shift</kbd>+<kbd>🖱 Left click</kbd> - multi select note which you clicked on
* <kbd>Ctrl</kbd>+<kbd>C</kbd> - copies current note (or current selection) into clipboard (used for [cloning](Notes/Cloning%20Notes.md)
* <kbd>Ctrl</kbd>+<kbd>X</kbd> - cuts current (or current selection) note into clipboard (used for moving notes)
* <kbd>Ctrl</kbd>+<kbd>V</kbd> - pastes note(s) as sub-note into current note (which is either move or clone depending on whether it was copied or cut into clipboard)
* <kbd>Del</kbd> - delete note / sub-tree
* <kbd>CTRL</kbd>+<kbd>O</kbd> creates new note after the current note
* <kbd>CTRL</kbd>+<kbd>P</kbd> creates new sub-note into current note
* <kbd>F2</kbd> edit <a class="reference-link" href="Notes/Cloning%20Notes/Branch%20prefix.md">Branch prefix</a> of current note clone
## Editing notes
@ -53,22 +42,22 @@ Only in desktop (electron build):
> For keyboard shortcuts specific to <a class="reference-link" href="../Note%20Types/Text.md">Text</a> notes, refer to <a class="reference-link" href="../Note%20Types/Text/Keyboard%20shortcuts.md">Keyboard shortcuts</a> and <a class="reference-link" href="../Note%20Types/Text/Markdown-like%20formatting.md">Markdown-like formatting</a>.
* <kbd>Enter</kbd> in tree pane switches from tree pane into note title. Enter from note title switches focus to text editor. <kbd>Ctrl</kbd>+<kbd>.</kbd> switches back from editor to tree pane.
* <kbd>Ctrl</kbd>+<kbd>.</kbd> - jump away from the editor to tree pane and scroll to current note
* <kbd>Ctrl</kbd>+<kbd>.</kbd> jump away from the editor to tree pane and scroll to current note
## Runtime shortcuts
These are hooked in Electron to be similar to native browser keyboard shortcuts.
* <kbd>F5</kbd>, <kbd>Ctrl</kbd>\-<kbd>R</kbd> - reloads Trilium front-end
* <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd> - show developer tools
* <kbd>Ctrl</kbd>+<kbd>F</kbd> - show search dialog
* <kbd>Ctrl</kbd>+<kbd>-</kbd> - zoom out
* <kbd>Ctrl</kbd>+<kbd>=</kbd> - zoom in
* <kbd>F5</kbd>, <kbd>Ctrl</kbd>+<kbd>R</kbd> reloads Trilium front-end
* <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd> show developer tools
* <kbd>Ctrl</kbd>+<kbd>F</kbd> show search dialog
* <kbd>Ctrl</kbd>+<kbd>-</kbd> zoom out
* <kbd>Ctrl</kbd>+<kbd>=</kbd> zoom in
## Other
* <kbd>Alt</kbd>+<kbd>O</kbd> - show SQL console (use only if you know what you're doing)
* <kbd>Alt</kbd>+<kbd>M</kbd> - distraction-free mode - display only note editor, everything else is hidden
* <kbd>F11</kbd> - toggle full screen
* <kbd>Ctrl</kbd> + <kbd>S</kbd> - toggle [search](Navigation/Search.md) form in tree pane
* <kbd>Alt</kbd> +<kbd>A</kbd> - show note [attributes](../Advanced%20Usage/Attributes.md) dialog
* <kbd>Alt</kbd> + <kbd>O</kbd> show SQL console (use only if you know what you're doing)
* <kbd>Alt</kbd> + <kbd>M</kbd> distraction-free mode - display only note editor, everything else is hidden
* <kbd>F11</kbd> toggle full screen
* <kbd>Ctrl</kbd> + <kbd>S</kbd> toggle [search](Navigation/Search.md) form in tree pane
* <kbd>Alt</kbd> +<kbd>A</kbd> show note [attributes](../Advanced%20Usage/Attributes.md) dialog

View File

@ -1,17 +1,36 @@
# Keyboard shortcuts
The <a class="reference-link" href="../Note%20Tree.md">Note Tree</a> comes with multiple keyboard shortcuts to make editing faster:
* Opening notes:
* <kbd>Click</kbd> to open the note in the current tab.
* <kbd>Ctrl</kbd>+<kbd>Click</kbd> or <kbd>Middle click</kbd> to open the note in a new tab.
* <kbd>Ctrl</kbd>+<kbd>Right click</kbd> to open the note in <a class="reference-link" href="../../Navigation/Quick%20edit.md">Quick edit</a>.
* Navigation within the tree:
* <kbd>Up</kbd> and <kbd>Down</kbd> to navigate between notes.
* <kbd>Left</kbd> to collapse a note, or <kbd>Right</kbd> to expand it.
* Clipboard management:
* <kbd>Ctrl</kbd>+<kbd>C</kbd> to copy a note.
* <kbd>Ctrl</kbd>+<kbd>X</kbd> to cut a note.
* <kbd>Ctrl</kbd>+<kbd>V</kbd> to paste it somewhere.
* For <a class="reference-link" href="Multiple%20selection.md">Multiple selection</a>:
* <kbd>Alt</kbd>+<kbd>Click</kbd>to add a single note to the current selection.
* <kbd>Shift</kbd>+<kbd>Click</kbd>to select a range of notes, starting from the current note (the highlighted one) to the one that is being clicked.
## Navigation within the tree
* <kbd><span></span></kbd> and <kbd><span></span></kbd> to navigate between notes.
* <kbd><span></span></kbd> to collapse a note with children, or <kbd><span></span></kbd> to expand it.
* <kbd><span></span></kbd> on a note with no children to navigate to its parent.
## Opening notes
* <kbd>Click</kbd> to open the note in the current tab.
* <kbd>Ctrl</kbd>+<kbd>Click</kbd> or <kbd>Middle click</kbd> to open the note in a new tab.
* <kbd>Ctrl</kbd>+<kbd>Right click</kbd> to open the note in <a class="reference-link" href="../../Navigation/Quick%20edit.md">Quick edit</a>.
## Clipboard management
* <kbd>Ctrl</kbd>+<kbd>C</kbd> to copy one or more notes based on selection (see <a class="reference-link" href="../../Notes/Cloning%20Notes.md">Cloning Notes</a>).
* <kbd>Ctrl</kbd>+<kbd>X</kbd> to cut one or more notes (for moving them).
* <kbd>Ctrl</kbd>+<kbd>V</kbd> to paste them somewhere (which results in a copy or move based on the shortcut used).
## Moving notes
* <kbd>Ctrl</kbd> + <kbd><span></span></kbd> , <kbd>Ctrl</kbd> + <kbd><span></span></kbd> - move note up/down in the note list.
* <kbd>Ctrl</kbd> + <kbd><span></span></kbd> - move note up in the note tree.
* <kbd>Ctrl</kbd>+<kbd><span></span></kbd> - move note down in the note tree.
* <kbd>Del</kbd> - deletes note and optionally its subtree (asked in the dialog).
## Multiple selection
See <a class="reference-link" href="Multiple%20selection.md">Multiple selection</a> for more information about how selection works.
* <kbd>Alt</kbd>+<kbd>Click</kbd> add a single note to the current selection.
* <kbd>Shift</kbd>+<kbd>Click</kbd> select a range of notes, starting from the current note (the highlighted one) to the one that is being clicked.
* <kbd>Shift</kbd>+<kbd><span></span></kbd>, <kbd>Shift</kbd>+<kbd><span></span></kbd> multi-select not above/below.
* <kbd>Ctrl</kbd>+<kbd>A</kbd> select all notes in the current level

View File

@ -84,7 +84,7 @@
"url": "https://github.com/TriliumNext/Trilium/issues"
},
"homepage": "https://triliumnotes.org",
"packageManager": "pnpm@10.23.0",
"packageManager": "pnpm@10.24.0",
"pnpm": {
"patchedDependencies": {
"@ckeditor/ckeditor5-mention": "patches/@ckeditor__ckeditor5-mention.patch",

View File

@ -2,9 +2,14 @@
* https://github.com/TriliumNext/Trilium/issues/1002
*/
import { Command, ModelDocumentSelection, ModelElement, ModelNode, Plugin, ModelRange } from 'ckeditor5';
export default class MoveBlockUpDownPlugin extends Plugin {
import { Command, ModelDocumentSelection, ModelElement, ModelNode, Plugin, ModelRange, _isMac, Editor } from 'ckeditor5';
const keyMap = {
ArrowUp: 'moveBlockUp',
ArrowDown: 'moveBlockDown'
};
export default class MoveBlockUpDownPlugin extends Plugin {
init() {
const editor = this.editor;
@ -21,17 +26,14 @@ export default class MoveBlockUpDownPlugin extends Plugin {
const domRoot = editor.editing.view.getDomRoot();
if (!domRoot) return;
const isMac = _isMac(navigator.userAgent.toLowerCase());
const handleKeydown = (e: KeyboardEvent) => {
const keyMap = {
ArrowUp: 'moveBlockUp',
ArrowDown: 'moveBlockDown'
};
const command = keyMap[e.key];
const isCtrl = e.ctrlKey || e.metaKey;
const hasModifier = (isCtrl || e.altKey) && !(isCtrl && e.altKey);
if (!command) return;
const isOnlyMeta = (!e.ctrlKey && !e.altKey && e.metaKey);
const isOnlyAlt = (!e.ctrlKey && e.altKey && !e.metaKey);
if (command && hasModifier) {
if ((!isMac && isOnlyMeta) || isOnlyAlt) {
e.preventDefault();
e.stopImmediatePropagation();
editor.execute(command);
@ -100,8 +102,7 @@ abstract class MoveBlockUpDownCommand extends Command {
}
writer.setSelection(range);
this.editor.editing.view.focus();
this.scrollToSelection();
scrollToSelection(this.editor);
});
}
@ -129,13 +130,6 @@ abstract class MoveBlockUpDownCommand extends Command {
// Deduplicate adjacent duplicates (e.g., nested selections resolving to same block)
return resolved.filter((blk, idx) => idx === 0 || blk !== resolved[idx - 1]);
}
scrollToSelection() {
// Ensure scroll happens in sync with DOM updates
requestAnimationFrame(() => {
this.editor.editing.view.scrollToTheSelection();
});
};
}
class MoveBlockUpCommand extends MoveBlockUpDownCommand {
@ -162,3 +156,10 @@ class MoveBlockDownCommand extends MoveBlockUpDownCommand {
return "after" as const;
}
}
function scrollToSelection(editor: Editor) {
// Ensure scroll happens in sync with DOM updates
requestAnimationFrame(() => {
editor.editing.view.scrollToTheSelection();
});
};

122
pnpm-lock.yaml generated
View File

@ -90,7 +90,7 @@ importers:
version: 7.0.1(eslint@9.39.1(jiti@2.6.1))
happy-dom:
specifier: ~20.0.0
version: 20.0.10
version: 20.0.11
http-server:
specifier: 14.1.1
version: 14.1.1
@ -129,7 +129,7 @@ importers:
version: 4.5.4(@types/node@24.10.1)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
apps/build-docs:
devDependencies:
@ -339,8 +339,8 @@ importers:
specifier: 13.0.1
version: 13.0.1(webpack@5.101.3(esbuild@0.27.0))
happy-dom:
specifier: 20.0.10
version: 20.0.10
specifier: 20.0.11
version: 20.0.11
script-loader:
specifier: 0.7.2
version: 0.7.2
@ -367,7 +367,7 @@ importers:
dependencies:
'@electron/remote':
specifier: 2.1.3
version: 2.1.3(electron@38.7.1)
version: 2.1.3(electron@38.7.2)
better-sqlite3:
specifier: 12.4.6
version: 12.4.6
@ -424,8 +424,8 @@ importers:
specifier: 13.0.1
version: 13.0.1(webpack@5.101.3(esbuild@0.27.0))
electron:
specifier: 38.7.1
version: 38.7.1
specifier: 38.7.2
version: 38.7.2
prebuild-install:
specifier: 7.1.3
version: 7.1.3
@ -480,8 +480,8 @@ importers:
specifier: 13.0.1
version: 13.0.1(webpack@5.101.3(esbuild@0.27.0))
electron:
specifier: 38.7.1
version: 38.7.1
specifier: 38.7.2
version: 38.7.2
fs-extra:
specifier: 11.3.2
version: 11.3.2
@ -506,7 +506,7 @@ importers:
version: 7.1.1
'@electron/remote':
specifier: 2.1.3
version: 2.1.3(electron@38.7.1)
version: 2.1.3(electron@38.7.2)
'@preact/preset-vite':
specifier: 2.10.2
version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
@ -649,8 +649,8 @@ importers:
specifier: 3.1.10
version: 3.1.10
electron:
specifier: 38.7.1
version: 38.7.1
specifier: 38.7.2
version: 38.7.2
electron-debug:
specifier: 4.1.0
version: 4.1.0
@ -840,7 +840,7 @@ importers:
version: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
vitest:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
packages/ckeditor5:
dependencies:
@ -931,7 +931,7 @@ importers:
version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
specifier: 9.20.1
version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@ -991,7 +991,7 @@ importers:
version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
specifier: 9.20.1
version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@ -1051,7 +1051,7 @@ importers:
version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
specifier: 9.20.1
version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@ -1118,7 +1118,7 @@ importers:
version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
specifier: 9.20.1
version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@ -1185,7 +1185,7 @@ importers:
version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
specifier: 9.20.1
version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@ -2336,11 +2336,11 @@ packages:
engines: {node: '>=14.14'}
hasBin: true
'@emnapi/core@1.7.0':
resolution: {integrity: sha512-pJdKGq/1iquWYtv1RRSljZklxHCOCAJFJrImO5ZLKPJVJlVUcs8yFwNQlqS0Lo8xT1VAXXTCZocF9n26FWEKsw==}
'@emnapi/core@1.7.1':
resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==}
'@emnapi/runtime@1.7.0':
resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==}
'@emnapi/runtime@1.7.1':
resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
'@emnapi/wasi-threads@1.1.0':
resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
@ -5448,6 +5448,9 @@ packages:
'@types/node@20.19.24':
resolution: {integrity: sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==}
'@types/node@20.19.25':
resolution: {integrity: sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==}
'@types/node@22.15.21':
resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==}
@ -5463,6 +5466,9 @@ packages:
'@types/node@22.18.8':
resolution: {integrity: sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==}
'@types/node@22.19.1':
resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==}
'@types/node@24.10.1':
resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==}
@ -7242,6 +7248,9 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
csstype@3.2.3:
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
custom-event@1.0.1:
resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==}
@ -7827,8 +7836,8 @@ packages:
resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==}
engines: {node: '>=8.0.0'}
electron@38.7.1:
resolution: {integrity: sha512-mdFVpL80nZvIvajtl1Xz+2Q/a9tFGVnPO0YW/N+MqQUyZG8D9r3wrWoaEVBXTc1jI+Vkg77Eqqwh5FLiaYRI+A==}
electron@38.7.2:
resolution: {integrity: sha512-BcjR0IHqp3uv4ytVQwW2/9zAWo17Rjwrydn6RS+g+vqhpcPTzmBHDCHKaEcqheSl/7zzKPgFZdvT21BoSfrxRQ==}
engines: {node: '>= 12.20.55'}
hasBin: true
@ -8807,8 +8816,8 @@ packages:
engines: {node: '>=0.4.7'}
hasBin: true
happy-dom@20.0.10:
resolution: {integrity: sha512-6umCCHcjQrhP5oXhrHQQvLB0bwb1UzHAHdsXy+FjtKoYjUhmNZsQL8NivwM1vDvNEChJabVrUYxUnp/ZdYmy2g==}
happy-dom@20.0.11:
resolution: {integrity: sha512-QsCdAUHAmiDeKeaNojb1OHOPF7NjcWPBR7obdu3NwH2a/oyQaLg5d0aaCy/9My6CdPChYF07dvz5chaXBGaD4g==}
engines: {node: '>=20.0.0'}
has-bigints@1.1.0:
@ -15769,6 +15778,8 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-code-block@47.2.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)':
dependencies:
@ -16029,6 +16040,8 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-editor-multi-root@47.2.0':
dependencies:
@ -16051,6 +16064,8 @@ snapshots:
'@ckeditor/ckeditor5-table': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-emoji@47.2.0':
dependencies:
@ -16076,8 +16091,6 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-engine': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-essentials@47.2.0':
dependencies:
@ -16537,6 +16550,8 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-restricted-editing@47.2.0':
dependencies:
@ -17381,9 +17396,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@electron/remote@2.1.3(electron@38.7.1)':
'@electron/remote@2.1.3(electron@38.7.2)':
dependencies:
electron: 38.7.1
electron: 38.7.2
'@electron/universal@2.0.2':
dependencies:
@ -17407,13 +17422,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@emnapi/core@1.7.0':
'@emnapi/core@1.7.1':
dependencies:
'@emnapi/wasi-threads': 1.1.0
tslib: 2.8.1
optional: true
'@emnapi/runtime@1.7.0':
'@emnapi/runtime@1.7.1':
dependencies:
tslib: 2.8.1
optional: true
@ -18122,7 +18137,7 @@ snapshots:
'@inquirer/figures': 1.0.13
'@inquirer/type': 2.0.0
'@types/mute-stream': 0.0.4
'@types/node': 22.18.13
'@types/node': 22.19.1
'@types/wrap-ansi': 3.0.0
ansi-escapes: 4.3.2
cli-width: 4.1.0
@ -18700,8 +18715,8 @@ snapshots:
'@napi-rs/wasm-runtime@1.0.7':
dependencies:
'@emnapi/core': 1.7.0
'@emnapi/runtime': 1.7.0
'@emnapi/core': 1.7.1
'@emnapi/runtime': 1.7.1
'@tybys/wasm-util': 0.10.1
optional: true
@ -20706,7 +20721,7 @@ snapshots:
'@types/mute-stream@0.0.4':
dependencies:
'@types/node': 24.10.1
'@types/node': 22.19.1
'@types/node-forge@1.3.14':
dependencies:
@ -20718,6 +20733,10 @@ snapshots:
dependencies:
undici-types: 6.21.0
'@types/node@20.19.25':
dependencies:
undici-types: 6.21.0
'@types/node@22.15.21':
dependencies:
undici-types: 6.21.0
@ -20738,6 +20757,10 @@ snapshots:
dependencies:
undici-types: 6.21.0
'@types/node@22.19.1':
dependencies:
undici-types: 6.21.0
'@types/node@24.10.1':
dependencies:
undici-types: 7.16.0
@ -20761,7 +20784,7 @@ snapshots:
'@types/react@19.1.7':
dependencies:
csstype: 3.1.3
csstype: 3.2.3
optional: true
'@types/readdir-glob@1.1.5':
@ -20887,7 +20910,7 @@ snapshots:
'@types/yauzl@2.10.3':
dependencies:
'@types/node': 24.10.1
'@types/node': 22.18.13
optional: true
'@typescript-eslint/eslint-plugin@8.46.4(@typescript-eslint/parser@8.46.4(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)':
@ -21117,7 +21140,7 @@ snapshots:
'@vitest/browser-webdriverio@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))':
dependencies:
'@vitest/browser': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- bufferutil
@ -21134,7 +21157,7 @@ snapshots:
pngjs: 7.0.0
sirv: 3.0.2
tinyrainbow: 3.0.3
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- bufferutil
@ -21153,7 +21176,7 @@ snapshots:
magicast: 0.5.1
obug: 2.1.1
tinyrainbow: 3.0.3
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
@ -21170,7 +21193,7 @@ snapshots:
obug: 2.1.1
std-env: 3.10.0
tinyrainbow: 3.0.3
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
optionalDependencies:
'@vitest/browser': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
transitivePeerDependencies:
@ -21220,7 +21243,7 @@ snapshots:
sirv: 3.0.2
tinyglobby: 0.2.15
tinyrainbow: 3.0.3
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
'@vitest/utils@4.0.14':
dependencies:
@ -23086,6 +23109,9 @@ snapshots:
csstype@3.1.3: {}
csstype@3.2.3:
optional: true
custom-event@1.0.1: {}
cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.2):
@ -23747,7 +23773,7 @@ snapshots:
- supports-color
optional: true
electron@38.7.1:
electron@38.7.2:
dependencies:
'@electron/get': 2.0.3
'@types/node': 22.18.13
@ -25186,9 +25212,9 @@ snapshots:
optionalDependencies:
uglify-js: 3.19.3
happy-dom@20.0.10:
happy-dom@20.0.11:
dependencies:
'@types/node': 20.19.24
'@types/node': 20.19.25
'@types/whatwg-mimetype': 3.0.2
whatwg-mimetype: 3.0.0
@ -31767,7 +31793,7 @@ snapshots:
tsx: 4.20.6
yaml: 2.8.1
vitest@4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1):
vitest@4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1):
dependencies:
'@vitest/expect': 4.0.14
'@vitest/mocker': 4.0.14(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
@ -31794,7 +31820,7 @@ snapshots:
'@types/node': 24.10.1
'@vitest/browser-webdriverio': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/ui': 4.0.14(vitest@4.0.14)
happy-dom: 20.0.10
happy-dom: 20.0.11
jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- jiti