feat(docs): use <kbd> for keyboard shortcuts

This commit is contained in:
Elian Doran 2025-03-14 12:11:09 +02:00
parent 806cd7129a
commit 875e65284c
No known key found for this signature in database
15 changed files with 456 additions and 616 deletions

View File

@ -20,119 +20,111 @@
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>Note navigation</h2>
<h2>Note navigation</h2>
<ul>
<li><code>UP</code>, <code>DOWN</code> - go up/down in the list of notes, <code>CTRL-SHIFT-UP</code> and <code>CTRL-SHIFT-DOWN</code> work
<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><code>LEFT</code>, <code>RIGHT</code> - collapse/expand node</li>
<li><code>ALT+LEFT</code>, <code>ALT+RIGHT</code> - go back / forwards in the
history</li>
<li><code>CTRL+J</code> - show <a href="Navigation/Note%20Navigation.html">"Jump to" dialog</a>
<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> -
go back / forwards in the history</li>
<li><kbd>Ctrl</kbd> + <kbd>J</kbd> - show <a href="Navigation/Note%20Navigation.html">"Jump to" dialog</a>
</li>
<li><code>CTRL+.</code> - scroll to current note (useful when you scroll away
from your note or your focus is currently in the editor)</li>
<li><code>BACKSPACE</code> - jumps to parent note</li>
<li><code>ALT+C</code> - collapse whole note tree</li>
<li><code>ALT+-</code> (alt with minus sign) - collapse subtree (if some subtree
takes too much space on tree pane you can collapse it)</li>
<li><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
some subtree takes too much space on tree pane you can collapse it)</li>
<li>you can define a <a href="../Advanced%20Usage/Attributes.html">label</a> <code>#keyboardShortcut</code> with
e.g. value <code>Ctrl+I</code>. Pressing this keyboard combination will
then bring you to the note on which it is defined. Note that Trilium must
be reloaded/restarted (Ctrl+R) for changes to be in effect.</li>
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.</li>
</ul>
<p>See demo of some of these features in <a href="Navigation/Note%20Navigation.html">note navigation</a>.</p>
<h2>Tabs</h2>
<h2>Tabs</h2>
<ul>
<li><code>CTRL+click</code> - (or middle mouse click) on note link opens note
in a new tab</li>
<li><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><code>CTRL+T</code> - opens empty tab</li>
<li><code>CTRL+W</code> - closes active tab</li>
<li><code>CTRL+Tab</code> - activates next tab</li>
<li><code>CTRL+Shift+Tab</code> - activates previous tab</li>
<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>
</ul>
<h2>Creating notes</h2>
<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="Navigation/Note%20Navigation.html">prefix</a> of
current note clone</li>
</ul>
<h2>Moving / cloning notes</h2>
<h2>Moving / cloning notes</h2>
<ul>
<li><code>CTRL+UP</code>, <code>CTRL+DOWN</code> - move note up/down in the
note list</li>
<li><code>CTRL+LEFT</code> - move note up in the note tree</li>
<li><code>CTRL+RIGHT</code> - move note down in the note tree</li>
<li><code>SHIFT+UP</code>, <code>SHIFT+DOWN</code> - multi-select note above/below</li>
<li><code>CTRL+A</code> - select all notes in the current level</li>
<li><code>SHIFT+click</code> - multi select note which you clicked on</li>
<li><code>CTRL+C</code> - copies current note (or current selection) into clipboard
(used for <a href="Note/Cloning%20Notes.html">cloning</a>
<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="Note/Cloning%20Notes.html">cloning</a>
</li>
<li><code>CTRL+X</code> - cuts current (or current selection) note into clipboard
(used for moving notes)</li>
<li><code>CTRL+V</code> - 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><code>DEL</code> - delete note / sub-tree</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>
</ul>
<h2>Editing notes</h2>
<h2>Editing notes</h2>
<p>Trilium uses CKEditor 5 for the <a href="../Note%20Types/Text.html">text notes</a> and
CodeMirror 5 for <a href="../Note%20Types/Code.html">code notes</a>. Check
the documentation of these projects to see all their built-in keyboard
shortcuts.</p>
<ul>
<li><code>ALT-F10</code> - bring up inline formatting toolbar (arrow keys <code>&lt;-</code>,<code>-&gt;</code> to
navigate, <code>ENTER</code> to apply)</li>
<li><code>ALT-F10</code> - again to bring up block formatting toolbar</li>
<li><code>ENTER</code> in tree pane switches from tree pane into note title.
Enter from note title switches focus to text editor. <code>CTRL+.</code> switches
<li><kbd>Alt</kbd>-<kbd>F10</kbd> - bring up inline formatting toolbar (arrow
keys <kbd><span></span></kbd>,<kbd><span></span></kbd> to navigate, <kbd>Enter</kbd> to
apply)</li>
<li><kbd>Alt</kbd>-<kbd>F10</kbd> - again to bring up block formatting toolbar</li>
<li><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><code>CTRL+K</code> - create / edit <a href="../Note%20Types/Text/Links.html">external link</a>
<li><kbd>Ctrl</kbd>+<kbd>K</kbd> - create / edit <a href="../Note%20Types/Text/Links.html">external link</a>
</li>
<li><code>CTRL+L</code> - create <a href="../Note%20Types/Text/Links.html">internal (note) link</a>
<li><kbd>Ctrl</kbd>+<kbd>L</kbd> - create <a href="../Note%20Types/Text/Links.html">internal (note) link</a>
</li>
<li><code>ALT+T</code> - inserts current date and time at caret position</li>
<li><code>CTRL+.</code> - jump away from the editor to tree pane and scroll
to current note</li>
<li><kbd>Alt</kbd>+<kbd>T</kbd> - inserts current date and time at caret position</li>
<li><kbd>Ctrl</kbd>+<kbd>.</kbd> - jump away from the editor to tree pane and
scroll to current note</li>
</ul>
<h2>Runtime shortcuts</h2>
<h2>Runtime shortcuts</h2>
<p>These are hooked in Electron to be similar to native browser keyboard
shortcuts.</p>
<ul>
<li><code>F5</code>, <code>CTRL-R</code> - reloads trilium frontend</li>
<li><code>CTRL+SHIFT+I</code> - show developer tools</li>
<li><code>CTRL+F</code> - show search dialog</li>
<li><code>CTRL+-</code> - zoom out</li>
<li><code>CTRL+=</code> - zoom in</li>
<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>
</ul>
<h2>Other</h2>
<h2>Other</h2>
<ul>
<li><code>ALT+O</code> - show SQL console (use only if you know what you're
doing)</li>
<li><code>ALT+M</code> - distraction-free mode - display only note editor,
everything else is hidden</li>
<li><code>F11</code> - toggle full screen</li>
<li><code>CTRL+S</code> - toggle <a href="Navigation/Search.html">search</a> form
<li><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
editor, everything else is hidden</li>
<li><kbd>F11</kbd> - toggle full screen</li>
<li><kbd>Ctrl</kbd> + <kbd>S</kbd> - toggle <a href="Navigation/Search.html">search</a> form
in tree pane</li>
<li><code>ALT+A</code> - show note <a href="../Advanced%20Usage/Attributes.html">attributes</a> dialog</li>
<li><kbd>Alt</kbd> +<kbd>A</kbd> - show note <a href="../Advanced%20Usage/Attributes.html">attributes</a> dialog</li>
</ul>
</div>
</div>

View File

@ -15,28 +15,22 @@
<div class="ck-content">
<p>One of the Trilium's goals is to provide fast and comfortable navigation
between notes.</p>
<h2>Backwards and forward</h2>
<h2>Backwards and forward</h2>
<p>You can use alt-left and alt-right to move back and forward in history
of viewed pages.</p>
<p>This works identically to browser backwards / forwards, it's actually
using built-in browser support for this.</p>
<p>
<img src="Note Navigation_image.png" alt="" />
<img src="Note Navigation_image.png" alt="">
</p>
<h2>Jump to note</h2>
<h2>Jump to note</h2>
<p>This is useful to quickly find and view arbitrary note - click on <code>Jump to</code> button
on the top or press <code>CTRL-J</code>. Then type part of the note name
and autocomplete will help you pick the desired note.</p>
on the top or press <kbd>Ctrl</kbd> + <kbd>J</kbd> . Then type part of the
note name and autocomplete will help you pick the desired note.</p>
<p>
<img src="../../Attachments/jump-to.gif" alt="" />
<img src="../../Attachments/jump-to.gif" alt="">
</p>
<h3>Recent notes</h3>
<h3>Recent notes</h3>
<p>Jump to note also has the ability to show the list of recently viewed
/ edited notes and quickly jump to it.</p>
<p>To access this functionality, click on <code>Jump to</code> button on the
@ -44,7 +38,7 @@
will show the list of recent notes.</p>
<p>Alternatively you can click on the "time" icon on the right.</p>
<p>
<img src="../../Attachments/recent-notes.gif" alt="" />
<img src="../../Attachments/recent-notes.gif" alt="">
</p>
</div>
</div>

View File

@ -14,24 +14,19 @@
<div class="ck-content">
<h2>Local Search</h2>
<p>Local search allows you to search within the currently displayed note.
To initiate a local search, press CTRL-F. If using a web browser, this
will be handled by the browser's native search functionality. In the desktop
(electron) version, a separate dialog will apear.</p>
<h2>Note Search</h2>
To initiate a local search, press <kbd>Ctrl</kbd> + <kbd>F</kbd>. If using
a web browser, this will be handled by the browser's native search functionality.
In the desktop (electron) version, a separate dialog will apear.</p>
<h2>Note Search</h2>
<p>Note search enables you to find notes by searching for text in the title,
content, or <a href="../../Advanced%20Usage/Attributes.html">attributes</a> of
the notes. You also have the option to save your searches, which will create
a special search note which is visible on your navigation tree and contains
the search results as sub-items.</p>
<p>To search for notes, click on the magnifying glass icon on the toolbar
or press the <code>CTRL-S</code> keyboard <a href="../Keyboard%20Shortcuts.html">shortcut</a>.</p>
<h3>Simple Note Search Examples</h3>
or press the <kbd>Ctrl</kbd> + <kbd>S</kbd> keyboard <a href="../Keyboard%20Shortcuts.html">shortcut</a>.</p>
<h3>Simple Note Search Examples</h3>
<ul>
<li><code>rings tolkien</code>: Full-text search to find notes containing
both "rings" and "tolkien".</li>
@ -62,9 +57,7 @@
match a regular expression (regex). This feature has been available since
Trilium 0.52.</li>
</ul>
<h3>Advanced Use Cases</h3>
<h3>Advanced Use Cases</h3>
<ul>
<li><code>~author.relations.son.title = 'Christopher Tolkien'</code>: Search
for notes with an "author" relation to a note that has a "son" relation
@ -105,16 +98,11 @@
<li><code>note.children.title = 'sub-note'</code>: Find notes with a child
named "sub-note".</li>
</ul>
<h3>Search with Note Properties</h3>
<h3>Search with Note Properties</h3>
<p>Notes have properties that can be used in searches, such as <code>noteId</code>, <code>dateModified</code>, <code>dateCreated</code>, <code>isProtected</code>, <code>type</code>, <code>title</code>, <code>text</code>, <code>content</code>, <code>rawContent</code>, <code>ownedLabelCount</code>, <code>labelCount</code>, <code>ownedRelationCount</code>, <code>relationCount</code>, <code>ownedRelationCountIncludingLinks</code>, <code>relationCountIncludingLinks</code>, <code>ownedAttributeCount</code>, <code>attributeCount</code>, <code>targetRelationCount</code>, <code>targetRelationCountIncludingLinks</code>, <code>parentCount</code>, <code>childrenCount</code>, <code>isArchived</code>, <code>contentSize</code>, <code>noteSize</code>,
and <code>revisionCount</code>.</p>
<p>These properties can be accessed via the <code>note.</code> prefix, e.g., <code>note.type = code AND note.mime = 'application/json'</code>.</p>
<h3>Order by and Limit</h3>
<pre><code class="language-text-x-trilium-auto">#author=Tolkien orderBy #publicationDate desc, note.title limit 10</code></pre>
<h3>Order by and Limit</h3><pre><code class="language-text-x-trilium-auto">#author=Tolkien orderBy #publicationDate desc, note.title limit 10</code></pre>
<p>This example will:</p>
<ol>
<li>Find notes with the author label "Tolkien".</li>
@ -123,27 +111,16 @@
are equal.</li>
<li>Limit the results to the first 10 notes.</li>
</ol>
<h3>Negation</h3>
<p>Some queries can only be expressed with negation:</p>
<pre><code class="language-text-x-trilium-auto">#book AND not(note.ancestor.title = 'Tolkien')</code></pre>
<h3>Negation</h3>
<p>Some queries can only be expressed with negation:</p><pre><code class="language-text-x-trilium-auto">#book AND not(note.ancestor.title = 'Tolkien')</code></pre>
<p>This query finds all book notes not in the "Tolkien" subtree.</p>
<h2>Under the Hood</h2>
<h3>Label and Relation Shortcuts</h3>
<p>The "full" syntax for searching by labels is:</p>
<pre><code class="language-text-x-trilium-auto">note.labels.publicationYear = 1954</code></pre>
<p>For relations:</p>
<pre><code class="language-text-x-trilium-auto">note.relations.author.title *=* Tolkien</code></pre>
<p>However, common label and relation searches have shortcut syntax:</p>
<pre><code class="language-text-x-trilium-auto">#publicationYear = 1954
<h2>Under the Hood</h2>
<h3>Label and Relation Shortcuts</h3>
<p>The "full" syntax for searching by labels is:</p><pre><code class="language-text-x-trilium-auto">note.labels.publicationYear = 1954</code></pre>
<p>For relations:</p><pre><code class="language-text-x-trilium-auto">note.relations.author.title *=* Tolkien</code></pre>
<p>However, common label and relation searches have shortcut syntax:</p><pre><code class="language-text-x-trilium-auto">#publicationYear = 1954
#author.title *=* Tolkien</code></pre>
<h3>Separating Full-Text and Attribute Parts</h3>
<p>Search syntax allows combining full-text search with attribute-based search
seamlessly. For example, <code>tolkien #book</code> contains:</p>
<ol>
@ -155,28 +132,21 @@
<p>Trilium detects the separation between full text search and attribute/property
search by looking for certain special characters or words that denote attributes
and properties (e.g., #, ~, note.). If you need to include these in full-text
search, escape them with a backslash so they are processed as regular text:</p>
<pre><code class="language-text-x-trilium-auto">"note.txt"
search, escape them with a backslash so they are processed as regular text:</p><pre><code class="language-text-x-trilium-auto">"note.txt"
\#hash
#myLabel = 'Say "Hello World"'</code></pre>
<h3>Escaping Special Characters</h3>
<p>&nbsp;</p>
<p>Special characters can be enclosed in quotes or escaped with a backslash
to be used in full-text search:</p>
<pre><code class="language-text-x-trilium-auto">"note.txt"
to be used in full-text search:</p><pre><code class="language-text-x-trilium-auto">"note.txt"
\#hash
#myLabel = 'Say "Hello World"'</code></pre>
<p>Three types of quotes are supported: single, double, and backtick.</p>
<h3>Type Coercion</h3>
<p>Label values are technically strings but can be coerced for numeric comparisons:</p>
<pre><code class="language-text-x-trilium-auto">note.dateCreated =* '2019-05'</code></pre>
<h3>Type Coercion</h3>
<p>Label values are technically strings but can be coerced for numeric comparisons:</p><pre><code class="language-text-x-trilium-auto">note.dateCreated =* '2019-05'</code></pre>
<p>This finds notes created in May 2019. Numeric operators like <code>#publicationYear &gt;= 1960</code> convert
string values to numbers for comparison.</p>
<h2>Auto-Trigger Search from URL</h2>
<h2>Auto-Trigger Search from URL</h2>
<p>You can open Trilium and automatically trigger a search by including the
search <a href="https://meyerweb.com/eric/tools/dencoder/">url encoded</a> string
in the URL:</p>

View File

@ -14,7 +14,6 @@
<div class="ck-content">
<h2>Motivation</h2>
<p>Trilium's core feature is the ability to structure your notes into hierarchical
tree-like structure.</p>
<p>It is expected then that you'll have an elaborate and deep note hierarchy
@ -47,9 +46,7 @@
a programming language and a tool (shell) very much tied into Linux. It
seems it belongs to both of these, I can't (and don't want to) choose one
over the other.</p>
<h2>Solution</h2>
<h2>Solution</h2>
<p>The solution to the problem shown above is to allow notes to have multiple
parents.</p>
<p>I call these "clones", but that is a bit misleading - there's no original
@ -94,31 +91,26 @@
<p>So now the "Bash" subtree appears on multiple locations in the hierarchy.
Both the Bash subtrees are the same and contain the same sub-categories
and notes.</p>
<h3>Demo</h3>
<h3>Demo</h3>
<p>
<img src="../../Attachments/create-clone.gif" alt="" />
<img src="../../Attachments/create-clone.gif" alt="">
</p>
<p>In the demo, you can see how a clone can be created using the context
menu. It's possible to do this also using the Add Link dialog or with CTRL+C
and CTRL+V <a href="../Keyboard%20Shortcuts.html">keyboard shortcuts</a>.</p>
menu. It's possible to do this also using the Add Link dialog or with <kbd>Ctrl</kbd>+<kbd>C</kbd> and <kbd>Ctrl</kbd>+<kbd>V</kbd>
<a
href="../Keyboard%20Shortcuts.html">keyboard shortcuts</a>.</p>
<p>As seen in the demo, you can view the list of all available clones in
the "Note Paths" tab in the Ribbon toolbar.</p>
<p>Titles of cloned notes in the tree view have an asterisk to the right
to easily see that the note is also placed into some other location.</p>
<h2>Prefix</h2>
<h2>Prefix</h2>
<p>Since notes can be categorized into multiple places, it's recommended
to choose a generalized name that fits into all locations instead of something
more specific to avoid confusion. In some cases this isn't possible so
Trilium provides "branch prefixes", which is shown before the note name
in the tree and as such provides a specific kind of context. The prefix
is location specific, so it's displayed only in the tree pane.</p>
<h2>Deleting notes/clones</h2>
<h2>Deleting notes/clones</h2>
<p>With clones, it might not be immediately obvious how deleting works.</p>
<p>If you try to delete a note, it works like this:</p>
<ol>

View File

@ -14,17 +14,14 @@
<div class="ck-content">
<h2>Default Themes</h2>
<p>Trilium comes with a couple pre-installed color themes, with the default
being a light theme. To switch to a dark theme or any other available theme,
navigate to the Options menu (accessible via the app icon in the top-left
corner), select the Appearance tab, and choose your preferred theme.</p>
<p>
<img src="../Attachments/dark-theme.png" alt="Dark Theme" />
<img src="../Attachments/dark-theme.png" alt="Dark Theme">
</p>
<h2>Creating Custom CSS Themes</h2>
<h2>Creating Custom CSS Themes</h2>
<p>Trilium supports custom user themes, allowing you to personalize the application's
appearance. To create a custom theme, follow these steps:</p>
<ol>
@ -34,8 +31,7 @@
your note, where <code>my-theme-name</code> is the name of your custom theme.</li>
<li><strong>Define Your Styles</strong>: Write your custom CSS within the
note. Below is an example of a custom theme:</li>
</ol>
<pre><code class="language-text-x-trilium-auto">@font-face {
</ol><pre><code class="language-text-x-trilium-auto">@font-face {
font-family: 'Raleway';
font-style: normal;
font-weight: 400;
@ -89,7 +85,6 @@ body .CodeMirror {
filter: invert(100%) hue-rotate(180deg);
}</code></pre>
<h3>Activating Your Custom Theme</h3>
<p>Once you've created your custom theme:</p>
<ol>
<li>Go to "Menu" -&gt; "Options" -&gt; "Appearance."</li>
@ -97,29 +92,23 @@ body .CodeMirror {
under the name you provided with the <code>#appTheme</code> <a href="../Advanced%20Usage/Attributes.html">label</a>.</li>
<li>Select your custom theme to activate it.</li>
</ol>
<p>If you make changes to your theme, press <code>CTRL-R</code> to reload the
frontend and apply your updates.</p>
<h3>Sharing and Importing Themes</h3>
<p>If you make changes to your theme, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to
reload the frontend and apply your updates.</p>
<h3>Sharing and Importing Themes</h3>
<p>Custom themes can be exported as <code>.tar</code> archives, which can be
shared with other users. However, be cautious when importing themes from
untrusted sources, as they may contain executable scripts that could pose
security risks.</p>
<p>An example user theme, <em>Steel Blue</em>, is available in the <a href="#root/xjSsCcvVZf6H">demo document</a>.</p>
<p>
<img src="../Attachments/steel-blue.png" alt="Steel Blue Theme" />
<img src="../Attachments/steel-blue.png" alt="Steel Blue Theme">
</p>
<h3>Using Custom CSS for Specific Purposes</h3>
<h3>Using Custom CSS for Specific Purposes</h3>
<p>In addition to full themes, Trilium allows for custom CSS that isn't tied
to a theme. This can be particularly useful in scripting contexts, where
you might want to modify specific UI elements, such as changing the colors
of notes in the tree view.</p>
<h3>Applying Custom CSS</h3>
<h3>Applying Custom CSS</h3>
<p>To use custom CSS:</p>
<ol>
<li><strong>Create a CSS Code Note</strong>: Create a new <a href="../Note%20Types/Code.html">code note</a> with
@ -128,21 +117,18 @@ body .CodeMirror {
Annotate the note with the <code>#appCss</code> <a href="../Advanced%20Usage/Attributes.html">label</a>.</li>
<li><strong>Write Your CSS</strong>: Add your custom CSS rules to the note.</li>
</ol>
<p>For example:</p>
<pre><code class="language-text-x-trilium-auto">/* Custom CSS to style specific elements */
<p>For example:</p><pre><code class="language-text-x-trilium-auto">/* Custom CSS to style specific elements */
.tree-item {
color: #ff6347; /* Change tree item color */
}</code></pre>
<p>When Trilium's frontend starts, all notes labeled with <code>appCss</code> are
automatically included in the style element of the HTML page.</p>
<p>After making changes, press <code>CTRL-R</code> to reload the frontend and
apply your new styles.</p>
<p>After making changes, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to reload the frontend
and apply your new styles.</p>
<p>
<img src="Themes_image.png" alt="" />
<img src="Themes_image.png" alt="">
</p>
<h3>Styling Specific Notes in the Tree</h3>
<h3>Styling Specific Notes in the Tree</h3>
<p>To apply specific styles to certain notes in the tree:</p>
<ul>
<li><strong>Use the</strong> <code>**cssClass**</code> <strong>Attribute</strong>:
@ -154,15 +140,11 @@ body .CodeMirror {
</ul>
<p>For example, if you want to style notes of a specific type, such as notes
containing PNG images, you can target them with classes like <code>type-image mime-image-png</code>.</p>
<h3>User-Provided Themes</h3>
<h3>User-Provided Themes</h3>
<p>A gallery of user-created themes is available, showcasing the variety
of customizations that the Trilium community has developed. For more information,
visit the <a href="Themes/Theme%20Gallery.html">Theme Gallery</a>.</p>
<h3>Asset Path Management</h3>
<h3>Asset Path Management</h3>
<p>When referencing built-in assets like images in your custom themes or
CSS, you can avoid hardcoding version numbers by using the <code>vX</code> alias.
For example, instead of specifying <code>/assets/v0.57.0-beta/images/icon-grey.png</code>,

View File

@ -16,55 +16,46 @@
<p>This page explains how to manipulate the note tree in TriliumNext, focusing
on moving notes.</p>
<p>
<img src="1_Note Tree_image.png" alt="" />
<img src="1_Note Tree_image.png" alt="">
</p>
<h2>Drag and Drop</h2>
<h2>Drag and Drop</h2>
<p>
<img src="../../Attachments/drag-and-drop.gif" alt="Drag and drop example"
/>
<img src="../../Attachments/drag-and-drop.gif" alt="Drag and drop example">
</p>
<p>You can easily rearrange the note tree by dragging and dropping notes,
as demonstrated in the example above.</p>
<h2>Keyboard Manipulation</h2>
<h2>Keyboard Manipulation</h2>
<p>
<img src="../../Attachments/move-note-with-keyboard.gif" alt="Example of using keyboard keys to move a note"
/>Trilium offers efficient keyboard-based manipulation using the following
<img src="../../Attachments/move-note-with-keyboard.gif" alt="Example of using keyboard keys to move a note">Trilium offers efficient keyboard-based manipulation using the following
<a
href="../Keyboard%20Shortcuts.html">shortcuts</a>:</p>
<ul>
<li><code>CTRL-UP</code> and <code>CTRL-DOWN</code>: Move the note up or down
in the order.</li>
<li><code>CTRL-LEFT</code>: Move the note up in the hierarchy by changing
its parent to the note's grandparent.</li>
<li><code>CTRL-RIGHT</code>: Move the note down in the hierarchy by setting
its parent to the note currently above it (this action is best understood
through a demo or hands-on experience).</li>
<li><code>LEFT</code> and <code>RIGHT</code>: Expand and collapse a sub-tree.</li>
<li><kbd>Ctrl</kbd> + <kbd><span></span></kbd> and <kbd>Ctrl</kbd> +<kbd><span></span></kbd>:
Move the note up or down in the order.</li>
<li><kbd>Ctrl</kbd>+<kbd><span></span></kbd>: Move the note up in the hierarchy
by changing its parent to the note's grandparent.</li>
<li><kbd>Ctrl</kbd>+<kbd><span></span></kbd>: Move the note down in the hierarchy
by setting its parent to the note currently above it (this action is best
understood through a demo or hands-on experience).</li>
<li><kbd><span></span></kbd> and <kbd><span></span></kbd>: Expand and collapse
a sub-tree.</li>
</ul>
<h2>Context Menu</h2>
<h2>Context Menu</h2>
<p>You can also move notes using the familiar cut and paste functions available
in the context menu, or with the associated keyboard <a href="../Keyboard%20Shortcuts.html">shortcuts</a>: <code>CTRL-C</code> (
<a
href="../Note/Cloning%20Notes.html">copy</a>), <code>CTRL-X</code> (cut) and <code>CTRL-V</code> (paste).</p>
<h2>Multiple selection</h2>
href="../Note/Cloning%20Notes.html">copy</a>), <kbd>Ctrl</kbd> + <kbd>X</kbd> (cut) and <kbd>Ctrl</kbd> + <kbd>V</kbd> (paste).</p>
<h2>Multiple selection</h2>
<p>It is possible to select multiple notes at one time.</p>
<p>To do so, first select the note to start the selection with. Then hold
Shift and click on the note to end the selection with. All the notes between
the start and the end note will be selected as well.</p>
<p>
<img src="Note Tree_image.png" alt="" />
<img src="Note Tree_image.png" alt="">
</p>
<p>In the right-click menu, operations such as Cut, Copy, Move to, Clone
to or Delete will apply to all the selected notes. It is also possible
to apply <a href="../../Advanced%20Usage/Bulk%20actions.html">Bulk actions</a> to
to apply&nbsp;<a href="../../Advanced%20Usage/Bulk%20actions.html">Bulk actions</a>&nbsp;to
them. The rest of the options will not be available and will appear disabled
in the menu.</p>
</div>

View File

@ -14,7 +14,7 @@
<div class="ck-content">
<p>
<img src="6_Zen mode_image.png" alt="" />
<img src="6_Zen mode_image.png" alt="">
</p>
<p>Screenshot of Zen Mode activated on a Windows 11 system with native title
bar off and background effects on.</p>
@ -22,46 +22,40 @@
of Trilium is hidden away in order to be able to focus on the content,
whether it's for reading or writing.</p>
<p>
<img src="5_Zen mode_image.png" alt="" />
<img src="5_Zen mode_image.png" alt="">
</p>
<p>Screenshot of the Zen Mode option in the global menu.</p>
<h2>Activating &amp; deactivating</h2>
<h2>Activating &amp; deactivating</h2>
<p>The Zen Mode can be activated by accessing the global menu and selecting
the “Zen Mode” option:</p>
<p>Aside from the global menu, it's also possible to activate this mode by
using a keyboard shortcut which is Alt+Z by default. Look for <code>toggleZenMode</code> in
the shortcut configuration.</p>
using a keyboard shortcut which is <kbd>Alt</kbd>+<kbd>Z</kbd> by default.
Look for <code>toggleZenMode</code> in the shortcut configuration.</p>
<p>Once Zen Mode is activated, all the UI elements of the application will
be hidden away, including the global menu. In that case, the Zen Mode can
be deactivated either by pressing the
<img src="Zen mode_image.png" alt=""
/>icon in the top-right corner of the window or by pressing the keyboard
<img src="Zen mode_image.png" alt="">icon in the top-right corner of the window or by pressing the keyboard
combination again.</p>
<p>Do note that, by design, activating or deactivating the Zen Mode applies
only to the current window. Restarting the application will also disable
the Zen Mode.</p>
<h2>Moving the window around</h2>
<h2>Moving the window around</h2>
<p>If “Native title bar” is activated, then the operating system's default
title bar can be used to drag the window around. If deactivated, the window
can still be moved by dragging the mouse across the top part of the window
where the note titles are.</p>
<p>
<img src="3_Zen mode_image.png" alt="" />
<img src="3_Zen mode_image.png" alt="">
</p>
<p>Screenshot of two notes side-by-side while Zen Mode is active, on Windows
11 with background effects off.</p>
<h2>Split windows and tabs</h2>
<h2>Split windows and tabs</h2>
<p>Tabs are completely hidden, however it's still possible to use keyboard
shortcuts such as <code>firstTab</code> (Ctrl+1 by default), <code>secondTab</code> (Ctrl+2
by default). There are also some newer shortcuts such as <code>activateNextTab</code> (Ctrl+Tab)
or <code>activatePreviousTab</code> (Ctrl+Shift+Tab) that allow easy navigation,
however make sure that they are configured properly in the settings.</p>
shortcuts such as <code>firstTab</code> (<kbd>Ctrl</kbd>+<kbd>1</kbd> by default), <code>secondTab</code> (<kbd>Ctrl</kbd>+<kbd>2</kbd> by
default). There are also some newer shortcuts such as <code>activateNextTab</code> (<kbd>Ctrl</kbd>+<kbd>Tab</kbd>)
or <code>activatePreviousTab</code> (<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Tab</kbd>)
that allow easy navigation, however make sure that they are configured
properly in the settings.</p>
<p>For the split view of notes, there are no keyboard shortcuts at the time
of writing, but it's still possible to have them in Zen Mode by creating
the split while the Zen Mode is off and then reactivating it afterwards.</p>

View File

@ -15,9 +15,7 @@
<div class="ck-content">
<p>This is essentially Trilium sources + node modules + node.js runtime packaged
into one 7z file.</p>
<h2>Steps</h2>
<h2>Steps</h2>
<ul>
<li>ssh into your server</li>
<li>use <code>wget</code> (or <code>curl</code> or whatever) to download latest
@ -36,26 +34,21 @@
<p>The problem with above steps is that once you close the SSH connection,
the Trilium process is terminated. To avoid that, you have two options:</p>
<ul>
<li>Kill it (with e.g. <code>CTRL-C</code>) and run again like this: <code>nohup ./trilium &amp;</code>.</li>
<li>Kill it (with e.g. <kbd>Ctrl</kbd> + <kbd>C</kbd>) and run again like this: <code>nohup ./trilium &amp;</code>.</li>
<li>Configure systemd to automatically run Trilium in the background on every
boot</li>
</ul>
<h2>Configure Trilium to auto-run on boot with systemd</h2>
<h2>Configure Trilium to auto-run on boot with systemd</h2>
<ul>
<li>After downloading, extract and move Trilium:</li>
</ul>
<pre><code class="language-text-x-trilium-auto">tar -xvf trilium-linux-x64-server-[VERSION].tar.xz
</ul><pre><code class="language-text-x-trilium-auto">tar -xvf trilium-linux-x64-server-[VERSION].tar.xz
sudo mv trilium-linux-x64-server /opt/trilium</code></pre>
<ul>
<li>Create the service:</li>
</ul>
<pre><code class="language-text-x-trilium-auto">sudo nano /etc/systemd/system/trilium.service</code></pre>
</ul><pre><code class="language-text-x-trilium-auto">sudo nano /etc/systemd/system/trilium.service</code></pre>
<ul>
<li>Paste this into the file (replace the user and group as needed):</li>
</ul>
<pre><code class="language-text-x-trilium-auto">[Unit]
</ul><pre><code class="language-text-x-trilium-auto">[Unit]
Description=Trilium Daemon
After=syslog.target network.target
@ -75,27 +68,19 @@ WantedBy=multi-user.target</code></pre>
<ul>
<li>Save the file (CTRL-S) and exit (CTRL-X)</li>
<li>Enable and launch the service:</li>
</ul>
<pre><code class="language-text-x-trilium-auto">sudo systemctl enable --now -q trilium</code></pre>
</ul><pre><code class="language-text-x-trilium-auto">sudo systemctl enable --now -q trilium</code></pre>
<ul>
<li>You can now open a browser to http://[your-server-hostname]:8080 and you
should see the Trilium initialization page.</li>
</ul>
<h2>Common issues</h2>
<h3>Outdated glibc</h3>
<pre><code class="language-text-x-trilium-auto">Error: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /var/www/virtual/.../node_modules/@mlink/scrypt/build/Release/scrypt.node)
<h2>Common issues</h2>
<h3>Outdated glibc</h3><pre><code class="language-text-x-trilium-auto">Error: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /var/www/virtual/.../node_modules/@mlink/scrypt/build/Release/scrypt.node)
at Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)</code></pre>
<p>If you get an error like this, you need to either upgrade your glibc (typically
by upgrading to up-to-date distribution version) or use some other <a href="../../Server%20Installation.html">server installation</a> method.</p>
<h2>TLS</h2>
<h2>TLS</h2>
<p>Don't forget to <a href="../TLS%20Configuration.html">configure TLS</a>,
which is required for secure usage!</p>
</div>

View File

@ -14,35 +14,36 @@
<div class="ck-content">
<h2>Creating a new geo map</h2>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<img src="8_Geo map_image.png" alt="" />
</td>
<td>Right click on any note on the note tree and select <em>Insert child note</em><em>Geo Map (beta)</em>.</td>
</tr>
<tr>
<td>2</td>
<td>
<img src="10_Geo map_image.png" alt="" />
</td>
<td>By default the map will be empty and will show the entire world.</td>
</tr>
</tbody>
</table>
<h2>Repositioning the map</h2>
<figure class="table">
<table>
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<img class="image_resized" style="aspect-ratio:1256/1044;width:50%;" src="8_Geo map_image.png"
alt="" width="1256" height="1044">
</td>
<td>Right click on any note on the note tree and select <em>Insert child note</em><em>Geo Map (beta)</em>.</td>
</tr>
<tr>
<td>2</td>
<td>
<img class="image_resized" style="aspect-ratio:1720/1396;width:50%;" src="10_Geo map_image.png"
alt="" width="1720" height="1396">
</td>
<td>By default the map will be empty and will show the entire world.</td>
</tr>
</tbody>
</table>
</figure>
<h2>Repositioning the map</h2>
<ul>
<li>Click and drag the map in order to move across the map.</li>
<li>Use the mouse wheel, two-finger gesture on a touchpad or the +/- buttons
@ -50,79 +51,76 @@
</ul>
<p>The position on the map and the zoom are saved inside the map note and
restored when visiting again the note.</p>
<h2>Adding a marker using the map</h2>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td></td>
<td>To create a marker, first navigate to the desired point on the map. Then
press the
<img src="16_Geo map_image.png" alt="" />button on the top-right of the map.
<br />
<br />If the button is not visible, make sure the button section is visible
by pressing the chevron button (
<img src="2_Geo map_image.png" alt="" />) in the top-right of the map.</td>
</tr>
<tr>
<td>2</td>
<td>
<img src="3_Geo map_image.png" alt="" />
</td>
<td>Once pressed, the map will enter in the insert mode, as illustrated by
the notification.
<br />
<br />Simply click the point on the map where to place the marker, or the Escape
key to cancel.</td>
</tr>
<tr>
<td>3</td>
<td>
<img src="9_Geo map_image.png" alt="" />
</td>
<td>Enter the name of the marker/note to be created.</td>
</tr>
<tr>
<td>4</td>
<td>
<img src="17_Geo map_image.png" alt="" />
</td>
<td>Once confirmed, the marker will show up on the map and it will also be
displayed as a child note of the map.</td>
</tr>
</tbody>
</table>
<h2>How the location of the markers is stored</h2>
<h2>Adding a marker using the map</h2>
<figure class="table">
<table>
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>&nbsp;</td>
<td>To create a marker, first navigate to the desired point on the map. Then
press the
<img src="16_Geo map_image.png" alt="">button on the top-right of the map.&nbsp;
<br>
<br>If the button is not visible, make sure the button section is visible
by pressing the chevron button (
<img src="2_Geo map_image.png" alt="">) in the top-right of the map.</td>
</tr>
<tr>
<td>2</td>
<td>
<img class="image_resized" style="aspect-ratio:1730/416;width:50%;" src="3_Geo map_image.png"
alt="" width="1730" height="416">
</td>
<td>Once pressed, the map will enter in the insert mode, as illustrated by
the notification.&nbsp;
<br>
<br>Simply click the point on the map where to place the marker, or the Escape
key to cancel.</td>
</tr>
<tr>
<td>3</td>
<td>
<img class="image_resized" style="aspect-ratio:1586/404;width:50%;" src="9_Geo map_image.png"
alt="" width="1586" height="404">
</td>
<td>Enter the name of the marker/note to be created.</td>
</tr>
<tr>
<td>4</td>
<td>
<img class="image_resized" style="aspect-ratio:1696/608;width:50%;" src="17_Geo map_image.png"
alt="" width="1696" height="608">
</td>
<td>Once confirmed, the marker will show up on the map and it will also be
displayed as a child note of the map.</td>
</tr>
</tbody>
</table>
</figure>
<h2>How the location of the markers is stored</h2>
<p>The location of a marker is stored in the <code>#geolocation</code> attribute
of the child notes:</p>
<p>
<img src="18_Geo map_image.png" alt="" />
<img src="18_Geo map_image.png" alt="">
</p>
<p>This value can be added manually if needed. The value of the attribute
is made up of the latitude and longitude separated by a comma.</p>
<h2>Repositioning markers</h2>
<h2>Repositioning markers</h2>
<p>It's possible to reposition existing markers by simply drag and dropping
them to the new destination.</p>
<p>As soon as the mouse is released, the new position is saved.</p>
<p>If moved by mistake, there is currently no way to undo the change. If
the mouse was not yet released, it's possible to force a refresh of the
page (Ctrl+R or Meta+R) to cancel it.</p>
<h2>Interaction with the markers</h2>
page (<kbd>Ctrl</kbd>+<kbd>R</kbd> ) to cancel it.</p>
<h2>Interaction with the markers</h2>
<ul>
<li>Hovering over a marker will display the content of the note it belongs
to.
@ -143,159 +141,154 @@
</ul>
</li>
</ul>
<h2>Icon and color of the markers</h2>
<h2>Icon and color of the markers</h2>
<p>![image](8_Geo map_image.png)</p>
<p>The markers will have the same icon as the note.</p>
<p>It's possible to add a custom color to a marker by assigning them a <code>#color</code> attribute
such as <code>#color=green</code>.</p>
<h2>Adding the coordinates manually</h2>
<h2>Adding the coordinates manually</h2>
<p>In a nutshell, create a child note and set the <code>#geolocation</code> attribute
to the coordinates.</p>
<p>The value of the attribute is made up of the latitude and longitude separated
by a comma.</p>
<h3>Adding from Google Maps</h3>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<img src="12_Geo map_image.png" alt="" />
</td>
<td>Go to Google Maps on the web and look for a desired location, right click
on it and a context menu will show up.
<br />
<br />Simply click on the first item displaying the coordinates and they will
be copied to clipboard.
<br />
<br />Then paste the value inside the text box into the <code>#geolocation</code> attribute
of a child note of the map (don't forget to surround the value with a <code>"</code> character).</td>
</tr>
<tr>
<td>2</td>
<td>
<img src="5_Geo map_image.png" alt="" />
</td>
<td>In Trilium, create a child note under the map.</td>
</tr>
<tr>
<td>3</td>
<td>
<img src="11_Geo map_image.png" alt="" />
</td>
<td>And then go to Owned Attributes and type <code>#geolocation="</code>, then
paste from the clipboard as-is and then add the ending <code>"</code> character.
Press Enter to confirm and the map should now be updated to contain the
new note.</td>
</tr>
</tbody>
</table>
<h3>Adding from OpenStreetMap</h3>
<h3>Adding from Google Maps</h3>
<figure class="table">
<table>
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<img class="image_resized" style="aspect-ratio:732/918;width:50%;" src="12_Geo map_image.png"
alt="" width="732" height="918">
</td>
<td>Go to Google Maps on the web and look for a desired location, right click
on it and a context menu will show up.&nbsp;
<br>
<br>Simply click on the first item displaying the coordinates and they will
be copied to clipboard.&nbsp;
<br>
<br>Then paste the value inside the text box into the <code>#geolocation</code> attribute
of a child note of the map (don't forget to surround the value with a <code>"</code> character).</td>
</tr>
<tr>
<td>2</td>
<td>
<img src="5_Geo map_image.png" alt="">
</td>
<td>In Trilium, create a child note under the map.</td>
</tr>
<tr>
<td>3</td>
<td>
<img class="image_resized" style="aspect-ratio:1074/276;width:50%;" src="11_Geo map_image.png"
alt="" width="1074" height="276">
</td>
<td>And then go to Owned Attributes and type <code>#geolocation="</code>, then
paste from the clipboard as-is and then add the ending <code>"</code> character.
Press Enter to confirm and the map should now be updated to contain the
new note.</td>
</tr>
</tbody>
</table>
</figure>
<h3>Adding from OpenStreetMap</h3>
<p>Similarly to the Google Maps approach:</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<img src="1_Geo map_image.png" alt="" />
</td>
<td>Go to any location on openstreetmap.org and right click to bring up the
context menu. Select the “Show address” item.</td>
</tr>
<tr>
<td>2</td>
<td>
<img src="Geo map_image.png" alt="" />
</td>
<td>The address will be visible in the top-left of the screen, in the place
of the search bar.
<br />
<br />Select the coordinates and copy them into the clipboard.</td>
</tr>
<tr>
<td>3</td>
<td>
<img src="6_Geo map_image.png" alt="" />
</td>
<td>Simply paste the value inside the text box into the <code>#geolocation</code> attribute
of a child note of the map and then it should be displayed on the map.</td>
</tr>
</tbody>
</table>
<h2>Adding GPS tracks (.gpx)</h2>
<figure class="table">
<table>
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<img src="1_Geo map_image.png" alt="">
</td>
<td>Go to any location on openstreetmap.org and right click to bring up the
context menu. Select the “Show address” item.</td>
</tr>
<tr>
<td>2</td>
<td>
<img src="Geo map_image.png" alt="">
</td>
<td>The address will be visible in the top-left of the screen, in the place
of the search bar.&nbsp;
<br>
<br>Select the coordinates and copy them into the clipboard.</td>
</tr>
<tr>
<td>3</td>
<td>
<img src="6_Geo map_image.png" alt="">
</td>
<td>Simply paste the value inside the text box into the <code>#geolocation</code> attribute
of a child note of the map and then it should be displayed on the map.</td>
</tr>
</tbody>
</table>
</figure>
<h2>Adding GPS tracks (.gpx)</h2>
<p>Trilium has basic support for displaying GPS tracks on the geo map.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<img src="4_Geo map_image.png" alt="" />
</td>
<td>To add a track, simply drag &amp; drop a .gpx file inside the geo map
in the note tree.</td>
</tr>
<tr>
<td>2</td>
<td>
<img src="15_Geo map_image.png" alt="" />
</td>
<td>In order for the file to be recognized as a GPS track, it needs to show
up as <code>application/gpx+xml</code> in the <em>File type</em> field.</td>
</tr>
<tr>
<td>3</td>
<td>
<img src="7_Geo map_image.png" alt="" />
</td>
<td>When going back to the map, the track should now be visible.
<br />
<br />The start and end points of the track are indicated by the two blue markers.</td>
</tr>
</tbody>
</table>
<h2>Troubleshooting</h2>
<p>
<img src="13_Geo map_image.png" alt="" />
</p>
<h3>Grid-like artifacts on the map</h3>
<p>This occurs if the application is not at 100% zoom which causes the pixels
of the map to not render correctly due to fractional scaling. The only
possible solution is to set the UI zoom at 100% (default keyboard shortcut
is Ctrl+0).</p>
<figure
class="table">
<table>
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<img src="4_Geo map_image.png" alt="">
</td>
<td>To add a track, simply drag &amp; drop a .gpx file inside the geo map
in the note tree.</td>
</tr>
<tr>
<td>2</td>
<td>
<img src="15_Geo map_image.png" alt="">
</td>
<td>In order for the file to be recognized as a GPS track, it needs to show
up as <code>application/gpx+xml</code> in the <em>File type</em> field.</td>
</tr>
<tr>
<td>3</td>
<td>
<img src="7_Geo map_image.png" alt="">
</td>
<td>When going back to the map, the track should now be visible.&nbsp;
<br>
<br>The start and end points of the track are indicated by the two blue markers.</td>
</tr>
</tbody>
</table>
</figure>
<h2>Troubleshooting</h2>
<p>
<img src="13_Geo map_image.png" alt="">
</p>
<h3>Grid-like artifacts on the map</h3>
<p>This occurs if the application is not at 100% zoom which causes the pixels
of the map to not render correctly due to fractional scaling. The only
possible solution is to set the UI zoom at 100% (default keyboard shortcut
is <kbd>Ctrl</kbd>+<kbd>0</kbd>).</p>
</div>
</div>
</body>

View File

@ -15,24 +15,18 @@
<div class="ck-content">
<p>Trilium utilizes the powerful <a href="https://ckeditor.com/ckeditor-5/">CKEditor 5</a> as
its text editing component.</p>
<h2>Formatting Options</h2>
<h2>Formatting Options</h2>
<p>The Trilium text note interface does not display toolbars or formatting
options by default. These can be accessed by:</p>
<p>
<img src="../Attachments/text-notes-formatting-inli.png" alt="inline note formatting"
/>
<img src="../Attachments/text-notes-formatting-inli.png" alt="inline note formatting">
</p>
<ol>
<li>Selecting text to bring up an inline toolbar.</li>
</ol>
<p>
<img src="../Attachments/text-notes-formatting-bloc.png" alt="formating note block"
/>2. Clicking on the block toolbar.</p>
<h2>Read-Only vs. Editing Mode</h2>
<img src="../Attachments/text-notes-formatting-bloc.png" alt="formating note block">2. Clicking on the block toolbar.</p>
<h2>Read-Only vs. Editing Mode</h2>
<p>Text notes are usually opened in edit mode. However, they may open in
read-only mode under the following circumstances:</p>
<ul>
@ -42,11 +36,9 @@
</ul>
<p>In both cases, it is possible to switch back to editable mode using the
<img
src="Text_bx-edit-alt.svg" alt="" />button at top right of page.</p>
<p>For more information, see <a href="../Basic%20Concepts/Note/Read-Only%20Notes.html">Read-Only Notes</a>.</p>
<h2>General Formatting</h2>
src="Text_bx-edit-alt.svg" alt="">button at top right of page.</p>
<p>For more information, see&nbsp;<a href="../Basic%20Concepts/Note/Read-Only%20Notes.html">Read-Only Notes</a>.</p>
<h2>General Formatting</h2>
<p>Since Trilium uses CKEditor, all of its formatting options are available
here. You may use the graphical toolbar shown above, or enter formatting
such as markdown markdown directly in the text. Examples include:</p>
@ -56,57 +48,41 @@
<li><em>Italic</em>: Type <code>*text*</code> or <code>_text_</code>
</li>
<li><code>Code</code>: Type `text`</li>
<li><del>Strikethrough</del>: Type <code>~~text~~</code>
<li><s>Strikethrough</s>: Type <code>~~text~~</code>
</li>
</ul>
<h3>Lists</h3>
<p>See <a href="Text/Lists.html">Lists</a>.</p>
<h3>Blocks</h3>
<h3>Lists</h3>
<p>See&nbsp;<a href="Text/Lists.html">Lists</a>.</p>
<h3>Blocks</h3>
<ul>
<li>Block quote: Start a line with <code>&gt;</code> followed by a space</li>
</ul>
<h3>Multi-Line Code Blocks</h3>
<h3>Multi-Line Code Blocks</h3>
<p>To create a multi-line code block, start a line with "```[lang]", for
example:</p>
<pre><code class="language-text-x-trilium-auto">if (1 &gt; 2) {
example:</p><pre><code class="language-text-x-trilium-auto">if (1 &gt; 2) {
console.log("Error in the matrix");
}</code></pre>
<h3>Headings</h3>
<p>Create headings by starting a line with <code>##</code> for heading 2, <code>###</code> for
heading 3, and so on up to heading 6. Note that <code>#</code> is reserved
for the title.</p>
<h3>Horizontal Line</h3>
<h3>Horizontal Line</h3>
<p>Insert a horizontal line by starting a line with <code>---</code>.</p>
<h2>Markdown &amp; Autoformat</h2>
<h2>Markdown &amp; Autoformat</h2>
<p>CKEditor supports a markdown-like editing experience, recognising syntax
and automatically converting it to rich text.</p>
<p>
<img src="Text_image.png" alt="" />
<img src="Text_image.png" alt="">
</p>
<p>Complete documentation for this feature is available in the <a href="https://ckeditor.com/docs/ckeditor5/latest/features/autoformat.html">CKEditor documentation</a>.</p>
<p>If autoformatting is not desirable, press <code>CTRL-Z</code> to revert
the text to its original form.</p>
<p>If autoformatting is not desirable, press <kbd>Ctrl</kbd> + <kbd>Z</kbd> to
revert the text to its original form.</p>
<p>Note: The use of <code>#</code> for Heading 1 is not supported because it
is reserved for the title. Start with <code>##</code> for Heading 2. More
information is available <a href="https://ckeditor.com/docs/ckeditor5/latest/features/headings.html#heading-levels">here</a>.</p>
<h2>Math Support</h2>
<h2>Math Support</h2>
<p>Trilium provides math support through <a href="https://katex.org/">KaTeX</a>.</p>
<h2>Cutting Selection to Sub-Note</h2>
<h2>Cutting Selection to Sub-Note</h2>
<p>When editing a document that becomes too large, you can split it into
sub-notes:</p>
<ol>
@ -120,9 +96,7 @@
the new sub-note is named accordingly. You can also assign a keyboard shortcut
for this action. This functionality is available through the block toolbar
icon.</p>
<h2>Including a Note</h2>
<h2>Including a Note</h2>
<p>Text notes can "include" another note as a read only widget. This can
be useful for e.g. including a dynamically generated chart (from scripts
&amp; "render HTML" note) or other more advanced use cases.</p>

View File

@ -13,19 +13,23 @@
<h1 data-trilium-h1>Content language &amp; Right-to-left support</h1>
<div class="ck-content">
<figure class="image">
<img style="aspect-ratio:906/557;" src="Content language & Right-t.png"
width="906" height="557">
</figure>
<p>
<img src="api/images/CBcZeC0OG3Ne/Content language &amp; Right-t.png"
alt="" />
</p>
<p>A language hint can be provided for text notes. This option informs the
browser or the desktop application about the language the note is written
in (for example this might help with spellchecking), and it also determines
whether the text is displayed from right-to-left for languages such as
Arabic, Hebrew, etc.</p>
<h2>Setting the language</h2>
<h2>Setting the language</h2>
<p>To set the language of the content, go to “Basic Properties” and look
for the “Language” field.</p>
<h2>Adjusting the list of languages</h2>
<h2>Adjusting the list of languages</h2>
<p>By default there will be no language configured, they can be configured
by going to settings or by selecting the “Configure languages” item when
setting the language.</p>

View File

@ -14,23 +14,20 @@
<div class="ck-content">
<h2>External links</h2>
<p>External link is general web link targeting some external web resource
- e.g. <a href="https://en.wikipedia.org/wiki/South_China_Sea">https://en.wikipedia.org/wiki/South_China_Sea</a> is
an external link to one Wikipedia page.</p>
<p>External links are done through CKEditor native links. To create an external
link, select text and press <code>CTRL-K</code> or wait for the "balloon"
to appear and click link icon there.</p>
link, select text and press <kbd>Ctrl</kbd> + <kbd>K</kbd> or wait for the
"balloon" to appear and click link icon there.</p>
<p>
<img src="../../Attachments/create-external-link.gif" alt="" />
<img src="../../Attachments/create-external-link.gif" alt="">
</p>
<p>You can follow external link by either double clicking (will open new
tab/window) it or right clicking on them and choosing "Open in new tab".</p>
<h2>Internal links to notes</h2>
<h2>Internal links to notes</h2>
<p>Links to internal notes are created a bit differently. To create link
to note at current cursor position, press <code>CTRL-L</code>.</p>
to note at current cursor position, press <kbd>Ctrl</kbd> + <kbd>L</kbd>.</p>
<p>In the dialog you can see radio button to choose from different types
of linking:</p>
<ul>
@ -42,20 +39,16 @@
- you link to a particular note and can choose the link title</li>
</ul>
<p>
<img src="../../Attachments/create-link-to-note.gif" alt="" />
<img src="../../Attachments/create-link-to-note.gif" alt="">
</p>
<p>You can follow the note link by double clicking it.</p>
<p>Alternatively if you only wish to quickly preview the content, you can
hover over the link and will see read only preview.</p>
<h3>In-place linking</h3>
<h3>In-place linking</h3>
<p>Trilium also provides "inline" linking - type <code>@</code> and you'll
see an autocomplete, just type few characters from the desired note title,
press enter and you have a link.</p>
<h2>Note map</h2>
<h2>Note map</h2>
<p>Trilium provides a visualisation of incoming and outgoing links for a
particular note. See <a href="../../Advanced%20Usage/Note%20Map.html">note map</a> for
details.</p>

View File

@ -14,51 +14,38 @@
<div class="ck-content">
<p>As Trilium is currently in beta, encountering bugs is to be expected.</p>
<h2>General Quick Fix</h2>
<h2>General Quick Fix</h2>
<p>The first step in troubleshooting is often a restart.</p>
<p>If you experience an UI issue, the frontend may have entered an inconsistent
state. Reload the application by pressing <code>CTRL-R</code>. This will
reload the frontend.</p>
state. Reload the application by pressing <kbd>Ctrl</kbd> + <kbd>R</kbd>.
This will reload the frontend.</p>
<p>If the issue persists or appears to be a backend problem, restart the
entire application. For the desktop (Electron) build, simply close and
reopen the window. If you're using a Docker build, restart the container.</p>
<h2>Broken Note Crashes Trilium</h2>
<h2>Broken Note Crashes Trilium</h2>
<p>Certain problems, such as rendering a note with a faulty script, can cause
Trilium to crash. If Trilium attempts to reload the problematic note upon
restart, it will continue to crash.</p>
<p>To resolve this, use the <code>TRILIUM_START_NOTE_ID</code> environment
variable to reset the open tabs to a single specified note ID (e.g., <code>root</code>).
In Linux, you can set it as follows:</p>
<pre><code class="language-text-x-trilium-auto">TRILIUM_START_NOTE_ID=root ./trilium</code></pre>
In Linux, you can set it as follows:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_START_NOTE_ID=root ./trilium</code></pre>
<h2>Broken Script Prevents Application Startup</h2>
<p>If a custom script causes Triliumto crash, and it is set as a startup
script or in an active <a href="Note%20Types/Code/Custom%20Widgets.html">custom widget</a>,
start Triliumin "safe mode" to prevent any custom scripts from executing:</p>
<pre><code class="language-text-x-trilium-auto">TRILIUM_SAFE_MODE=true ./trilium</code></pre>
start Triliumin "safe mode" to prevent any custom scripts from executing:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_SAFE_MODE=true ./trilium</code></pre>
<p>Depending on your Trilium distribution, you may have pre-made scripts
available: <code>trilium-safe-mode.bat</code> and <code>trilium-safe-mode.sh</code>.</p>
<p>Once Trilium starts, locate and fix or delete the problematic note.</p>
<h2>Sync and Consistency Checks</h2>
<h2>Sync and Consistency Checks</h2>
<p>Trilium periodically verifies the logical consistency of the database
(e.g., ensuring every note has a parent). If inconsistencies are detected,
you will be notified via the UI.</p>
<p>In such cases, file a bug report and attach an <a href="Troubleshooting/Anonymized%20Database.html">anonymized database</a> if
necessary.</p>
<h2>Restoring Backup</h2>
<h2>Restoring Backup</h2>
<p>Trilium makes regular automatic backups. If issues become severe, you
can <a href="Installation%20%26%20Setup/Backup.html">restore from a backup</a>.</p>
<h2>Forgotten Password</h2>
<h2>Forgotten Password</h2>
<p>If you forget your password:</p>
<ul>
<li>Protected notes are irretrievable without the password.</li>
@ -67,8 +54,7 @@
<p>Access the <a href="Advanced%20Usage/Database.html">database</a> file in
the <a href="Installation%20%26%20Setup/Data%20directory.html">data directory</a>.
Open the <code>document.db</code> file with an SQLite client (e.g., <a href="https://sqlitebrowser.org/">DB Browser</a>)
and execute the following queries:</p>
<pre><code class="language-text-x-trilium-auto">UPDATE options SET value = '77/twC5O00cuQgNC63VK32qOKKYwj21ev3jZDXoytVU=' WHERE name = 'passwordVerificationSalt';
and execute the following queries:</p><pre><code class="language-text-x-trilium-auto">UPDATE options SET value = '77/twC5O00cuQgNC63VK32qOKKYwj21ev3jZDXoytVU=' WHERE name = 'passwordVerificationSalt';
UPDATE options SET value = '710BMasZCAgibzIc07X4P9Q4TeBd4ONnqJOho+pWcBM=' WHERE name = 'passwordDerivedKeySalt';
UPDATE options SET value = 'Eb8af1/T57b89lCRuS97tPEl4CwxsAWAU7YNJ77oY+s=' WHERE name = 'passwordVerificationHash';
UPDATE options SET value = 'QpC8XoiYYeqHPtHKRtbNxfTHsk+pEBqVBODYp0FkPBa22tlBBKBMigdLu5GNX8Uu' WHERE name = 'encryptedDataKey';</code></pre>
@ -79,9 +65,7 @@ UPDATE options SET value = 'QpC8XoiYYeqHPtHKRtbNxfTHsk+pEBqVBODYp0FkPBa22tlBBKBM
start fresh.</p>
<p>If you continue using the existing document file, change your password
(Options -&gt; Change Password).</p>
<h2>Reporting Bugs</h2>
<h2>Reporting Bugs</h2>
<p>Reporting bugs is highly valuable. Here are some tips:</p>
<ul>
<li>Use GitHub issues for reporting: <a href="https://github.com/TriliumNext/Notes/issues">https://github.com/TriliumNext/Notes/issues</a>

View File

@ -15,23 +15,19 @@
<div class="ck-content">
<p>It's important to provide all available error logs together with bug reports.
This page will show you how to do it.</p>
<h2>Backend logs</h2>
<h2>Backend logs</h2>
<p>Open <a href="../Installation%20%26%20Setup/Data%20directory.html">data directory</a>,
go to <code>log</code> subdirectory and find the latest log file, e.g. <code>trilium-2022-12-14.log</code>.
You can attach the whole file to the bug report (preferable) or open it
and copy-paste only the last lines / lines you believe are relevant.</p>
<p>If you have trouble finding it the log files, there's also an in-app option
in top-left menu button -&gt; Advanced -&gt; Show backend log.</p>
<h2>Frontend logs</h2>
<h2>Frontend logs</h2>
<p>To provide frontend logs, we need to open the Developer Console. Often
the easiest way is to press <code>CTRL-SHIFT-I</code> which should work in
most browsers (and desktop app). Make sure that the error producing action
happened right before you copy&amp;paste the errors, the console is cleared
on app restart.</p>
the easiest way is to press <kbd>Ctrl</kbd>-<kbd>Shift</kbd>-<kbd>I</kbd> which
should work in most browsers (and desktop app). Make sure that the error
producing action happened right before you copy&amp;paste the errors, the
console is cleared on app restart.</p>
<p>If that doesn't work, then:</p>
<ul>
<li>in Trilium desktop app, go to top-left menu button -&gt; Advanced -&gt;
@ -39,32 +35,28 @@
<li>In Firefox/Chrome right-click anywhere in the page and click Inspect:</li>
</ul>
<p>
<img src="../Attachments/error-logs-firefox-context.png" alt="" />
<img src="../Attachments/error-logs-firefox-context.png" alt="">
</p>
<p>Once you have Dev Tools open, click on "Console" tab:</p>
<p>
<img src="Error logs_image.png" alt="" />
<img src="Error logs_image.png" alt="">
</p>
<p>Copy-paste (or screenshot) the logs. It's better to provide not just errors,
but the whole log, which might provide context while analyzing the bug.</p>
<h2>Providing sensitive data</h2>
<h2>Providing sensitive data</h2>
<p>If you don't feel comfortable attaching the logs or anything sensitive
to the public GitHub issues, feel free to contact the devs in our Matrix
<a
href="https://github.com/TriliumNext/Notes#-discuss-with-us">support channel</a>.</p>
<p>Use this email to also provide anything which could assist in analysing
the bug - e.g. files/images/ZIPs being imported or <a href="Anonymized%20Database.html">anonymized database</a>.</p>
<h3>Exporting note subtree for reproduction</h3>
<h3>Exporting note subtree for reproduction</h3>
<p>Often times, bugs manifest themselves in specific notes and having them
would greatly ease reproduction and fixing.</p>
<p>In such case, please export the relevant note subtree by right-clicking
it on the left tree, choosing Export - HTML as ZIP:</p>
<p>
<img src="../Attachments/error-logs-export-subtree.png" alt="" />
<img src="../Attachments/error-logs-export-subtree.png" alt="">
</p>
</div>
</div>

View File

@ -15,7 +15,7 @@
<div class="ck-content">
<p>Some changes to the application will not take effect immediately and as
such it might require to manually reload or refresh the application.</p>
<p>To do so, simply press Ctrl+Shift+R.</p>
<p>To do so, simply press <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd>.</p>
</div>
</div>
</body>