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 Keyboard shortcuts. Using <code>global:</code> prefix, you can assign a shortcut
which will work even without Trilium being in focus (requires app restart which will work even without Trilium being in focus (requires app restart
to take effect).</p> to take effect).</p>
<h2>Note navigation</h2>
<h2>Note navigation</h2>
<ul> <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> also from editor</li>
<li><code>LEFT</code>, <code>RIGHT</code> - collapse/expand node</li> <li><kbd><span></span></kbd>, <kbd><span></span></kbd> - collapse/expand node</li>
<li><code>ALT+LEFT</code>, <code>ALT+RIGHT</code> - go back / forwards in the <li><kbd>Alt</kbd> + <kbd><span></span></kbd>, <kbd>Alt</kbd> + <kbd><span></span></kbd> -
history</li> 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>Ctrl</kbd> + <kbd>J</kbd> - show <a href="Navigation/Note%20Navigation.html">"Jump to" dialog</a>
</li> </li>
<li><code>CTRL+.</code> - scroll to current note (useful when you scroll away <li><kbd>Ctrl</kbd> + <kbd>.</kbd> - scroll to current note (useful when you
from your note or your focus is currently in the editor)</li> scroll away from your note or your focus is currently in the editor)</li>
<li><code>BACKSPACE</code> - jumps to parent note</li> <li><kbd><span>Backspace</span></kbd> - jumps to parent note</li>
<li><code>ALT+C</code> - collapse whole note tree</li> <li><kbd>Alt</kbd> + <kbd>C</kbd> - collapse whole note tree</li>
<li><code>ALT+-</code> (alt with minus sign) - collapse subtree (if some subtree <li><kbd>Alt</kbd> + <kbd>-</kbd> (alt with minus sign) - collapse subtree (if
takes too much space on tree pane you can collapse it)</li> 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 <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 e.g. value <kbd>Ctrl</kbd> + <kbd>I</kbd> . Pressing this keyboard combination
then bring you to the note on which it is defined. Note that Trilium must will then bring you to the note on which it is defined. Note that Trilium
be reloaded/restarted (Ctrl+R) for changes to be in effect.</li> must be reloaded/restarted (<kbd>Ctrl</kbd> + <kbd>R</kbd> ) for changes to
be in effect.</li>
</ul> </ul>
<p>See demo of some of these features in <a href="Navigation/Note%20Navigation.html">note navigation</a>.</p> <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> <ul>
<li><code>CTRL+click</code> - (or middle mouse click) on note link opens note <li><kbd>Ctrl</kbd> + <kbd>🖱 Left click</kbd> - (or middle mouse click) on note
in a new tab</li> link opens note in a new tab</li>
</ul> </ul>
<p>Only in desktop (electron build):</p> <p>Only in desktop (electron build):</p>
<ul> <ul>
<li><code>CTRL+T</code> - opens empty tab</li> <li><kbd>Ctrl</kbd> + <kbd>T</kbd> - opens empty tab</li>
<li><code>CTRL+W</code> - closes active tab</li> <li><kbd>Ctrl</kbd> + <kbd>W</kbd> - closes active tab</li>
<li><code>CTRL+Tab</code> - activates next tab</li> <li><kbd>Ctrl</kbd> + <kbd>Tab</kbd> - activates next tab</li>
<li><code>CTRL+Shift+Tab</code> - activates previous tab</li> <li><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> - activates previous tab</li>
</ul> </ul>
<h2>Creating notes</h2>
<h2>Creating notes</h2>
<ul> <ul>
<li><code>CTRL+O</code> - creates new note after the current note</li> <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>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 <li><code>F2</code> - edit <a href="Navigation/Note%20Navigation.html">prefix</a> of
current note clone</li> current note clone</li>
</ul> </ul>
<h2>Moving / cloning notes</h2>
<h2>Moving / cloning notes</h2>
<ul> <ul>
<li><code>CTRL+UP</code>, <code>CTRL+DOWN</code> - move note up/down in the <li><kbd>Ctrl</kbd> + <kbd><span></span></kbd> , Ctrl + <kbd><span></span></kbd> -
note list</li> move note up/down in the note list</li>
<li><code>CTRL+LEFT</code> - move note up in the note tree</li> <li><kbd>Ctrl</kbd> + <kbd><span></span></kbd> - move note up in the note tree</li>
<li><code>CTRL+RIGHT</code> - move note down in the note tree</li> <li><kbd>Ctrl</kbd>+<kbd><span></span></kbd> - move note down in the note
<li><code>SHIFT+UP</code>, <code>SHIFT+DOWN</code> - multi-select note above/below</li> tree</li>
<li><code>CTRL+A</code> - select all notes in the current level</li> <li><kbd>Shift</kbd>+<kbd><span></span></kbd>, <kbd>Shift</kbd><code>+</code><kbd><span></span></kbd> -
<li><code>SHIFT+click</code> - multi select note which you clicked on</li> multi-select note above/below</li>
<li><code>CTRL+C</code> - copies current note (or current selection) into clipboard <li><kbd>Ctrl</kbd>+<kbd>A</kbd> - select all notes in the current level</li>
(used for <a href="Note/Cloning%20Notes.html">cloning</a> <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>
<li><code>CTRL+X</code> - cuts current (or current selection) note into clipboard <li><kbd>Ctrl</kbd>+<kbd>X</kbd> - cuts current (or current selection) note
(used for moving notes)</li> into clipboard (used for moving notes)</li>
<li><code>CTRL+V</code> - pastes note(s) as sub-note into current note (which <li><kbd>Ctrl</kbd>+<kbd>V</kbd> - pastes note(s) as sub-note into current
is either move or clone depending on whether it was copied or cut into note (which is either move or clone depending on whether it was copied
clipboard)</li> or cut into clipboard)</li>
<li><code>DEL</code> - delete note / sub-tree</li> <li><kbd>Del</kbd> - delete note / sub-tree</li>
</ul> </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 <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 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 the documentation of these projects to see all their built-in keyboard
shortcuts.</p> shortcuts.</p>
<ul> <ul>
<li><code>ALT-F10</code> - bring up inline formatting toolbar (arrow keys <code>&lt;-</code>,<code>-&gt;</code> to <li><kbd>Alt</kbd>-<kbd>F10</kbd> - bring up inline formatting toolbar (arrow
navigate, <code>ENTER</code> to apply)</li> keys <kbd><span></span></kbd>,<kbd><span></span></kbd> to navigate, <kbd>Enter</kbd> to
<li><code>ALT-F10</code> - again to bring up block formatting toolbar</li> apply)</li>
<li><code>ENTER</code> in tree pane switches from tree pane into note title. <li><kbd>Alt</kbd>-<kbd>F10</kbd> - again to bring up block formatting toolbar</li>
Enter from note title switches focus to text editor. <code>CTRL+.</code> switches <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> 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>
<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>
<li><code>ALT+T</code> - inserts current date and time at caret position</li> <li><kbd>Alt</kbd>+<kbd>T</kbd> - inserts current date and time at caret position</li>
<li><code>CTRL+.</code> - jump away from the editor to tree pane and scroll <li><kbd>Ctrl</kbd>+<kbd>.</kbd> - jump away from the editor to tree pane and
to current note</li> scroll to current note</li>
</ul> </ul>
<h2>Runtime shortcuts</h2>
<h2>Runtime shortcuts</h2>
<p>These are hooked in Electron to be similar to native browser keyboard <p>These are hooked in Electron to be similar to native browser keyboard
shortcuts.</p> shortcuts.</p>
<ul> <ul>
<li><code>F5</code>, <code>CTRL-R</code> - reloads trilium frontend</li> <li><kbd>F5</kbd>, <kbd>Ctrl</kbd>-<kbd>R</kbd> - reloads Trilium front-end</li>
<li><code>CTRL+SHIFT+I</code> - show developer tools</li> <li><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd> - show developer tools</li>
<li><code>CTRL+F</code> - show search dialog</li> <li><kbd>Ctrl</kbd>+<kbd>F</kbd> - show search dialog</li>
<li><code>CTRL+-</code> - zoom out</li> <li><kbd>Ctrl</kbd>+<kbd>-</kbd> - zoom out</li>
<li><code>CTRL+=</code> - zoom in</li> <li><kbd>Ctrl</kbd>+<kbd>=</kbd> - zoom in</li>
</ul> </ul>
<h2>Other</h2>
<h2>Other</h2>
<ul> <ul>
<li><code>ALT+O</code> - show SQL console (use only if you know what you're <li><kbd>Alt</kbd>+<kbd>O</kbd> - show SQL console (use only if you know what
doing)</li> you're doing)</li>
<li><code>ALT+M</code> - distraction-free mode - display only note editor, <li><kbd>Alt</kbd>+<kbd>M</kbd> - distraction-free mode - display only note
everything else is hidden</li> editor, everything else is hidden</li>
<li><code>F11</code> - toggle full screen</li> <li><kbd>F11</kbd> - toggle full screen</li>
<li><code>CTRL+S</code> - toggle <a href="Navigation/Search.html">search</a> form <li><kbd>Ctrl</kbd> + <kbd>S</kbd> - toggle <a href="Navigation/Search.html">search</a> form
in tree pane</li> 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> </ul>
</div> </div>
</div> </div>

View File

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

View File

@ -14,24 +14,19 @@
<div class="ck-content"> <div class="ck-content">
<h2>Local Search</h2> <h2>Local Search</h2>
<p>Local search allows you to search within the currently displayed note. <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 To initiate a local search, press <kbd>Ctrl</kbd> + <kbd>F</kbd>. If using
will be handled by the browser's native search functionality. In the desktop a web browser, this will be handled by the browser's native search functionality.
(electron) version, a separate dialog will apear.</p> In the desktop (electron) version, a separate dialog will apear.</p>
<h2>Note Search</h2>
<h2>Note Search</h2>
<p>Note search enables you to find notes by searching for text in the title, <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 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 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 a special search note which is visible on your navigation tree and contains
the search results as sub-items.</p> the search results as sub-items.</p>
<p>To search for notes, click on the magnifying glass icon on the toolbar <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> or press the <kbd>Ctrl</kbd> + <kbd>S</kbd> keyboard <a href="../Keyboard%20Shortcuts.html">shortcut</a>.</p>
<h3>Simple Note Search Examples</h3>
<h3>Simple Note Search Examples</h3>
<ul> <ul>
<li><code>rings tolkien</code>: Full-text search to find notes containing <li><code>rings tolkien</code>: Full-text search to find notes containing
both "rings" and "tolkien".</li> both "rings" and "tolkien".</li>
@ -62,9 +57,7 @@
match a regular expression (regex). This feature has been available since match a regular expression (regex). This feature has been available since
Trilium 0.52.</li> Trilium 0.52.</li>
</ul> </ul>
<h3>Advanced Use Cases</h3>
<h3>Advanced Use Cases</h3>
<ul> <ul>
<li><code>~author.relations.son.title = 'Christopher Tolkien'</code>: Search <li><code>~author.relations.son.title = 'Christopher Tolkien'</code>: Search
for notes with an "author" relation to a note that has a "son" relation 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 <li><code>note.children.title = 'sub-note'</code>: Find notes with a child
named "sub-note".</li> named "sub-note".</li>
</ul> </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>, <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> 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> <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> <p>This example will:</p>
<ol> <ol>
<li>Find notes with the author label "Tolkien".</li> <li>Find notes with the author label "Tolkien".</li>
@ -123,27 +111,16 @@
are equal.</li> are equal.</li>
<li>Limit the results to the first 10 notes.</li> <li>Limit the results to the first 10 notes.</li>
</ol> </ol>
<h3>Negation</h3>
<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>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> <p>This query finds all book notes not in the "Tolkien" subtree.</p>
<h2>Under the Hood</h2>
<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>
<h3>Label and Relation Shortcuts</h3> <p>However, common label and relation searches have shortcut syntax:</p><pre><code class="language-text-x-trilium-auto">#publicationYear = 1954
<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> #author.title *=* Tolkien</code></pre>
<h3>Separating Full-Text and Attribute Parts</h3> <h3>Separating Full-Text and Attribute Parts</h3>
<p>Search syntax allows combining full-text search with attribute-based search <p>Search syntax allows combining full-text search with attribute-based search
seamlessly. For example, <code>tolkien #book</code> contains:</p> seamlessly. For example, <code>tolkien #book</code> contains:</p>
<ol> <ol>
@ -155,28 +132,21 @@
<p>Trilium detects the separation between full text search and attribute/property <p>Trilium detects the separation between full text search and attribute/property
search by looking for certain special characters or words that denote attributes 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 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> search, escape them with a backslash so they are processed as regular text:</p><pre><code class="language-text-x-trilium-auto">"note.txt"
<pre><code class="language-text-x-trilium-auto">"note.txt"
\#hash \#hash
#myLabel = 'Say "Hello World"'</code></pre> #myLabel = 'Say "Hello World"'</code></pre>
<h3>Escaping Special Characters</h3> <h3>Escaping Special Characters</h3>
<p>&nbsp;</p>
<p>Special characters can be enclosed in quotes or escaped with a backslash <p>Special characters can be enclosed in quotes or escaped with a backslash
to be used in full-text search:</p> to be used in full-text search:</p><pre><code class="language-text-x-trilium-auto">"note.txt"
<pre><code class="language-text-x-trilium-auto">"note.txt"
\#hash \#hash
#myLabel = 'Say "Hello World"'</code></pre> #myLabel = 'Say "Hello World"'</code></pre>
<p>Three types of quotes are supported: single, double, and backtick.</p> <p>Three types of quotes are supported: single, double, and backtick.</p>
<h3>Type Coercion</h3>
<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>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 <p>This finds notes created in May 2019. Numeric operators like <code>#publicationYear &gt;= 1960</code> convert
string values to numbers for comparison.</p> 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 <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 search <a href="https://meyerweb.com/eric/tools/dencoder/">url encoded</a> string
in the URL:</p> in the URL:</p>

View File

@ -14,7 +14,6 @@
<div class="ck-content"> <div class="ck-content">
<h2>Motivation</h2> <h2>Motivation</h2>
<p>Trilium's core feature is the ability to structure your notes into hierarchical <p>Trilium's core feature is the ability to structure your notes into hierarchical
tree-like structure.</p> tree-like structure.</p>
<p>It is expected then that you'll have an elaborate and deep note hierarchy <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 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 seems it belongs to both of these, I can't (and don't want to) choose one
over the other.</p> 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 <p>The solution to the problem shown above is to allow notes to have multiple
parents.</p> parents.</p>
<p>I call these "clones", but that is a bit misleading - there's no original <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. <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 Both the Bash subtrees are the same and contain the same sub-categories
and notes.</p> and notes.</p>
<h3>Demo</h3>
<h3>Demo</h3>
<p> <p>
<img src="../../Attachments/create-clone.gif" alt="" /> <img src="../../Attachments/create-clone.gif" alt="">
</p> </p>
<p>In the demo, you can see how a clone can be created using the context <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 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>
and CTRL+V <a href="../Keyboard%20Shortcuts.html">keyboard shortcuts</a>.</p> <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 <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> the "Note Paths" tab in the Ribbon toolbar.</p>
<p>Titles of cloned notes in the tree view have an asterisk to the right <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> 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 <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 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 more specific to avoid confusion. In some cases this isn't possible so
Trilium provides "branch prefixes", which is shown before the note name 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 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> 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>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> <p>If you try to delete a note, it works like this:</p>
<ol> <ol>

View File

@ -14,17 +14,14 @@
<div class="ck-content"> <div class="ck-content">
<h2>Default Themes</h2> <h2>Default Themes</h2>
<p>Trilium comes with a couple pre-installed color themes, with the default <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, 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 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> corner), select the Appearance tab, and choose your preferred theme.</p>
<p> <p>
<img src="../Attachments/dark-theme.png" alt="Dark Theme" /> <img src="../Attachments/dark-theme.png" alt="Dark Theme">
</p> </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 <p>Trilium supports custom user themes, allowing you to personalize the application's
appearance. To create a custom theme, follow these steps:</p> appearance. To create a custom theme, follow these steps:</p>
<ol> <ol>
@ -34,8 +31,7 @@
your note, where <code>my-theme-name</code> is the name of your custom theme.</li> 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 <li><strong>Define Your Styles</strong>: Write your custom CSS within the
note. Below is an example of a custom theme:</li> note. Below is an example of a custom theme:</li>
</ol> </ol><pre><code class="language-text-x-trilium-auto">@font-face {
<pre><code class="language-text-x-trilium-auto">@font-face {
font-family: 'Raleway'; font-family: 'Raleway';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
@ -89,7 +85,6 @@ body .CodeMirror {
filter: invert(100%) hue-rotate(180deg); filter: invert(100%) hue-rotate(180deg);
}</code></pre> }</code></pre>
<h3>Activating Your Custom Theme</h3> <h3>Activating Your Custom Theme</h3>
<p>Once you've created your custom theme:</p> <p>Once you've created your custom theme:</p>
<ol> <ol>
<li>Go to "Menu" -&gt; "Options" -&gt; "Appearance."</li> <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> 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> <li>Select your custom theme to activate it.</li>
</ol> </ol>
<p>If you make changes to your theme, press <code>CTRL-R</code> to reload the <p>If you make changes to your theme, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to
frontend and apply your updates.</p> reload the frontend and apply your updates.</p>
<h3>Sharing and Importing Themes</h3>
<h3>Sharing and Importing Themes</h3>
<p>Custom themes can be exported as <code>.tar</code> archives, which can be <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 shared with other users. However, be cautious when importing themes from
untrusted sources, as they may contain executable scripts that could pose untrusted sources, as they may contain executable scripts that could pose
security risks.</p> 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>An example user theme, <em>Steel Blue</em>, is available in the <a href="#root/xjSsCcvVZf6H">demo document</a>.</p>
<p> <p>
<img src="../Attachments/steel-blue.png" alt="Steel Blue Theme" /> <img src="../Attachments/steel-blue.png" alt="Steel Blue Theme">
</p> </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 <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 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 you might want to modify specific UI elements, such as changing the colors
of notes in the tree view.</p> of notes in the tree view.</p>
<h3>Applying Custom CSS</h3>
<h3>Applying Custom CSS</h3>
<p>To use custom CSS:</p> <p>To use custom CSS:</p>
<ol> <ol>
<li><strong>Create a CSS Code Note</strong>: Create a new <a href="../Note%20Types/Code.html">code note</a> with <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> 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> <li><strong>Write Your CSS</strong>: Add your custom CSS rules to the note.</li>
</ol> </ol>
<p>For example:</p> <p>For example:</p><pre><code class="language-text-x-trilium-auto">/* Custom CSS to style specific elements */
<pre><code class="language-text-x-trilium-auto">/* Custom CSS to style specific elements */
.tree-item { .tree-item {
color: #ff6347; /* Change tree item color */ color: #ff6347; /* Change tree item color */
}</code></pre> }</code></pre>
<p>When Trilium's frontend starts, all notes labeled with <code>appCss</code> are <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> 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 <p>After making changes, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to reload the frontend
apply your new styles.</p> and apply your new styles.</p>
<p> <p>
<img src="Themes_image.png" alt="" /> <img src="Themes_image.png" alt="">
</p> </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> <p>To apply specific styles to certain notes in the tree:</p>
<ul> <ul>
<li><strong>Use the</strong> <code>**cssClass**</code> <strong>Attribute</strong>: <li><strong>Use the</strong> <code>**cssClass**</code> <strong>Attribute</strong>:
@ -154,15 +140,11 @@ body .CodeMirror {
</ul> </ul>
<p>For example, if you want to style notes of a specific type, such as notes <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> 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 <p>A gallery of user-created themes is available, showcasing the variety
of customizations that the Trilium community has developed. For more information, of customizations that the Trilium community has developed. For more information,
visit the <a href="Themes/Theme%20Gallery.html">Theme Gallery</a>.</p> 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 <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. 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>, 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 <p>This page explains how to manipulate the note tree in TriliumNext, focusing
on moving notes.</p> on moving notes.</p>
<p> <p>
<img src="1_Note Tree_image.png" alt="" /> <img src="1_Note Tree_image.png" alt="">
</p> </p>
<h2>Drag and Drop</h2>
<h2>Drag and Drop</h2>
<p> <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>
<p>You can easily rearrange the note tree by dragging and dropping notes, <p>You can easily rearrange the note tree by dragging and dropping notes,
as demonstrated in the example above.</p> as demonstrated in the example above.</p>
<h2>Keyboard Manipulation</h2>
<h2>Keyboard Manipulation</h2>
<p> <p>
<img src="../../Attachments/move-note-with-keyboard.gif" alt="Example of using keyboard keys to move a note" <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
/>Trilium offers efficient keyboard-based manipulation using the following
<a <a
href="../Keyboard%20Shortcuts.html">shortcuts</a>:</p> href="../Keyboard%20Shortcuts.html">shortcuts</a>:</p>
<ul> <ul>
<li><code>CTRL-UP</code> and <code>CTRL-DOWN</code>: Move the note up or down <li><kbd>Ctrl</kbd> + <kbd><span></span></kbd> and <kbd>Ctrl</kbd> +<kbd><span></span></kbd>:
in the order.</li> Move the note up or down in the order.</li>
<li><code>CTRL-LEFT</code>: Move the note up in the hierarchy by changing <li><kbd>Ctrl</kbd>+<kbd><span></span></kbd>: Move the note up in the hierarchy
its parent to the note's grandparent.</li> by changing its parent to the note's grandparent.</li>
<li><code>CTRL-RIGHT</code>: Move the note down in the hierarchy by setting <li><kbd>Ctrl</kbd>+<kbd><span></span></kbd>: Move the note down in the hierarchy
its parent to the note currently above it (this action is best understood by setting its parent to the note currently above it (this action is best
through a demo or hands-on experience).</li> 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><span></span></kbd> and <kbd><span></span></kbd>: Expand and collapse
a sub-tree.</li>
</ul> </ul>
<h2>Context Menu</h2>
<h2>Context Menu</h2>
<p>You can also move notes using the familiar cut and paste functions available <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> ( in the context menu, or with the associated keyboard <a href="../Keyboard%20Shortcuts.html">shortcuts</a>: <code>CTRL-C</code> (
<a <a
href="../Note/Cloning%20Notes.html">copy</a>), <code>CTRL-X</code> (cut) and <code>CTRL-V</code> (paste).</p> 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>
<h2>Multiple selection</h2>
<p>It is possible to select multiple notes at one time.</p> <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 <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 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> the start and the end note will be selected as well.</p>
<p> <p>
<img src="Note Tree_image.png" alt="" /> <img src="Note Tree_image.png" alt="">
</p> </p>
<p>In the right-click menu, operations such as Cut, Copy, Move to, Clone <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 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 them. The rest of the options will not be available and will appear disabled
in the menu.</p> in the menu.</p>
</div> </div>

View File

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

View File

@ -15,9 +15,7 @@
<div class="ck-content"> <div class="ck-content">
<p>This is essentially Trilium sources + node modules + node.js runtime packaged <p>This is essentially Trilium sources + node modules + node.js runtime packaged
into one 7z file.</p> into one 7z file.</p>
<h2>Steps</h2>
<h2>Steps</h2>
<ul> <ul>
<li>ssh into your server</li> <li>ssh into your server</li>
<li>use <code>wget</code> (or <code>curl</code> or whatever) to download latest <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, <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> the Trilium process is terminated. To avoid that, you have two options:</p>
<ul> <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 <li>Configure systemd to automatically run Trilium in the background on every
boot</li> boot</li>
</ul> </ul>
<h2>Configure Trilium to auto-run on boot with systemd</h2>
<h2>Configure Trilium to auto-run on boot with systemd</h2>
<ul> <ul>
<li>After downloading, extract and move Trilium:</li> <li>After downloading, extract and move Trilium:</li>
</ul> </ul><pre><code class="language-text-x-trilium-auto">tar -xvf trilium-linux-x64-server-[VERSION].tar.xz
<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> sudo mv trilium-linux-x64-server /opt/trilium</code></pre>
<ul> <ul>
<li>Create the service:</li> <li>Create the service:</li>
</ul> </ul><pre><code class="language-text-x-trilium-auto">sudo nano /etc/systemd/system/trilium.service</code></pre>
<pre><code class="language-text-x-trilium-auto">sudo nano /etc/systemd/system/trilium.service</code></pre>
<ul> <ul>
<li>Paste this into the file (replace the user and group as needed):</li> <li>Paste this into the file (replace the user and group as needed):</li>
</ul> </ul><pre><code class="language-text-x-trilium-auto">[Unit]
<pre><code class="language-text-x-trilium-auto">[Unit]
Description=Trilium Daemon Description=Trilium Daemon
After=syslog.target network.target After=syslog.target network.target
@ -75,27 +68,19 @@ WantedBy=multi-user.target</code></pre>
<ul> <ul>
<li>Save the file (CTRL-S) and exit (CTRL-X)</li> <li>Save the file (CTRL-S) and exit (CTRL-X)</li>
<li>Enable and launch the service:</li> <li>Enable and launch the service:</li>
</ul> </ul><pre><code class="language-text-x-trilium-auto">sudo systemctl enable --now -q trilium</code></pre>
<pre><code class="language-text-x-trilium-auto">sudo systemctl enable --now -q trilium</code></pre>
<ul> <ul>
<li>You can now open a browser to http://[your-server-hostname]:8080 and you <li>You can now open a browser to http://[your-server-hostname]:8080 and you
should see the Trilium initialization page.</li> should see the Trilium initialization page.</li>
</ul> </ul>
<h2>Common issues</h2>
<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)
<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 Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32) at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)</code></pre> at tryModuleLoad (module.js:505:12)</code></pre>
<p>If you get an error like this, you need to either upgrade your glibc (typically <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> 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>, <p>Don't forget to <a href="../TLS%20Configuration.html">configure TLS</a>,
which is required for secure usage!</p> which is required for secure usage!</p>
</div> </div>

View File

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

View File

@ -15,24 +15,18 @@
<div class="ck-content"> <div class="ck-content">
<p>Trilium utilizes the powerful <a href="https://ckeditor.com/ckeditor-5/">CKEditor 5</a> as <p>Trilium utilizes the powerful <a href="https://ckeditor.com/ckeditor-5/">CKEditor 5</a> as
its text editing component.</p> 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 <p>The Trilium text note interface does not display toolbars or formatting
options by default. These can be accessed by:</p> options by default. These can be accessed by:</p>
<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> </p>
<ol> <ol>
<li>Selecting text to bring up an inline toolbar.</li> <li>Selecting text to bring up an inline toolbar.</li>
</ol> </ol>
<p> <p>
<img src="../Attachments/text-notes-formatting-bloc.png" alt="formating note block" <img src="../Attachments/text-notes-formatting-bloc.png" alt="formating note block">2. Clicking on the block toolbar.</p>
/>2. Clicking on the block toolbar.</p> <h2>Read-Only vs. Editing Mode</h2>
<h2>Read-Only vs. Editing Mode</h2>
<p>Text notes are usually opened in edit mode. However, they may open in <p>Text notes are usually opened in edit mode. However, they may open in
read-only mode under the following circumstances:</p> read-only mode under the following circumstances:</p>
<ul> <ul>
@ -42,11 +36,9 @@
</ul> </ul>
<p>In both cases, it is possible to switch back to editable mode using the <p>In both cases, it is possible to switch back to editable mode using the
<img <img
src="Text_bx-edit-alt.svg" alt="" />button at top right of page.</p> 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> <p>For more information, see&nbsp;<a href="../Basic%20Concepts/Note/Read-Only%20Notes.html">Read-Only Notes</a>.</p>
<h2>General Formatting</h2>
<h2>General Formatting</h2>
<p>Since Trilium uses CKEditor, all of its formatting options are available <p>Since Trilium uses CKEditor, all of its formatting options are available
here. You may use the graphical toolbar shown above, or enter formatting here. You may use the graphical toolbar shown above, or enter formatting
such as markdown markdown directly in the text. Examples include:</p> 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><em>Italic</em>: Type <code>*text*</code> or <code>_text_</code>
</li> </li>
<li><code>Code</code>: Type `text`</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> </li>
</ul> </ul>
<h3>Lists</h3>
<h3>Lists</h3> <p>See&nbsp;<a href="Text/Lists.html">Lists</a>.</p>
<h3>Blocks</h3>
<p>See <a href="Text/Lists.html">Lists</a>.</p>
<h3>Blocks</h3>
<ul> <ul>
<li>Block quote: Start a line with <code>&gt;</code> followed by a space</li> <li>Block quote: Start a line with <code>&gt;</code> followed by a space</li>
</ul> </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 <p>To create a multi-line code block, start a line with "```[lang]", for
example:</p> example:</p><pre><code class="language-text-x-trilium-auto">if (1 &gt; 2) {
<pre><code class="language-text-x-trilium-auto">if (1 &gt; 2) {
console.log("Error in the matrix"); console.log("Error in the matrix");
}</code></pre> }</code></pre>
<h3>Headings</h3> <h3>Headings</h3>
<p>Create headings by starting a line with <code>##</code> for heading 2, <code>###</code> for <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 heading 3, and so on up to heading 6. Note that <code>#</code> is reserved
for the title.</p> 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> <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 <p>CKEditor supports a markdown-like editing experience, recognising syntax
and automatically converting it to rich text.</p> and automatically converting it to rich text.</p>
<p> <p>
<img src="Text_image.png" alt="" /> <img src="Text_image.png" alt="">
</p> </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>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 <p>If autoformatting is not desirable, press <kbd>Ctrl</kbd> + <kbd>Z</kbd> to
the text to its original form.</p> revert the text to its original form.</p>
<p>Note: The use of <code>#</code> for Heading 1 is not supported because it <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 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> 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> <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 <p>When editing a document that becomes too large, you can split it into
sub-notes:</p> sub-notes:</p>
<ol> <ol>
@ -120,9 +96,7 @@
the new sub-note is named accordingly. You can also assign a keyboard shortcut 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 for this action. This functionality is available through the block toolbar
icon.</p> 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 <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 be useful for e.g. including a dynamically generated chart (from scripts
&amp; "render HTML" note) or other more advanced use cases.</p> &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> <h1 data-trilium-h1>Content language &amp; Right-to-left support</h1>
<div class="ck-content"> <div class="ck-content">
<figure class="image"> <p>
<img style="aspect-ratio:906/557;" src="Content language & Right-t.png" <img src="api/images/CBcZeC0OG3Ne/Content language &amp; Right-t.png"
width="906" height="557"> alt="" />
</figure> </p>
<p>A language hint can be provided for text notes. This option informs the <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 browser or the desktop application about the language the note is written
in (for example this might help with spellchecking), and it also determines 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 whether the text is displayed from right-to-left for languages such as
Arabic, Hebrew, etc.</p> 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 <p>To set the language of the content, go to “Basic Properties” and look
for the “Language” field.</p> 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 <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 by going to settings or by selecting the “Configure languages” item when
setting the language.</p> setting the language.</p>

View File

@ -14,23 +14,20 @@
<div class="ck-content"> <div class="ck-content">
<h2>External links</h2> <h2>External links</h2>
<p>External link is general web link targeting some external web resource <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 - 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> an external link to one Wikipedia page.</p>
<p>External links are done through CKEditor native links. To create an external <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" link, select text and press <kbd>Ctrl</kbd> + <kbd>K</kbd> or wait for the
to appear and click link icon there.</p> "balloon" to appear and click link icon there.</p>
<p> <p>
<img src="../../Attachments/create-external-link.gif" alt="" /> <img src="../../Attachments/create-external-link.gif" alt="">
</p> </p>
<p>You can follow external link by either double clicking (will open new <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> 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 <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 <p>In the dialog you can see radio button to choose from different types
of linking:</p> of linking:</p>
<ul> <ul>
@ -42,20 +39,16 @@
- you link to a particular note and can choose the link title</li> - you link to a particular note and can choose the link title</li>
</ul> </ul>
<p> <p>
<img src="../../Attachments/create-link-to-note.gif" alt="" /> <img src="../../Attachments/create-link-to-note.gif" alt="">
</p> </p>
<p>You can follow the note link by double clicking it.</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 <p>Alternatively if you only wish to quickly preview the content, you can
hover over the link and will see read only preview.</p> 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 <p>Trilium also provides "inline" linking - type <code>@</code> and you'll
see an autocomplete, just type few characters from the desired note title, see an autocomplete, just type few characters from the desired note title,
press enter and you have a link.</p> 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 <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 particular note. See <a href="../../Advanced%20Usage/Note%20Map.html">note map</a> for
details.</p> details.</p>

View File

@ -14,51 +14,38 @@
<div class="ck-content"> <div class="ck-content">
<p>As Trilium is currently in beta, encountering bugs is to be expected.</p> <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>The first step in troubleshooting is often a restart.</p>
<p>If you experience an UI issue, the frontend may have entered an inconsistent <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 state. Reload the application by pressing <kbd>Ctrl</kbd> + <kbd>R</kbd>.
reload the frontend.</p> This will reload the frontend.</p>
<p>If the issue persists or appears to be a backend problem, restart the <p>If the issue persists or appears to be a backend problem, restart the
entire application. For the desktop (Electron) build, simply close and entire application. For the desktop (Electron) build, simply close and
reopen the window. If you're using a Docker build, restart the container.</p> 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 <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 Trilium to crash. If Trilium attempts to reload the problematic note upon
restart, it will continue to crash.</p> restart, it will continue to crash.</p>
<p>To resolve this, use the <code>TRILIUM_START_NOTE_ID</code> environment <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>). 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> 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>
<pre><code class="language-text-x-trilium-auto">TRILIUM_START_NOTE_ID=root ./trilium</code></pre>
<h2>Broken Script Prevents Application Startup</h2> <h2>Broken Script Prevents Application Startup</h2>
<p>If a custom script causes Triliumto crash, and it is set as a startup <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>, 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> 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>
<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 <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> 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> <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 <p>Trilium periodically verifies the logical consistency of the database
(e.g., ensuring every note has a parent). If inconsistencies are detected, (e.g., ensuring every note has a parent). If inconsistencies are detected,
you will be notified via the UI.</p> 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 <p>In such cases, file a bug report and attach an <a href="Troubleshooting/Anonymized%20Database.html">anonymized database</a> if
necessary.</p> necessary.</p>
<h2>Restoring Backup</h2>
<h2>Restoring Backup</h2>
<p>Trilium makes regular automatic backups. If issues become severe, you <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> 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> <p>If you forget your password:</p>
<ul> <ul>
<li>Protected notes are irretrievable without the password.</li> <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 <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>. 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>) 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> and execute the following queries:</p><pre><code class="language-text-x-trilium-auto">UPDATE options SET value = '77/twC5O00cuQgNC63VK32qOKKYwj21ev3jZDXoytVU=' WHERE name = 'passwordVerificationSalt';
<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 = '710BMasZCAgibzIc07X4P9Q4TeBd4ONnqJOho+pWcBM=' WHERE name = 'passwordDerivedKeySalt';
UPDATE options SET value = 'Eb8af1/T57b89lCRuS97tPEl4CwxsAWAU7YNJ77oY+s=' WHERE name = 'passwordVerificationHash'; UPDATE options SET value = 'Eb8af1/T57b89lCRuS97tPEl4CwxsAWAU7YNJ77oY+s=' WHERE name = 'passwordVerificationHash';
UPDATE options SET value = 'QpC8XoiYYeqHPtHKRtbNxfTHsk+pEBqVBODYp0FkPBa22tlBBKBMigdLu5GNX8Uu' WHERE name = 'encryptedDataKey';</code></pre> UPDATE options SET value = 'QpC8XoiYYeqHPtHKRtbNxfTHsk+pEBqVBODYp0FkPBa22tlBBKBMigdLu5GNX8Uu' WHERE name = 'encryptedDataKey';</code></pre>
@ -79,9 +65,7 @@ UPDATE options SET value = 'QpC8XoiYYeqHPtHKRtbNxfTHsk+pEBqVBODYp0FkPBa22tlBBKBM
start fresh.</p> start fresh.</p>
<p>If you continue using the existing document file, change your password <p>If you continue using the existing document file, change your password
(Options -&gt; Change Password).</p> (Options -&gt; Change Password).</p>
<h2>Reporting Bugs</h2>
<h2>Reporting Bugs</h2>
<p>Reporting bugs is highly valuable. Here are some tips:</p> <p>Reporting bugs is highly valuable. Here are some tips:</p>
<ul> <ul>
<li>Use GitHub issues for reporting: <a href="https://github.com/TriliumNext/Notes/issues">https://github.com/TriliumNext/Notes/issues</a> <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"> <div class="ck-content">
<p>It's important to provide all available error logs together with bug reports. <p>It's important to provide all available error logs together with bug reports.
This page will show you how to do it.</p> 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>, <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>. 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 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> 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 <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> 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 <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 the easiest way is to press <kbd>Ctrl</kbd>-<kbd>Shift</kbd>-<kbd>I</kbd> which
most browsers (and desktop app). Make sure that the error producing action should work in most browsers (and desktop app). Make sure that the error
happened right before you copy&amp;paste the errors, the console is cleared producing action happened right before you copy&amp;paste the errors, the
on app restart.</p> console is cleared on app restart.</p>
<p>If that doesn't work, then:</p> <p>If that doesn't work, then:</p>
<ul> <ul>
<li>in Trilium desktop app, go to top-left menu button -&gt; Advanced -&gt; <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> <li>In Firefox/Chrome right-click anywhere in the page and click Inspect:</li>
</ul> </ul>
<p> <p>
<img src="../Attachments/error-logs-firefox-context.png" alt="" /> <img src="../Attachments/error-logs-firefox-context.png" alt="">
</p> </p>
<p>Once you have Dev Tools open, click on "Console" tab:</p> <p>Once you have Dev Tools open, click on "Console" tab:</p>
<p> <p>
<img src="Error logs_image.png" alt="" /> <img src="Error logs_image.png" alt="">
</p> </p>
<p>Copy-paste (or screenshot) the logs. It's better to provide not just errors, <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> 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 <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 to the public GitHub issues, feel free to contact the devs in our Matrix
<a <a
href="https://github.com/TriliumNext/Notes#-discuss-with-us">support channel</a>.</p> 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 <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> 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 <p>Often times, bugs manifest themselves in specific notes and having them
would greatly ease reproduction and fixing.</p> would greatly ease reproduction and fixing.</p>
<p>In such case, please export the relevant note subtree by right-clicking <p>In such case, please export the relevant note subtree by right-clicking
it on the left tree, choosing Export - HTML as ZIP:</p> it on the left tree, choosing Export - HTML as ZIP:</p>
<p> <p>
<img src="../Attachments/error-logs-export-subtree.png" alt="" /> <img src="../Attachments/error-logs-export-subtree.png" alt="">
</p> </p>
</div> </div>
</div> </div>

View File

@ -15,7 +15,7 @@
<div class="ck-content"> <div class="ck-content">
<p>Some changes to the application will not take effect immediately and as <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> 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>
</div> </div>
</body> </body>