chore(monorepo): move everything into subdirectory for easy diffing

This commit is contained in:
Elian Doran
2025-04-18 01:28:32 +03:00
parent 3b69eadbf6
commit 318808f9ec
2646 changed files with 654 additions and 654 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -1,18 +0,0 @@
# Evernote
Trilium can import ENEX files which are used by Evernote for backup/export. One ENEX file represents content (notes and resources) of one notebook.
## Export ENEX from Evernote
To export ENEX file, you need to have a _legacy_ desktop version of Evernote (i.e. not web/mobile). Right click on notebook and select export and follow the wizard.
## Import ENEX in Trilium
Once you have ENEX file, you can import it to Trilium. Right click on some note (to which you want to import the file), click on "Import" and select the ENEX file.
After importing the ENEX file, go over the imported notes and resources to be sure the import went well, and you didn't lose any data.
## Limitations
All resources (except for images) are created as note's attachments.
HTML inside ENEX files is not exactly valid so some formatting maybe broken or lost. You can report major problems into [Trilium issue tracker](https://github.com/TriliumNext/Notes/issues).

View File

@@ -1,50 +0,0 @@
# Markdown
Trilium supports Markdown for both import and export, while trying to keep compatibility as high as possible.
## Import
### Clipboard import
If you want to import just a chunk of markdown from clipboard, you can do it from editor block menu:
![](Markdown_markdown-inline-i.gif)
### File import
You can also import Markdown files from files:
* single markdown file (with .md extension)
* whole tree of markdown files (packaged into [.zip](https://en.wikipedia.org/wiki/Tar_\(computing\)) archive)
* Markdown files need to be packaged into ZIP archive because browser can't read directories, only single files.
* You can use e.g. [7-zip](https://www.7-zip.org) to package directory of markdown files into the ZIP file
\[\[gifs/markdown-file-import.gif\]\]
![](Markdown_markdown-file-imp.gif)
## Export
### Subtree export
You can export whole subtree to ZIP archive which will have directory structured modelled after subtree structure:
![](Markdown_markdown-export-s.gif)
### Single note export
If you want to export just single note without its subtree, you can do it from Note actions menu:
![](Markdown_markdown-export-n.gif)
### Exporting protected notes
If you want to export protected notes, enter a protected session first! This will export the notes in an unencrypted form, so if you reimport into Trilium, make sure to re-protect these notes.
## Supported syntax
* [GitHub-Flavored Markdown](https://github.github.com/gfm/) is the main syntax that Trilium is following.
* Images are supported. When exporting, images are usually kept in the basic Markdown syntax but will use the HTML syntax if the image has a custom width. Figures are always embedded as HTML.
* Tables are supported with the Markdown syntax. If the table is too complex or contains elements that would render as HTML, the table is also rendered as HTML.
* <a class="reference-link" href="../../Note%20Types/Text/Block%20quotes%20%26%20admonitions.md">Admonitions</a> are supported using GitHub's format.
* Links are supported. “Reference links” (internal links that mirror a note's title and display its icon) are embedded as HTML in order to preserve the information on import.
* Math equations are supported using `$` and `$$` syntaxes.

View File

@@ -1,50 +0,0 @@
# OneNote
**This page describes a method to migrate via EverNote Legacy, but this app is no longer available/working.**
## Prep Onenote notes for best compatibility
* Remove Onenote Tags and replace with Emoji if possible (Onenote Tags will get imported into trilium as an image which clutters the Trilium tree somewhat)
* Make sure to use Onenote headings where applicable (These will be carried over correctly into Trilium)
* Remove extra whitespace in Onenote (Whitespace seems to be more noticible in Trilium, so removing it now will make it look nicer in trilium)
* If possible, try to avoid very long Onenote pages. Trilium works best with shorter concise pages with any number of sub or (sub-sub...) pages.
* Make sure numbered lists don't have unusual spaces between items in the list (Sometimes the numbered list will start at 1 again in Trilum if there is an extra space in the list in OneNote).
## Migration Procedure
### Import into Evernote from OneNote:
* Install [Evernote Legacy](https://web.archive.org/web/20230327110646/https://help.evernote.com/hc/en-us/articles/360052560314). Current versions of Evernote do not have this functionality. (Requires Evernote account, but import works without internet connection - be sure to NOT sync notes to Evernote!).
* In evernote navigate to File > Import > Onenote > Notebook > Section > OK
If exporting all sections at a time, they will not be grouped in folders - they will all be added to a single folder, but the order will be kept, so you can re-group into folders after importing to Trilium
### Export from Evernote
* Right click on the created notebook in Evernote and choose "Export Notes…"
* Use the default export format of .enex
### Cleanup enex file (optional)
* If the Onenote header (that is at the top of each Onenote page) is not desired, you can use the following regex to remove them in a text editor like VsCode:
Find (using regex): `.<div.*><h1` Replace with: `<h1`
### Import into Trilium
* In Trilium, right click on the root node and choose Import (all default options should be fine).
* Select the .enex file exported from Evernote
* Be patient. Large .enex files may take a few minutes to process
* Repeat import for each .enex file
## Other importing notes:
* Centered text in Onenote will be left-justified after importing into Trilium
* Internal onenote links will obviously be broken, but the link still exists so you can do a search in Trilium to find all onenote:// links and then re-link to the proper Trilium page (there is no way to link to a paragraph in trilium, so it's good to keep trilium pages short so links point to a small chunk of information instead of a massive note)
* Text colors, highlights, and formatting generally carries over well
* Revision history will be lost, but any new revisions will be tracked in Trilium
* The structure of notes are not maintained exactly, so if you had sub-notes in Onenote, you may have to re-arrange the notes accordingly (This is easy since the order of the notes is preserved).
* Evernote tags are created for each "section" in OneNote and these tags are carried over to Trilium as attributes
* If the tags are not desired, you can turn them off in the Evernote export options.
* If the "Created with OneNote" text is not desired, do a find/replace in the enex files before importing to Trilium
* Some links will be disabled (not clickable) when importing from enex.
* Files, screenshots, and attachments are all preserved (This is the only one-note export option that seems to preserve all of these).

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,12 +0,0 @@
# Bookmarks
To easily access selected notes, you can bookmark them. See demo:
![](Bookmarks_bookmarks.gif)
## Bookmark folder
Space in the left panel is limited, and you might want to bookmark many items. One possible solution is to bookmark a folder, so it shows its children:
![](Bookmarks_bookmark-folder.png)
To do this, you need to add a `#bookmarkFolder` label to the note.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

View File

@@ -1,25 +0,0 @@
# Jump to Note
<figure class="image image-style-align-center"><img style="aspect-ratio:991/403;" src="Jump to Note_image.png" width="991" height="403"></figure>
The _Jump to Note_ function allows easy navigation between notes by searching for their title. In addition to that, it can also trigger a full search or create notes.
## Entering jump to note
* In the <a class="reference-link" href="../UI%20Elements/Launch%20Bar.md">Launch Bar</a>, press ![](1_Jump%20to%20Note_image.png) button.
* Using the keyboard, press <kbd>Ctrl</kbd> + <kbd>J</kbd>.
## Recent notes
Jump to note also has the ability to show the list of recently viewed / edited notes and quickly jump to it.
To access this functionality, click on `Jump to` button on the top. By default, (when nothing is entered into autocomplete), this dialog will show the list of recent notes.
Alternatively you can click on the "time" icon on the right.
<img src="Jump to Note_recent-notes.gif" width="812" height="585">
## Interaction
* By default, when there is no text entered it will display the most recent notes.
* Using the keyboard, use the up or down arrow keys to navigate between items. Press <kbd>Enter</kbd> to open the desired note.
* If the note doesn't exist, it's possible to create it by typing the desired note title and selecting the _Create and link child note_ option.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

View File

@@ -1,8 +0,0 @@
# Note Hoisting
Hoisting is a standard outliner feature which allows you to focus on (or "zoom into") a specific note and its subtree by hiding all parent and sibling notes. Demo:
![](Note%20Hoisting_note-hoistin.gif)
In addition to showing only this subtree, this also narrows both full text search and [“jump to note”](Note%20Navigation.md) to just notes present in hoisted subtree.
See also [Workspace](Workspaces.md) which extends this feature.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

View File

@@ -1,16 +0,0 @@
# Note Navigation
One of the Trilium's goals is to provide fast and comfortable navigation between notes.
## Backwards and forward
You can use alt-left and alt-right to move back and forward in history of viewed pages.
This works identically to browser backwards / forwards, it's actually using built-in browser support for this.
![](Note%20Navigation_image.png)
## Jump to note
This is useful to quickly find and view arbitrary notes - click on `Jump to` button 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.
See <a class="reference-link" href="Jump%20to%20Note.md">Jump to Note</a> for more information.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -1,15 +0,0 @@
# Quick search
<figure class="image image-style-align-center"><img style="aspect-ratio:659/256;" src="Quick search_image.png" width="659" height="256"></figure>
The _Quick search_ function does a full-text search (that is, it searches through the content of notes and not just the title of a note) and displays the result in an easy-to-access manner.
The alternative to the quick search is the <a class="reference-link" href="Search.md">Search</a> function, which opens in a dedicated tab and has support for advanced queries.
For even faster navigation, it's possible to use <a class="reference-link" href="Jump%20to%20Note.md">Jump to Note</a> which will only search through the note titles instead of the content.
## Layout
Based on the <a class="reference-link" href="../UI%20Elements/Vertical%20and%20horizontal%20layout.md">Vertical and horizontal layout</a>, the quick search is placed:
* On the vertical layout, it is displayed right above the <a class="reference-link" href="../UI%20Elements/Note%20Tree.md">Note Tree</a>.
* On the horizontal layout, it is displayed in the <a class="reference-link" href="../UI%20Elements/Launch%20Bar.md">Launch Bar</a>, where it can be positioned just like any other icon.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -1,29 +0,0 @@
# Search in note
<figure class="image image_resized" style="width:100%;"><img style="aspect-ratio:898/93;" src="Search in note_image.png" width="898" height="93"></figure>
Local search allows you to search within the currently displayed note. 
## Alternatives
* Pressing Ctrl+F while in a browser while not focused in a <a class="reference-link" href="../../Note%20Types/Text.md">Text</a> or a <a class="reference-link" href="../../Note%20Types/Code.md">Code</a> note will trigger the browser's native search. This will also find text that is part of Trilium's UI.
* Pressing Ctrl+F in a <a class="reference-link" href="../../Note%20Types/Text.md">Text</a> note will reveal <a class="reference-link" href="../../Advanced%20Usage/Technologies%20used/CKEditor.md">CKEditor</a>'s search functionality.
## Accessing the search
* On desktop, press<kbd>Ctrl</kbd> + <kbd>F</kbd>
* From the <a class="reference-link" href="../UI%20Elements/Note%20buttons.md">Note buttons</a>, look for the context menu and select _Search in note_.
## Interaction
* Finding:
* Fill in the _Find in text…_ with the text to search for.
* The search will be executed automatically in the background.
* Use up and down arrows of the text box to navigate between results.
* Replacing:
* Fill in the _Find in text_… field with the text to replace.
* Fill in the _Replace with…_ field the text to replace it with.
* Press _Replace_ to replace only the current result.
* Press _Replace all_ to replace all of them at once.
* Options:
* _Case sensitive_ the search will distinguish upper case characters from lower case (e.g. searching for Hello will not match `hello`).
* _Match words_ - the search will find only exact word matches (e.g. searching for `Java` will not match `JavaScript`).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,183 +0,0 @@
# Search
<figure class="image"><img style="aspect-ratio:987/725;" src="Search_image.png" width="987" height="725"></figure>
Note search enables you to find notes by searching for text in the title, content, or [attributes](../../Advanced%20Usage/Attributes.md) 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.
## Accessing the search
* From the <a class="reference-link" href="../UI%20Elements/Launch%20Bar.md">Launch Bar</a>, look for the dedicated search button.
* To limit the search to a note and its children, select _Search from subtree_ from the <a class="reference-link" href="../UI%20Elements/Note%20Tree/Note%20tree%20contextual%20menu.md">Note tree contextual menu</a> or press <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>S</kbd>.
## Interaction
To search for notes, click on the magnifying glass icon on the toolbar or press the keyboard [shortcut](../Keyboard%20Shortcuts.md).
1. Set the text to search for in the _Search string_ field.
1. Apart from searching for words ad-literam, there is also the possibility to search for attributes or properties of notes.
2. See the examples below for more information.
2. To limit the search to a note and its sub-children, set a note in _Ancestor_.
1. This value is also pre-filled if the search is triggered from a [hoisted note](Note%20Hoisting.md) or a [workspace](Workspaces.md).
2. To search the entire database, keep the value empty.
3. To limit the search to only a few levels of hierarchy (e.g. look in sub-children but not in sub-sub-children of a note), set the _depth_ field to one of the provided values.
4. In addition to that, the search can be configured via the _Add search options_ buttons, as described in the follow-up section.
5. Press _Search_ to trigger the search. The results are displayed below the search configuration pane.
6. The _Search & Execute actions_ button is only relevant if at least one action has been added (as described in the section below).
7. The _Save to note_ will create a new note with the search configuration. For more information, see <a class="reference-link" href="../../Note%20Types/Saved%20Search.md">Saved Search</a>.
## Search options
Click on which search option to apply from the Add search option section.
* For each search option selected, the search configuration will update to reveal the entry. Each search option will have its own configuration.
* To remove a search option, simply press the X button to the right of it.
The options available are:
1. Search script
1. This feature allows writing a <a class="reference-link" href="../../Note%20Types/Code.md">Code</a> note that will handle the search on its own.
2. Fast search
1. The search will not look into the content of the notes, but it will still look into note titles and attributes, relations (based on the search query).
2. This method can speed up the search considerably for large [databases](../../Advanced%20Usage/Database.md).
3. Include archived
1. <a class="reference-link" href="../Notes/Archived%20Notes.md">Archived Notes</a> will also be included in the results, whereas otherwise they would be ignored.
4. Order by
1. Allows changing the criteria for ordering the results, for example to order by creation date or alphabetically instead of by relevancy (default).
2. It's also possible to change the order (ascending or descending) of the results.
5. Limit
1. Limits the results to a given maximum.
2. This can help if the number of results would otherwise be high, at the cost of not being able to view all the results.
6. Debug
1. This will print additional information in the server log (see <a class="reference-link" href="../../Troubleshooting/Error%20logs.md">Error logs</a>), regarding how the search expression was parsed.
2. This function is especially useful after understanding the search functionality in detail, in order to determine why a complex search query is not working as expected.
7. Action
1. Apart from just searching, it is also possible to apply actions such as to add a label or a relation to the notes that have been matched by the search.
2. Unlike other search configurations, here it's possible to apply the same action multiple times (i.e. in order to be able to apply multiple labels to notes).
3. The actions given are the same as the ones in <a class="reference-link" href="../../Advanced%20Usage/Bulk%20Actions.md">Bulk Actions</a>, which is an alternative for operating directly with notes within the <a class="reference-link" href="../UI%20Elements/Note%20Tree.md">Note Tree</a>.
4. After defining the actions, first press _Search_ to check the matched notes and then press _Search & Execute actions_ to trigger the actions.
### Simple Note Search Examples
* `rings tolkien`: Full-text search to find notes containing both "rings" and "tolkien".
* `"The Lord of the Rings" Tolkien`: Full-text search where "The Lord of the Rings" must match exactly.
* `note.content *=* rings OR note.content *=* tolkien`: Find notes containing "rings" or "tolkien" in their content.
* `towers #book`: Combine full-text and attribute search to find notes containing "towers" and having the "book" label.
* `towers #book or #author`: Search for notes containing "towers" and having either the "book" or "author" label.
* `towers #!book`: Search for notes containing "towers" and not having the "book" label.
* `#book #publicationYear = 1954`: Find notes with the "book" label and "publicationYear" set to 1954.
* `#genre *=* fan`: Find notes with the "genre" label containing the substring "fan". Additional operators include `*=*` for "contains", `=*` for "starts with", `*=` for "ends with", and `!=` for "is not equal to".
* `#book #publicationYear >= 1950 #publicationYear < 1960`: Use numeric operators to find all books published in the 1950s.
* `#dateNote >= TODAY-30`: A "smart search" to find notes with the "dateNote" label within the last 30 days. Supported smart values include NOW +- seconds, TODAY +- days, MONTH +- months, YEAR +- years.
* `~author.title *=* Tolkien`: Find notes related to an author whose title contains "Tolkien".
* `#publicationYear %= '19[0-9]{2}'`: Use the '%=' operator to match a regular expression (regex). This feature has been available since Trilium 0.52.
### Advanced Use Cases
* `~author.relations.son.title = 'Christopher Tolkien'`: Search for notes with an "author" relation to a note that has a "son" relation to "Christopher Tolkien". This can be modeled with the following note structure:
* Books
* Lord of the Rings
* label: “book”
* relation: “author” points to “J. R. R. Tolkien” note
* People
* J. R. R. Tolkien
* relation: “son” points to "Christopher Tolkien" note
* Christopher Tolkien
* `~author.title *= Tolkien OR (#publicationDate >= 1954 AND #publicationDate <= 1960)`: Use boolean expressions and parentheses to group expressions. Note that expressions starting with a parenthesis need an "expression separator sign" (# or ~) prepended.
* `note.parents.title = 'Books'`: Find notes with a parent named "Books".
* `note.parents.parents.title = 'Books'`: Find notes with a grandparent named "Books".
* `note.ancestors.title = 'Books'`: Find notes with an ancestor named "Books".
* `note.children.title = 'sub-note'`: Find notes with a child named "sub-note".
### Search with Note Properties
Notes have properties that can be used in searches, such as `noteId`, `dateModified`, `dateCreated`, `isProtected`, `type`, `title`, `text`, `content`, `rawContent`, `ownedLabelCount`, `labelCount`, `ownedRelationCount`, `relationCount`, `ownedRelationCountIncludingLinks`, `relationCountIncludingLinks`, `ownedAttributeCount`, `attributeCount`, `targetRelationCount`, `targetRelationCountIncludingLinks`, `parentCount`, `childrenCount`, `isArchived`, `contentSize`, `noteSize`, and `revisionCount`.
These properties can be accessed via the `note.` prefix, e.g., `note.type = code AND note.mime = 'application/json'`.
### Order by and Limit
```
#author=Tolkien orderBy #publicationDate desc, note.title limit 10
```
This example will:
1. Find notes with the author label "Tolkien".
2. Order the results by `publicationDate` in descending order.
3. Use `note.title` as a secondary ordering if publication dates are equal.
4. Limit the results to the first 10 notes.
### Negation
Some queries can only be expressed with negation:
```
#book AND not(note.ancestor.title = 'Tolkien')
```
This query finds all book notes not in the "Tolkien" subtree.
## Under the Hood
### Label and Relation Shortcuts
The "full" syntax for searching by labels is:
```
note.labels.publicationYear = 1954
```
For relations:
```
note.relations.author.title *=* Tolkien
```
However, common label and relation searches have shortcut syntax:
```
#publicationYear = 1954
#author.title *=* Tolkien
```
### Separating Full-Text and Attribute Parts
Search syntax allows combining full-text search with attribute-based search seamlessly. For example, `tolkien #book` contains:
1. Full-text tokens - `tolkien`
2. Attribute expressions - `#book`
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:
```
"note.txt"
\#hash
#myLabel = 'Say "Hello World"'
```
### Escaping Special Characters
Special characters can be enclosed in quotes or escaped with a backslash to be used in full-text search:
```
"note.txt"
\#hash
#myLabel = 'Say "Hello World"'
```
Three types of quotes are supported: single, double, and backtick.
### Type Coercion
Label values are technically strings but can be coerced for numeric comparisons:
```
note.dateCreated =* '2019-05'
```
This finds notes created in May 2019. Numeric operators like `#publicationYear >= 1960` convert string values to numbers for comparison.
## Auto-Trigger Search from URL
You can open Trilium and automatically trigger a search by including the search [url encoded](https://meyerweb.com/eric/tools/dencoder/) string in the URL:
`http://localhost:8080/#?searchString=abc`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

View File

@@ -1,12 +0,0 @@
# Similar Notes
<figure class="image image-style-align-center"><img style="aspect-ratio:1626/540;" src="Similar Notes_image.png" width="1626" height="540"></figure>
The Similar Notes feature tries to identify notes that relate to the current note by looking at the content of the notes, their relationships, as well as the date they were created.
To access the list of similar notes, press the “Similar Notes” tab in the <a class="reference-link" href="../UI%20Elements/Ribbon.md">Ribbon</a>.
## Interaction
* Hover over a note to see a short preview of the note.
* Click over a note to open it in the current view.
* <kbd>Ctrl</kbd> + click a note to open it in a separate tab.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -1,24 +0,0 @@
# Tree Concepts
This page explains the basic concepts related to the tree structure of notes in TriliumNext.
## Note
A note is the central entity in TriliumNext. For more details, see [Note](../Notes.md).
## Branch
A branch describes the placement of a note within the note tree. Essentially, it is a tuple of `parentNoteId` and `noteId`, indicating that the given note is placed as a child under the specified parent note.
Each note can have multiple branches, meaning any note can be placed in multiple locations within the tree. This concept is referred to as " [cloning](../Notes/Cloning%20Notes.md)."
## Prefix
A prefix is a branch-specific title modifier for a note. If you place your note in two different locations within the tree and want to alter the title slightly in one of those placements, you can use a prefix.
To edit a prefix, right-click on the note in the tree pane and select "Edit branch prefix."
The prefix is not part of the note itself and is not encrypted when the note is protected. This can be useful if you want part of the title to remain visible in the tree for easier navigation, even when the note is protected.
## Subtree
A subtree consists of a particular note (the subtree root) and all its children and descendants. Some operations, such as exporting, work on entire subtrees.

View File

@@ -1,15 +0,0 @@
# Workspaces
Workspace is a concept built up on top of [note hoisting](Note%20Hoisting.md). It is based on the idea that a user has several distinct spheres of interest. An example might be "Personal" and "Work", these two spheres are quite distinct and don't interact together. When I focus on Work, I don't really care about personal notes.
So far workspace consists of these features:
* [note hoisting](Note%20Hoisting.md) - you can "zoom" into a workspace subtree to focus only on the relevant notes
* easy entering of workspace: 
![](1_Workspaces_image.png)
* visual identification of workspace in tabs:
![](Workspaces_image.png)
### Configuration
<figure class="table"><table><thead><tr><th>Label</th><th>Description</th></tr></thead><tbody><tr><td><code>workspace</code></td><td>Marks this note as a workspace, button to enter the workspace is controlled by this</td></tr><tr><td><code>workspaceIconClass</code></td><td>defines box icon CSS class which will be used in tab when hoisted to this note</td></tr><tr><td><code>workspaceTabBackgroundColor</code></td><td>CSS color used in the note tab when hoisted to this note, use any CSS color format, e.g. "lightblue" or "#ddd". See <a href="https://www.w3schools.com/cssref/css_colors.asp">https://www.w3schools.com/cssref/css_colors.asp</a>.</td></tr><tr><td><code>workspaceCalendarRoot</code></td><td>Marking a note with this label will define a new per-workspace calendar for&nbsp;<a class="reference-link" href="../../Advanced%20Usage/Advanced%20Showcases/Day%20Notes.md">Day Notes</a>. If there's no such note, the global calendar will be used.</td></tr><tr><td><code>workspaceTemplate</code></td><td>This note will appear in the selection of available template when creating new note, but only when hoisted into a workspace containing this template</td></tr><tr><td><code>workspaceSearchHome</code></td><td>new search notes will be created as children of this note when hoisted to some ancestor of this workspace note</td></tr><tr><td><code>workspaceInbox</code></td><td>default inbox location for new notes when hoisted to some ancestor of this workspace note</td></tr></tbody></table></figure>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -1,36 +0,0 @@
# Notes
Note is a central entity in Trilium. Main attributes of note are title and content.
### Note types
The main note type is a rich-text note type called <a class="reference-link" href="../Note%20Types/Text.md">Text</a>. For diagrams and drawing there is <a class="reference-link" href="../Note%20Types/Canvas.md">Canvas</a> and <a class="reference-link" href="../Note%20Types/Mermaid%20Diagrams.md">Mermaid Diagrams</a>.
There are also more complex note types such as <a class="reference-link" href="../Note%20Types/Saved%20Search.md">Saved Search</a>, <a class="reference-link" href="../Note%20Types/Render%20Note.md">Render Note</a> that usually go hand-in-hand with <a class="reference-link" href="../Scripting.md">Scripting</a>.
In Trilium there's no specific "folder" note type. Any note can have children and thus be a folder.
### Root note
There's one special note called "root note" which is root of the note tree. All other notes are placed below it in the structure.
### Tree structure
Importantly, note itself doesn't carry information on its placement in note tree. See <a class="reference-link" href="Notes/Cloning%20Notes.md">Cloning Notes</a> for details.
Tree structure of notes can resemble file system - but compared to that notes in Trilium can act as both file and directory - meaning that note can both have its own content and have children. "Leaf note" is a note which doesn't have any children.
### Deleting / undeleting notes
When you delete a note in Trilium, it is actually only marked for deletion (soft-delete) - the actual content, title, attributes etc. are not deleted, only hidden.
Within (by default) 7 days, it is possible to undelete these soft-deleted notes - open the <a class="reference-link" href="UI%20Elements/Recent%20Changes.md">Recent Changes</a> dialog, and you will see a list of all modified notes including the deleted ones. Notes available for undeletion have a link to do so. This is kind of "trash can" functionality known from e.g. Windows.
Clicking an undelete will recover the note, it's content and attributes - note should be just as before being deleted. This action will also undelete note's children which have been deleted in the same action.
To be able to undelete a note, it is necessary that deleted note's parent must be undeleted (otherwise there's no place where we can undelete it to). This might become a problem when you delete more notes in succession - the solution is then undelete in the reverse order of your deletion.
After the 7 days (configurable) the notes will be "erased" - their title, content, revisions and attributes will be erased, and it will not be possible anymore to recover them (unless you restore a <a class="reference-link" href="../Installation%20%26%20Setup/Backup.md">Backup</a>).
## See also
* <a class="reference-link" href="Notes/Read-Only%20Notes.md">Read-Only Notes</a>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -1,10 +0,0 @@
# Archived Notes
Archived notes are notes which have `archived` [attribute](../../Advanced%20Usage/Attributes.md) - either directly or [inherited](../../Advanced%20Usage/Attributes/Attribute%20Inheritance.md).
Such notes are then by default not shown in the autocomplete and in the full text [search](../Navigation/Search.md).
This can be useful for notes which are no longer very useful but still valuable enough to keep around without them getting too much in the way.
You can control whether archived notes are displayed in the note tree with a setting:
![](Archived%20Notes_hide-archiv.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,21 +0,0 @@
# Attachments
A [note](../Notes.md) in Trilium can _own_ one or more attachments, which can be either images or files. These attachments can be displayed or linked within the note that owns them.
This can be especially useful to include dependencies for your [scripts](../../Scripting.md). The <a class="reference-link" href="../../Advanced%20Usage/Advanced%20Showcases/Weight%20Tracker.md">Weight Tracker</a> shows how to use [chartjs](https://chartjs.org/) which is attached to the script note.
Each note exclusively owns its attachments, meaning attachments cannot be shared or linked from one note to another. If an attachment link is copied to a different note, the attachment itself is duplicated, and the copies are managed independently thereafter.
Attachments, especially image files, are the recommended method for embedding visuals in notes. It is important to link image attachments within the text of the owning note; otherwise, they will be automatically deleted after a configurable timeout period if not referenced.
## Converting notes to attachments
<a class="reference-link" href="../../Note%20Types/File.md">File</a> notes can be easily converted to attachments of the parent note.
To do so:
* For a single note, press the context menu from the <a class="reference-link" href="../UI%20Elements/Note%20buttons.md">Note buttons</a> and select _Convert into attachment_.
* For multiple notes, select the given notes in the <a class="reference-link" href="../UI%20Elements/Note%20Tree.md">Note Tree</a>, right click → Advanced → Convert to attachment.
## Attachment previews
Attachments share the same content preview for images, videos, PDFs, etc. as the <a class="reference-link" href="../../Note%20Types/File.md">File</a> note type.

View File

@@ -1,62 +0,0 @@
# Cloning Notes
## Motivation
Trilium's core feature is the ability to structure your notes into hierarchical tree-like structure.
It is expected then that you'll have an elaborate and deep note hierarchy - each subtree will represent a more refined and specialized view of your knowledge base.
This is a pretty powerful approach, but it also carries a hidden assumption that each "subtopic" is "owned" by one parent. I'll illustrate this with an example - let's say my basic structure is this:
* Technology
* Programming
* Kotlin
* JavaScript
* Operating systems
* Linux
* Windows
Now, I'm starting to learn about [Bash](https://en.wikipedia.org/wiki/Bash_\(Unix_shell\)) and would like to create notes related to this topic. But now I'm facing a problem of where to categorize this. The issue here is that Bash is both 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.
## Solution
The solution to the problem shown above is to allow notes to have multiple parents.
I call these "clones", but that is a bit misleading - there's no original and cloned note - the notes in both of the parents categories are identical.
Another misleading thing about "cloning" is that it suggests that a copy of the note has been made. That's not really true, the note itself stays in just one original, it is just referenced in multiple places in the tree hierarchy. So changing it in one category changes it in all the others, because they're all the same note.
Here's the final structure with cloning:
* Technology
* Programming
* Kotlin
* JavaScript
* Bash
* some sub-notes ...
* Operating systems
* Linux
* Bash
* some sub-notes ...
* Windows
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.
### Demo
![](Cloning%20Notes_create-clone.gif)
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 <kbd>Ctrl</kbd>+<kbd>C</kbd> and <kbd>Ctrl</kbd>+<kbd>V</kbd> [keyboard shortcuts](../Keyboard%20Shortcuts.md).
As seen in the demo, you can view the list of all available clones in the "Note Paths" tab in the Ribbon toolbar.
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.
## Deleting notes/clones
With clones, it might not be immediately obvious how deleting works.
If you try to delete a note, it works like this:
1. if the note has multiple clones, delete just this clone and leave the actual note (and its other clones) as it is.
2. if this note doesn't have any other clones, delete the note
* Run the whole process starting with 1. on all note's children notes

View File

@@ -1,6 +0,0 @@
# Branch prefix
Since a single note can appear into multiple places in the <a class="reference-link" href="../../UI%20Elements/Note%20Tree.md">Note Tree</a> via a process called <a class="reference-link" href="../Cloning%20Notes.md">Cloning Notes</a>, 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 note tree.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 367 KiB

View File

@@ -1,38 +0,0 @@
# Export as PDF
![](Export%20as%20PDF_image.png)
Screenshot of the note contextual menu indicating the “Export as PDF” option.
On the desktop application of Trilium it is possible to export a note as PDF. On the server or PWA (mobile), the option is not available due to technical constraints and it will be hidden.
To print a note, select the ![](1_Export%20as%20PDF_image.png) button to the right of the note and select _Export as PDF_.
Afterwards you will be prompted to select where to save the PDF file.
## Automatic opening of the file
When the PDF is exported, it is automatically opened with the system default application for easy preview.
Note that if you are using Linux with the GNOME desktop environment, sometimes the default application might seem incorrect (such as opening in GIMP). This is because it uses Gnome's “Recommended applications” list.
To solve this, you can change the recommended application for PDFs via this command line. First, list the available applications via `gio mime application/pdf` and then set the desired one. For example to use GNOME's Evince:
```
gio mime application/pdf
```
## Reporting issues with the rendering
Should you encounter any visual issues in the resulting PDF file (e.g. a table does not fit properly, there is cut off text, etc.) feel free to [report the issue](../../Troubleshooting/Reporting%20issues.md). In this case, it's best to offer a sample note (click on the ![](1_Export%20as%20PDF_image.png) button, select Export note → This note and all of its descendants → HTML in ZIP archive). Make sure not to accidentally leak any personal information.
## Landscape mode
When exporting to PDF, there are no customizable settings such as page orientation, size, etc. However, it is possible to specify a given note to be printed as a PDF in landscape mode by adding the `#printLandscape` attribute to it (see <a class="reference-link" href="../../Advanced%20Usage/Attributes.md">Attributes</a>).
## Page size
By default, the resulting PDF will be in Letter format. It is possible to adjust it to another page size via the `#printPageSize` attribute, with one of the following values: `A0`, `A1`, `A2`, `A3`, `A4`, `A5`, `A6`, `Legal`, `Letter`, `Tabloid`, `Ledger`.
## Keyboard shortcut
It's possible to trigger the export to PDF from the keyboard by going to _Keyboard shortcuts_ in <a class="reference-link" href="../UI%20Elements/Options.md">Options</a> and assigning a key combination for the `exportAsPdf` action.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -1,6 +0,0 @@
# Note Icons
Icons are useful for distinguishing notes. At the technical level, they are set by the `iconClass` attribute which adds a CSS class to the note. For example `#iconClass="bx bx-calendar"` will show a calendar instead of the default page or folder icon. Looking up and remembering the css class names is not necessary. While editing a note, click on the icon next to the title to bring up a chooser gallery:
![change note icon](Note%20Icons_note-icon-chang.png)
![note icon gallery](Note%20Icons_note-icon-galle.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,39 +0,0 @@
# Note List
When a note has one or more child notes, they will be listed at the end of the note for easy navigation.
## Configuration
* To hide the note list for a particular note, simply apply the `hideChildrenOverview` [label](../../Advanced%20Usage/Attributes.md).
* For some view types, such as Grid view, only a subset of notes will be displayed and pagination can be used to navigate through all of them for performance reasons. To adjust the number of notes per page, set `pageSize` to the desired number.
## View types
By default, the notes will be displayed in a grid, however there are also some other view types available.
> [!TIP]
> Generally the view type can only be changed in a <a class="reference-link" href="../../Note%20Types/Book.md">Book</a> note from the <a class="reference-link" href="../UI%20Elements/Ribbon.md">Ribbon</a>, but it can also be changed manually on any type of note using the `#viewType` attribute.
### Grid view
<figure class="image image-style-align-center"><img style="aspect-ratio:1025/655;" src="1_Note List_image.png" width="1025" height="655"></figure>
This view presents the child notes in a grid format, allowing for a more visual navigation experience.
* For <a class="reference-link" href="../../Note%20Types/Text.md">Text</a> notes, the text can be slighly scrollable via the mouse wheel to reveal more context.
* For <a class="reference-link" href="../../Note%20Types/Code.md">Code</a> notes, syntax highlighting is applied.
* For <a class="reference-link" href="../../Note%20Types/File.md">File</a> notes, a preview is made available for audio, video and PDF notes.
* If the note does not have a content, a list of its child notes will be displayed instead.
This is the default view type.
### List view
<figure class="image image-style-align-center"><img style="aspect-ratio:1013/526;" src="Note List_image.png" width="1013" height="526"></figure>
In the list view mode, each note is displayed in a single row with only the title and the icon of the note being visible by the default. By pressing the expand button it's possible to view the content of the note, as well as the children of the note (recursively).
### Calendar view
<figure class="image image-style-align-center"><img style="aspect-ratio:1090/598;" src="2_Note List_image.png" width="1090" height="598"></figure>
In the calendar view, child notes are represented as events, with a start date and optionally an end date. The view also has interaction support such as moving or creating new events. See <a class="reference-link" href="Note%20List/Calendar%20View.md">Calendar View</a> for more information.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,102 +0,0 @@
# Calendar View
<figure class="image image-style-align-center"><img style="aspect-ratio:767/606;" src="4_Calendar View_image.png" width="767" height="606"></figure>
The Calendar view of Book notes will display each child note in a calendar that has a start date and optionally an end date, as an event.
The Calendar view has multiple display modes:
* Week view, where all the 7 days of the week (or 5 if the weekends are hidden) are displayed in columns. This mode allows entering and displaying time-specific events, not just all-day events.
* Month view, where the entire month is displayed and all-day events can be inserted. Both time-specific events and all-day events are listed.
* Year view, which displays the entire year for quick reference.
* List view, which displays all the events of a given month in sequence.
Unlike other Book view types, the Calendar view also allows some kind of interaction, such as moving events around as well as creating new ones.
## Creating a calendar
<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="2_Calendar View_image.png"></td><td>The Calendar View works only for Book note types. To create a new note, right click on the note tree on the left and select Insert note after, or Insert child note and then select <em>Book</em>.</td></tr><tr><td>2</td><td><img src="3_Calendar View_image.png"></td><td>Once created, the “View type” of the Book needs changed to “Calendar”, by selecting the “Book Properties” tab in the ribbon.</td></tr></tbody></table></figure>
## Creating a new event/note
* Clicking on a day will create a new child note and assign it to that particular day.
* You will be asked for the name of the new note. If the popup is dismissed by pressing the close button or escape, then the note will not be created.
* It's possible to drag across multiple days to set both the start and end date of a particular note.
![](Calendar%20View_image.png)
* Creating new notes from the calendar will respect the `~child:template` relation if set on the book note.
## Interacting with events
* Hovering the mouse over an event will display information about the note.
![](7_Calendar%20View_image.png)
* Left clicking the event will go to that note. Middle clicking will open the note in a new tab and right click will offer more options including opening the note in a new split or window.
* Drag and drop an event on the calendar to move it to another day.
* The length of an event can be changed by placing the mouse to the right edge of the event and dragging the mouse around.
## Configuring the calendar
The following attributes can be added to the book type:
<figure class="table"><table><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><code>#calendar:hideWeekends</code></td><td>When present (regardless of value), it will hide Saturday and Sundays from the calendar.</td></tr><tr><td><code>#calendar:weekNumbers</code></td><td>When present (regardless of value), it will show the number of the week on the calendar.</td></tr><tr><td><code>#calendar:view</code></td><td><p>Which view to display in the calendar:</p><ul><li><code>timeGridWeek</code> for the <em>week</em> view;</li><li><code>dayGridMonth</code> for the <em>month</em> view;</li><li><code>multiMonthYear</code> for the <em>year</em> view;</li><li><code>listMonth</code> for the <em>list</em> view.</li></ul><p>Any other value will be dismissed and the default view (month) will be used instead.</p><p>The value of this label is automatically updated when changing the view using the UI buttons.</p></td></tr><tr><td><code>~child:template</code></td><td>Defines the template for newly created notes in the calendar (via dragging or clicking).</td></tr></tbody></table></figure>
In addition, the first day of the week can be either Sunday or Monday and can be adjusted from the application settings.
## Configuring the calendar events
For each note of the calendar, the following attributes can be used:
<figure class="table"><table><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><code>#startDate</code></td><td>The date the event starts, which will display it in the calendar. The format is <code>YYYY-MM-DD</code> (year, month and day separated by a minus sign).</td></tr><tr><td><code>#endDate</code></td><td>Similar to <code>startDate</code>, mentions the end date if the event spans across multiple days. The date is inclusive, so the end day is also considered. The attribute can be missing for single-day events.</td></tr><tr><td><code>#startTime</code></td><td>The time the event starts at. If this value is missing, then the event is considered a full-day event. The format is <code>HH:MM</code> (hours in 24-hour format and minutes).</td></tr><tr><td><code>#endTime</code></td><td>Similar to <code>startTime</code>, it mentions the time at which the event ends (in relation with <code>endDate</code> if present, or <code>startDate</code>).</td></tr><tr><td><code>#color</code></td><td>Displays the event with a specified color (named such as <code>red</code>, <code>gray</code> or hex such as <code>#FF0000</code>). This will also change the color of the note in other places such as the note tree.</td></tr><tr><td><code>#calendar:color</code></td><td>Similar to <code>#color</code>, but applies the color only for the event in the calendar and not for other places such as the note tree.</td></tr><tr><td><code>#iconClass</code></td><td>If present, the icon of the note will be displayed to the left of the event title.</td></tr><tr><td><code>#calendar:title</code></td><td>Changes the title of an event to point to an attribute of the note other than the title, can either a label or a relation (without the <code>#</code> or <code>~</code> symbol). See <em>Use-cases</em> for more information.</td></tr><tr><td><code>#calendar:displayedAttributes</code></td><td>Allows displaying the value of one or more attributes in the calendar like this:&nbsp;&nbsp;&nbsp;&nbsp;<br><br><img src="9_Calendar View_image.png"> &nbsp;&nbsp;<br><br><code>#weight="70" #Mood="Good" #calendar:displayedAttributes="weight,Mood"</code>&nbsp;&nbsp;<br><br>It can also be used with relations, case in which it will display the title of the target note:&nbsp;&nbsp;&nbsp;<br><br><code>~assignee=@My assignee #calendar:displayedAttributes="assignee"</code></td></tr><tr><td><code>#calendar:startDate</code></td><td>Allows using a different label to represent the start date, other than <code>startDate</code> (e.g. <code>expiryDate</code>). The label name <strong>must not be</strong> prefixed with <code>#</code>. If the label is not defined for a note, the default will be used instead.</td></tr><tr><td><code>#calendar:endDate</code></td><td>Similar to <code>#calendar:startDate</code>, allows changing the attribute which is being used to read the end date.</td></tr><tr><td><code>#calendar:startTime</code></td><td>Similar to <code>#calendar:startDate</code>, allows changing the attribute which is being used to read the start time.</td></tr><tr><td><code>#calendar:endTime</code></td><td>Similar to <code>#calendar:startDate</code>, allows changing the attribute which is being used to read the end time.</td></tr></tbody></table></figure>
## How the calendar works
![](11_Calendar%20View_image.png)
The calendar displays all the child notes of the book that have a `#startDate`. An `#endDate` can optionally be added.
If editing the start date and end date from the note itself is desirable, the following attributes can be added to the book note:
```
#viewType=calendar #label:startDate(inheritable)="promoted,alias=Start Date,single,date"
#label:endDate(inheritable)="promoted,alias=End Date,single,date"
#hidePromotedAttributes
```
This will result in:
![](10_Calendar%20View_image.png)
When not used in a Journal, the calendar is recursive. That is, it will look for events not just in its child notes but also in the children of these child notes.
## Use-cases
### Using with the Journal / calendar
It is possible to integrate the calendar view into the Journal with day notes. In order to do so change the note type of the Journal note (calendar root) to Book and then select the Calendar View.
Based on the `#calendarRoot` (or `#workspaceCalendarRoot`) attribute, the calendar will know that it's in a calendar and apply the following:
* The calendar events are now rendered based on their `dateNote` attribute rather than `startDate`.
* Interactive editing such as dragging over an empty era or resizing an event is no longer possible.
* Clicking on the empty space on a date will automatically open that day's note or create it if it does not exist.
* Direct children of a day note will be displayed on the calendar despite not having a `dateNote` attribute. Children of the child notes will not be displayed.
<img src="8_Calendar View_image.png" width="1217" height="724">
### Using a different attribute as event title
By default, events are displayed on the calendar by their note title. However, it is possible to configure a different attribute to be displayed instead.
To do so, assign `#calendar:title` to the child note (not the calendar/book note), with the value being `name` where `name` can be any label (make not to add the `#` prefix). The attribute can also come through inheritance such as a template attribute. If the note does not have the requested label, the title of the note will be used instead.
<figure class="table" style="width:100%;"><table><thead><tr><th>&nbsp;</th><th>&nbsp;</th></tr></thead><tbody><tr><td><pre><code class="language-text-x-trilium-auto">#startDate=2025-02-11 #endDate=2025-02-13 #name="My vacation" #calendar:title="name"</code></pre></td><td><p>&nbsp;</p><figure class="image image-style-align-center"><img style="aspect-ratio:445/124;" src="5_Calendar View_image.png" width="445" height="124"></figure></td></tr></tbody></table></figure>
### Using a relation attribute as event title
Similarly to using an attribute, use `#calendar:title` and set it to `name` where `name` is the name of the relation to use.
Moreover, if there are more relations of the same name, they will be displayed as multiple events coming from the same note.
<figure class="table" style="width:100%;"><table><thead><tr><th>&nbsp;</th><th>&nbsp;</th></tr></thead><tbody><tr><td><pre><code class="language-text-x-trilium-auto">#startDate=2025-02-14 #endDate=2025-02-15 ~for=@John Smith ~for=@Jane Doe #calendar:title="for"</code></pre></td><td><img src="6_Calendar View_image.png" width="294" height="151"></td></tr></tbody></table></figure>
Note that it's even possible to have a `#calendar:title` on the target note (e.g. “John Smith”) which will try to render an attribute of it. Note that it's not possible to use a relation here as well for safety reasons (an accidental recursion  of attributes could cause the application to loop infinitely).
<figure class="table" style="width:100%;"><table><thead><tr><th>&nbsp;</th><th>&nbsp;</th></tr></thead><tbody><tr><td><pre><code class="language-text-x-trilium-auto">#calendar:title="shortName" #shortName="John S."</code></pre></td><td><figure class="image image-style-align-center"><img style="aspect-ratio:296/150;" src="1_Calendar View_image.png" width="296" height="150"></figure></td></tr></tbody></table></figure>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 968 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,20 +0,0 @@
# Note Revisions
Trilium supports seamless versioning of notes by storing snapshots ("revisions") of notes at regular intervals.
## Note Revisions Snapshot Interval
Time interval of taking note snapshot is configurable in the Options -> Other dialog. This provides a tradeoff between more revisions and more data to store.
To turn off note versioning for a particular note (or subtree), add `disableVersioning` [label](../../Advanced%20Usage/Attributes.md)to the note.
## Note Revision Snapshots Limit
The limit on the number of note snapshots can be configured in the Options -> Other dialog. The note revision snapshot number limit refers to the maximum number of revisions that can be saved for each note. Where -1 means no limit, 0 means delete all revisions. You can set the maximum revisions for a single note through the `versioningLimit=X` label.
The note limit will not take effect immediately; it will only apply when the note is modified.
You can click the **Erase excess revision snapshots now** button to apply the changes immediately.
Note revisions can be accessed through the button on the right of ribbon toolbar.
![](Note%20Revisions_note-revisi.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

View File

@@ -1,48 +0,0 @@
# Protected Notes
Trilium is designed to store a wide variety of data, including sensitive information such as personal journals, credentials, or confidential documents. To safeguard this type of content, Trilium offers the option to protect notes, which involves the following measures:
* **Encryption:** Protected notes are encrypted using a key derived from your password. This ensures that without the correct password, protected notes remain indecipherable. Even if someone gains access to your Trilium [database](../../Advanced%20Usage/Database.md), they won't be able to read your encrypted notes.
* **Time-limited access:** To access protected notes, you must first enter your password, which decrypts the note for reading and writing. However, after a specified period of inactivity (10 minutes by default), the note is unloaded from memory, requiring you to re-enter your password to access it again.
* The session timeout is extended automatically while you're interacting with the protected note, so if you're actively editing, the session remains open. However, if you switch to an unprotected note, the session timer starts, and the session expires after 10 minutes of inactivity unless you return to the protected notes.
* **Protection scope:** Protected notes ensure the confidentiality of their content and partially their integrity. While unauthorized users cannot read or edit protected notes, they can still delete or move them outside of the protected session.
## Using Protected Notes
By default, notes are unprotected. To protect a note, simply click on the shield icon next to the note's title, as shown here:
![example animation of unlocking protected notes](Protected%20Notes_protecting.gif)
## What is Encrypted?
Trilium encrypts the data within protected notes but not their metadata. Specifically:
**Encrypted:**
* Note title
* Note content
* Images
* File attachments
**Not encrypted:**
* Note structure (i.e., it remains visible that there are protected notes)
* Metadata, such as the last modified date
* [Attributes](../../Advanced%20Usage/Attributes.md)
## Encryption Details
The following steps outline how encryption and decryption work in Trilium:
1. The user enters a password.
2. The password is passed through the [scrypt](https://en.wikipedia.org/wiki/Scrypt) algorithm along with a "password verification" [salt](https://en.wikipedia.org/wiki/Salt_\(cryptography\)) to confirm that the password is correct.
3. The password is then processed again through scrypt with an "encryption" salt, which generates a hash.
* Scrypt is used for [key stretching](https://en.wikipedia.org/wiki/Key_stretching) to make the password harder to guess.
4. The generated hash is used to decrypt the actual _data encryption key_.
* The data encryption key is encrypted using [AES-128](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) with a random [IV](https://en.wikipedia.org/wiki/Initialization_vector).
* The data encryption key is randomly generated during the [database](../../Advanced%20Usage/Database.md) initialization and remains constant throughout the documents lifetime. When the password is changed, only this key is re-encrypted.
5. The data encryption key is then used to decrypt the actual content of the note, including its title and body.
* The encryption algorithm used is AES-128 with [CBC mode](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation), where a unique IV is generated for each encryption operation and stored with the cipher text.
## Sharing Protected Notes
Protected notes cannot be shared in the same way as regular notes. Their encryption ensures that only authorized users with the correct password can access them.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 KiB

View File

@@ -1,42 +0,0 @@
# Read-Only Notes
Some note types such as <a class="reference-link" href="../../Note%20Types/Text.md">Text</a> and <a class="reference-link" href="../../Note%20Types/Code.md">Code</a> notes in Trilium can be set to read-only. When a note is in read-only mode, it is presented to the user in a non-editable view, with the option to switch to editing mode if needed.
## Automatic read-only mode
For optimization purposes, Trilium will automatically set very large notes to read-only. Displaying such lengthy notes in editing mode can slow down performance, especially when editing is unnecessary.
This behavior can be disabled on a per-note basis, by following the instructions of the next section.
In addition, it's possible to change the number of characters at which the automatic read-only mode will trigger in <a class="reference-link" href="../UI%20Elements/Options.md">Options</a> by going to the options for <a class="reference-link" href="#root/_hidden/_options/_optionsTextNotes">Text Notes</a> and <a class="reference-link" href="#root/_hidden/_options/_optionsCodeNotes">Code Notes</a>.
## Changing a note's read-only behavior
Via the <a class="reference-link" href="../UI%20Elements/Ribbon.md">Ribbon</a>, by going to the _Basic Properties_ tab and looking for the _Editable_ selection. The following options are possible:
* **Auto**
This is the default behavior in which the note will be editable by default, unless it becomes large enough to trigger read-only mode.
* **Read-only**
The note will be always marked as read-only, regardless of its size. Nevertheless, it's still possible to temporarily edit the note if needed. This is generally useful for notes that are not prone to change.
* **Always Editable**
This option will bypass the automatic read-only activation for this particular note. It's useful for large notes that are frequently edited.
If the _Editable_ section is missing from the ribbon, then the note type does not support read-only mode.
### Manually setting the options
Apart from using the ribbon as previously mentioned, it's also possible to use [labels](../../Advanced%20Usage/Attributes.md) to change the behavior:
* To set as read-only, apply the `readOnly` label to the note.
* To disable automatic read-only (always editable), apply the `autoReadOnlyDisabled` label.
## Temporarily editing a read-only note
When accessing a read-only note, it's possible to temporarily edit it by using the ![](Read-Only%20Notes_image.png) button in the <a class="reference-link" href="../UI%20Elements/Floating%20buttons.md">Floating buttons</a> area.
When pressed, the note will become editable but will become read-only again after navigating to a different note.
## Special read-only behavior
Some note types have a special behavior based on whether the read-only mode is enabled:
* <a class="reference-link" href="../../Note%20Types/Mermaid%20Diagrams.md">Mermaid Diagrams</a> will hide the Mermaid source code and display the diagram preview in full-size. In this case, the read-only mode can be easily toggled on or off via a dedicated button in the <a class="reference-link" href="../UI%20Elements/Floating%20buttons.md">Floating buttons</a> area.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

View File

@@ -1,31 +0,0 @@
# Sorting Notes
## Manual sorting
You can sort notes by right-clicking the parent note in the <a class="reference-link" href="../UI%20Elements/Note%20Tree.md">Note Tree</a> and selecting Advanced -> Sort notes by ... This will sort existing notes, but will not automatically sort future notes added to this parent note.
The sorting dialog allows:
* Sorting by title, creation or modification date.
* Changing sorting direction can also be adjusted (ascending or descending).
* Ensuring folders are displayed at the top.
* Natural sort, based on the sorting rules of a particular language.
## Automatic/Permanent Sorting
Child notes can be automatically sorted by attaching specific [labels](../../Advanced%20Usage/Attributes.md) to the parent note:
* `#sorted`: Enables sorting. Can optionally include the name of the note's property/label for sorting criteria (details below).
* `#sortDirection`: By default, sorting is ascending. Set this to `desc` to sort in descending order.
* `#sortFoldersFirst`: Notes with children will be sorted to the top.
Sorting is done by comparing note properties or specific labels on child notes. There are four sorting levels, with the first having the highest priority. Lower priority levels are applied only if higher priority comparisons result in equality.
1. **Top Label Sorting**: Child notes with the `#top` label will appear at the top of the folder.
2. **Bottom Label Sorting**: (Introduced in Trilium 0.62) Child notes with the `#bottom` label will appear at the bottom of the folder.
3. **Property/Label-Based Sorting**: Sorting is based on the parent note's `#sorted` label:
* **Default Sorting**: If `#sorted` has no value, notes are sorted alphabetically.
* **Property Sorting**: If `#sorted` is set to `title`, `dateModified`, or `dateCreated`, notes are sorted based on the specified property.
* **Label Sorting**: If `#sorted` has any other value, this value is treated as the name of a child note's label, and sorting is based on the values of this label. For example, setting `#sorted=myOrder` on the parent note and using `#myOrder=001`, `#myOrder=002`, etc., on child notes.
4. **Alphabetical Sorting**: Used as a last resort when other criteria result in equality.
All comparisons are made string-wise (e.g., "1" < "2" or "2020-10-10" < "2021-01-15", but also "2" > "10").

View File

@@ -1,132 +0,0 @@
# Themes
## Default Themes
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.
![Dark Theme](Themes_dark-theme.png)
## Creating Custom CSS Themes
Trilium supports custom user themes, allowing you to personalize the application's appearance. To create a custom theme, follow these steps:
1. **Create a CSS Code Note**: Start by creating a new [code note](../Note%20Types/Code.md) with the `CSS` type.
2. **Annotate with** `#appTheme`: Add the [attribute](../Advanced%20Usage/Attributes.md) `#appTheme=my-theme-name` to your note, where `my-theme-name` is the name of your custom theme.
3. **Define Your Styles**: Write your custom CSS within the note. Below is an example of a custom theme:
```
@font-face {
font-family: 'Raleway';
font-style: normal;
font-weight: 400;
src: url('/custom/fonts/raleway.woff2') format('woff2');
}
:root {
--main-font-family: 'Raleway' !important;
--main-font-size: normal;
--tree-font-family: inherit;
--tree-font-size: normal;
--detail-font-family: inherit;
--detail-font-size: normal;
--detail-text-font-family: 'Garamond' !important;
--main-background-color: #404552;
--main-text-color: #AFB8C6;
--main-border-color: #AFB8C6;
--accented-background-color: #383C4A;
--more-accented-background-color: #2F343F;
--header-background-color: #383C4A;
--button-background-color: #2F343F;
--button-disabled-background-color: #404552;
--button-border-color: #333;
--button-text-color: #AFB8C6;
--button-border-radius: 2px;
--primary-button-background-color: #6c757d;
--primary-button-text-color: white;
--primary-button-border-color: #6c757d;
--muted-text-color: #86919F;
--input-text-color: #AFB8C6;
--input-background-color: #404552;
--hover-item-text-color: white;
--hover-item-background-color: #4877B1;
--active-item-text-color: white;
--active-item-background-color: #4877B1;
--menu-text-color: #AFB8C6;
--menu-background-color: #383C4A;
--tooltip-background-color: #383C4A;
--link-color: lightskyblue;
--modal-background-color: #404552;
--modal-backdrop-color: black;
--scrollbar-border-color: rgba(175, 184, 198, 0.5);
}
body .note-detail-text {
font-size: 120%;
}
body .CodeMirror {
filter: invert(100%) hue-rotate(180deg);
}
```
### Activating Your Custom Theme
Once you've created your custom theme:
1. Go to "Menu" -> "Options" -> "Appearance."
2. In the theme selection dropdown, you should see your custom theme listed under the name you provided with the `#appTheme` [label](../Advanced%20Usage/Attributes.md).
3. Select your custom theme to activate it.
If you make changes to your theme, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to reload the frontend and apply your updates.
### Sharing and Importing Themes
Custom themes can be exported as `.tar` 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.
An example user theme, _Steel Blue_, is available in the demo document.
![Steel Blue Theme](Themes_steel-blue.png)
### Using Custom CSS for Specific Purposes
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.
### Applying Custom CSS
To use custom CSS:
1. **Create a CSS Code Note**: Create a new <a class="reference-link" href="../Note%20Types/Code.md">Code</a> note with the `CSS` type.
2. **Add the** `appCss` **Label**: Annotate the note with the `#appCss` [label](../Advanced%20Usage/Attributes.md).
3. **Write Your CSS**: Add your custom CSS rules to the note.
For example:
```
/* Custom CSS to style specific elements */
.tree-item {
color: #ff6347; /* Change tree item color */
}
```
When Trilium's frontend starts, all notes labeled with `appCss` are automatically included in the style element of the HTML page.
After making changes, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to reload the frontend and apply your new styles.
![](Themes_image.png)
### Styling Specific Notes in the Tree
To apply specific styles to certain notes in the tree:
* **Use the** `cssClass` **Attribute**: Add the `cssClass` [attribute](../Advanced%20Usage/Attributes.md) to a note, and assign it a value representing the desired CSS class.
* **Define an** `iconClass`: You can also define a custom icon for a note using the `iconClass` attribute, selecting from [Box Icons](https://boxicons.com) or your own custom classes.
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 `type-image mime-image-png`.
### User-Provided Themes
A gallery of user-created themes is available, showcasing the variety of customizations that the Trilium community has developed. For more information, check the <a class="reference-link" href="Themes/Theme%20Gallery.md">Theme Gallery</a>.
### Asset Path Management
When referencing built-in assets like images in your custom themes or CSS, you can avoid hardcoding version numbers by using the `vX` alias. For example, instead of specifying `/assets/v0.57.0-beta/images/icon-grey.png`, you can use `/assets/vX/images/icon-grey.png` to keep your theme compatible with future versions of Trilium.

View File

@@ -1,11 +0,0 @@
# Theme Gallery
These are user-created themes which were made publicly available:
## Legacy Themes
These themes may or may not be compatible with the latest versions of TriliumNext and are based on the original/legacy theme.
<figure class="table"><table><thead><tr><th>Theme</th><th>Author</th></tr></thead><tbody><tr><td><a href="https://github.com/tobealive/trilium-midnight-theme">Midnight</a></td><td><a href="https://github.com/tobealive">tobealive</a></td></tr><tr><td><a href="https://github.com/tobealive/trilum-eote-theme">EOTE</a></td><td><a href="https://github.com/tobealive">tobealive</a></td></tr><tr><td><a href="https://github.com/Abourass/TriliumThemes">Trilium Themes</a></td><td><a href="https://github.com/Abourass">Abourass</a></td></tr><tr><td><a href="https://github.com/ZMonk91/Material-Dark-Trilium">MaterialDark</a></td><td><a href="https://github.com/ZMonk91">ZMonk91</a></td></tr><tr><td><a href="https://github.com/jaroet/trilium-theme-lightslategray">lightslategray</a></td><td><a href="https://github.com/jaroet">jaroet</a></td></tr><tr><td><a href="https://github.com/raphwriter/trilium-theme-melon">melon-4</a></td><td><a href="https://github.com/raphwriter">raphwriter</a></td></tr><tr><td><a href="https://github.com/Engr-AllanG/trilium-themes">Neon_Dark</a></td><td><a href="https://github.com/Engr-AllanG">Engr-AllanG</a></td></tr><tr><td><a href="https://github.com/Engr-AllanG/trilium-themes">Coder_Dark</a></td><td><a href="https://github.com/Engr-AllanG">Engr-AllanG</a></td></tr><tr><td><a href="https://github.com/idelem/trilium-theme-velvet">velvet</a></td><td><a href="https://github.com/idelem">idelem</a></td></tr><tr><td><a href="https://github.com/SADAVA/trilium-notes-theme-dark-plus">Dark Plus</a></td><td><a href="https://github.com/SADAVA">SADAVA</a></td></tr><tr><td><a href="https://github.com/WKSu/trilium-solarized-theme">Solarized</a></td><td><a href="https://github.com/WKSu">WKSu</a></td></tr><tr><td><a href="https://github.com/en3r0/Trilium-Nord-Theme">Nord</a></td><td><a href="https://github.com/en3r0">en3r0</a></td></tr><tr><td><a href="https://github.com/AllanZyne/trilium-bear-theme">Bear Note Light</a></td><td><a href="https://github.com/AllanZyne">AllanZyne</a></td></tr><tr><td><a href="https://github.com/AllanZyne/trilium-bear-theme">Bear Note Dark</a></td><td><a href="https://github.com/AllanZyne">AllanZyne</a></td></tr><tr><td><a href="https://github.com/Sebiann/miku-hatsune-trilium-theme">Miku Hatsune</a></td><td><a href="https://github.com/Sebiann">Sebiann</a></td></tr><tr><td><a href="https://github.com/cwilliams5/Midnight-Trilium-Dark-Mode">Midnight</a></td><td><a href="https://github.com/cwilliams5">cwilliams5</a></td></tr><tr><td><a href="https://github.com/SiriusXT/trilium-theme-blue">Blue</a> (light)</td><td><a href="https://github.com/SiriusXT">SiriusXT</a></td></tr><tr><td><a href="https://github.com/SiriusXT/trilium-theme-blue">Blue</a> (dark)</td><td><a href="https://github.com/SiriusXT">SiriusXT</a></td></tr></tbody></table></figure>
> [!TIP]
> If you would like to add your theme to this gallery, write a new post in [👐 Show and tell](https://github.com/TriliumNext/Notes/discussions/categories/show-and-tell).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -1,13 +0,0 @@
# Floating buttons
<figure class="image image-style-align-center"><img style="aspect-ratio:893/144;" src="Floating buttons_image.png" width="893" height="144"></figure>
Depending on the current note, a panel will appear near the top-right of the note, right underneath the <a class="reference-link" href="Ribbon.md">Ribbon</a>. These buttons offer additional interaction that is specific to that particular note.
For example:
* For <a class="reference-link" href="../../Note%20Types/Mermaid%20Diagrams.md">Mermaid Diagrams</a> and <a class="reference-link" href="../../Note%20Types/Canvas.md">Canvas</a>, there are buttons to download the SVG representation of the note, or to copy a reference to the note for pasting it a <a class="reference-link" href="../../Note%20Types/Text.md">Text</a> note.
* For [read-only notes](../Notes/Read-Only%20Notes.md), there is a button to temporarily edit the note for quick modifications.
## Interaction
The floating button area can be collapsed by pressing the two right arrows at the end of the section.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

View File

@@ -1,8 +0,0 @@
# Global menu
The global menu configures the current window (zoom, keeping the window on top) and offers access to some more advanced options.
![](Global%20menu_image.png)
## Accessing the global menu
See [Vertical and horizontal layout](Vertical%20and%20horizontal%20layout.md) since the position of the global menu is changed based on which layout has been selected.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,63 +0,0 @@
# Launch Bar
## Position of the Launch bar
Depending on the layout selected, the launcher bar will either be on the left side of the screen with buttons displayed vertically or at the top of the screen. See [Vertical and horizontal layout](Vertical%20and%20horizontal%20layout.md) for more information.
## Terminology
* **Launcher**: a button that can be (or is) displayed on the launch bar.
* **Available Launcher**: a launcher that is not displayed on the launch bar, but can be added.
* **Visible Launcher**: a launcher that is currently displayed on the launch bar.
## Configuring the Launch bar
There are two ways to configure the launch bar:
* Right click in the empty space between launchers on the launch bar and select _Configure Launchbar._
* Click on the [Global menu](Global%20menu.md) and select _Configure Launchbar_.
This will open a new tab with the [Note Tree](Note%20Tree.md) listing the launchers.
![](Launch%20Bar_image.png)
Expanding _Available Launchers_ section will show the list of launchers that are not displayed on the launch bar. The _Visible Launchers_ will show the ones that are currently displayed.
### Adding/removing and reordering launchers
To display a new launcher in the launch bar, first look for it in the _Available Launchers_ section. Then right click it and select _Move to visible launchers_. It is also possible to drag and drop the item manually.
Similarly, to remove it from the launch bar, simply look for it in _Visible Launchers_ then right click it and select _Move to available launchers_ or use drag-and-drop.
Drag-and-drop the items in the tree in order to change their order. See [Note Tree](Note%20Tree.md) for more interaction options, including using keyboard shortcuts.
## Customizing the launcher
* The icon of a launcher can be changed just like a normal note. See [Note Icons](../Notes/Note%20Icons.md) for more information.
* The title of the launcher can also be changed.
### Resetting
Resetting allows restoring the original configuration of Trilium for the launcher bar, or for a portion of it. Simply right click a launcher (or even the entire _Launch Bar_ section) and select _Reset_ to bring it back to the original state.
### Creating new launchers / types of launchers
Right click either the _Available launchers_ or _Visible launchers_ sections and select one of the options:
1. **Note Launcher**
A note launcher will simply navigate to a specified note.
1. Set the `target` promoted attribute to the note to navigate to.
2. Optionally, set `hoistedNote` to hoist a particular note. See [Note Hoisting](../Navigation/Note%20Hoisting.md) for more information.
3. Optionally, set a `keyboardShortcut` to trigger the launcher.
2. **Script Launcher**
An advanced launcher which will run a script upon pressing. See [Scripts](../../Scripting.md) for more information.
1. Set `script` to point to the desired script to run.
2. Optionally, set a `keyboardShortcut` to trigger the launcher.
3. **Custom Widget**
Allows defining a custom widget to be rendered inside the launcher. See [Widget Basics](../../Scripting/Custom%20Widgets/Widget%20Basics.md) for more information.
4. **Spacers**
Launchers that create some distance between other launchers for better visual distinction.
Launchers are configured via predefined [Promoted Attributes](../../Advanced%20Usage/Attributes/Promoted%20Attributes.md).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -1,25 +0,0 @@
# Note Tree
This page explains how to manipulate the note tree in TriliumNext, focusing on moving notes.
![](Note%20Tree_image.png)
## Drag and Drop
![Drag and drop example](Note%20Tree_drag-and-drop.gif)
You can easily rearrange the note tree by dragging and dropping notes, as demonstrated in the example above.
## Keyboard Manipulation
![Example of using keyboard keys to move a note](Note%20Tree_move-note-with-k.gif)Trilium offers efficient keyboard-based manipulation using the following [shortcuts](../Keyboard%20Shortcuts.md):
* <kbd>Ctrl</kbd> + <kbd><span>↑</span></kbd> and <kbd>Ctrl</kbd> +<kbd><span>↓</span></kbd>: Move the note up or down in the order.
* <kbd>Ctrl</kbd>+<kbd><span>←</span></kbd>: Move the note up in the hierarchy by changing its parent to the note's grandparent.
* <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).
* <kbd><span>←</span></kbd> and <kbd><span>→</span></kbd>: Expand and collapse a sub-tree.
## Context Menu
You can also move notes using the familiar cut and paste functions available in the context menu, or with the associated keyboard [shortcuts](../Keyboard%20Shortcuts.md): `CTRL-C` ( [copy](../Notes/Cloning%20Notes.md)), <kbd>Ctrl</kbd> + <kbd>X</kbd> (cut) and <kbd>Ctrl</kbd> + <kbd>V</kbd> (paste).
See <a class="reference-link" href="Note%20Tree/Note%20tree%20contextual%20menu.md">Note Tree Menu</a> for more information.

View File

@@ -1,8 +0,0 @@
# Multiple selection
It is possible to select multiple notes at one time.
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.
![](Multiple%20selection_image.png)
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 class="reference-link" href="../../../Advanced%20Usage/Bulk%20Actions.md">Bulk Actions</a> to them. The rest of the options will not be available and will appear disabled in the menu.

View File

@@ -1,94 +0,0 @@
# Note tree contextual menu
<figure class="image image-style-align-right"><img style="aspect-ratio:372/760;" src="1_Note tree contextual menu_.png" width="372" height="760"></figure>
The _note tree menu_ can be accessed by right-clicking in the <a class="reference-link" href="../Note%20Tree.md">Note Tree</a>.
## Interaction
The contextual menu can operate:
* On a single note, by right clicking it in the note tree.
* On multiple notes, by selecting them first. See <a class="reference-link" href="Multiple%20selection.md">Multiple selection</a> on how to do so.
* When right clicking, do note that usually the note being right clicked is also included in the affected notes, regardless of whether it was selected or not.
## Available options
> [!NOTE]
> When multiple notes are selected, only a subset of notes will be active. The ones that do support multiple notes will mention this in the list below.
* **Open in a new tab**
* Will open a single note in a new [tab](../Tabs.md).
* **Open in a new split**
* Will open a split to the right with the given note within the current tab.
* **Hoist note**
* Will focus the note tree on this note. See <a class="reference-link" href="../../Navigation/Note%20Hoisting.md">Note Hoisting</a> for more information.
* **Insert note after**
* Allows easy creation of a note with a specified [note type](../../../Note%20Types.md).
* <a class="reference-link" href="../../../Advanced%20Usage/Templates.md">Templates</a> will also be present (if any) at the end of the list.
* The note will be added on the same level of hierarchy as the note selected.
* **Insert child note**
* Same as _Insert note after_, but the note will be created as a child of the selected note.
* **Protect subtree**
* Will mark this note and all of its descendents as protected. See <a class="reference-link" href="../../Notes/Protected%20Notes.md">Protected Notes</a> for more information.
* **Unprotect subtree**
* Will unprotect this note and all of its descendents.
* **Cut**
* Will place the given notes in clipboard.
* Use one of the two paste functions (or the keyboard shortcuts) to move them to the desired location.
* **Copy / clone**
* Will place the given notes in clipboard.
* Use one of the two paste functions (or the keyboard shortcuts) to copy them to the desired location.
* Note that the copy function here works according to the <a class="reference-link" href="../../Notes/Cloning%20Notes.md">Cloning Notes</a> functionality (i.e. the note itself will be present in two locations at once, and editing it in one place will edit it everywhere).
* To simply create a duplicate note that can be modified independently, look for _Duplicate subtree_.
* **Paste into**
* If there are any notes in clipboard, they will be pasted as child notes to the right-clicked one.
* **Paste after**
* If there are any notes in clipboard, they will be pasted underneath the right-clicked one.
* **Move to…**
* Will display a modal to specify where to move the desired notes.
* **Clone to…**
* Will display a modal to specify where to [clone](../../Notes/Cloning%20Notes.md) the desired notes.
* **Delete**
* Will delete the given notes, asking for confirmation first.
* In the dialog, the following options can be configured:
* _Delete also all clones_ to ensure that the note will be deleted everywhere if it has been placed into multiple locations (see <a class="reference-link" href="../../Notes/Cloning%20Notes.md">Cloning Notes</a>).
* _Erase notes permanently_ will ensure that the note cannot be recovered from <a class="reference-link" href="../Recent%20Changes.md">Recent Changes</a>.
* **Import into note**
* Opens the [import](../../Import%20%26%20Export) dialog and places the imported notes as child notes of the selected one.
* **Export**
* Opens the [export](../../Import%20%26%20Export) dialog for the selected notes.
* **Search in subtree**
* Opens a full <a class="reference-link" href="../../Navigation/Search.md">Search</a> with it preconfigured to only look into this note and its descendants (the _Ancestor_ field).
## Advanced options
<figure class="image image-style-align-right"><img style="aspect-ratio:289/355;" src="Note tree contextual menu_.png" width="289" height="355"></figure>
The advanced options menu offers some of the less frequently used actions for notes.
To access these options, first look for the _Advanced_ option in the contextual menu to reveal a sub-menu with:
* **Apply bulk actions**
* Opens the <a class="reference-link" href="../../../Advanced%20Usage/Bulk%20Actions.md">Bulk Actions</a> dialog, to apply actions such as adding labels or moving notes to multiple notes at once (see <a class="reference-link" href="Multiple%20selection.md">Multiple selection</a>).
* **Edit branch prefix**
* Opens a dialog to assign a name to be able to distinguish [clones](../../Notes/Cloning%20Notes.md), see <a class="reference-link" href="../../Notes/Cloning%20Notes/Branch%20prefix.md">Branch prefix</a> for more information.
* **Convert to attachment**
* Converts the selected notes to <a class="reference-link" href="../../Notes/Attachments.md">Attachments</a> of their parent notes.
* This functional is most useful when dealing with image <a class="reference-link" href="../../../Note%20Types/File.md">File</a> notes that were imported from an external source or an older version of Trilium.
* **Duplicate subtree**
* Creates a copy of the note and its descendants.
* This process is different from <a class="reference-link" href="../../Notes/Cloning%20Notes.md">Cloning Notes</a> since the duplicated note can be edited independently from the original.
* An alternative to this, if done regularly, would be <a class="reference-link" href="../../../Advanced%20Usage/Templates.md">Templates</a>.
* **Expand subtree**
* Expands all the child notes in the <a class="reference-link" href="../Note%20Tree.md">Note Tree</a>.
* **Collapse subtree**
* Collapses all the child notes in the note tree.
* **Sort by…**
* Opens a dialog to sort all the child notes of the selected note.
* The sorting is done only once, there is an automatic sorting mechanism as well that can be set using <a class="reference-link" href="../../../Advanced%20Usage/Attributes.md">Attributes</a>.
* See <a class="reference-link" href="../../Notes/Sorting%20Notes.md">Sorting Notes</a> for more information.
* **Copy note path to clipboard**
* Copies a URL fragment representing the full path to this branch for a note, such as `#root/Hb2E70L7HPuf/4sRFgMZhYFts/2IVuShedRJ3U/LJVMvKXOFv7n`.
* The URL to manually create <a class="reference-link" href="../../../Note%20Types/Text/Links.md">Links</a> within notes, or for note <a class="reference-link" href="../../Navigation">Navigation</a>.
* **Recent changes in subtree**
* This will open <a class="reference-link" href="../Recent%20Changes.md">Recent Changes</a>, but filtered to only the changes related to this note or one of its descendants.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 562 KiB

Some files were not shown because too many files have changed in this diff Show More