feat(docs): reorganize & merge attachments

This commit is contained in:
Elian Doran 2025-04-06 16:04:55 +03:00
parent fb6e6241d9
commit c9e3fb90f1
No known key found for this signature in database
189 changed files with 1650 additions and 4441 deletions

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@ You can also notice how this day note has [promoted attribute](../Attributes/Pro
## Templates
Trilium provides [template](../Attributes/Template.md) functionality, and it could be used together with day notes.
Trilium provides [template](../Templates.md) functionality, and it could be used together with day notes.
You can define one of the following relations on the root of the journal (identified by `#calendarRoot` label):

View File

@ -3,7 +3,7 @@ Task Manager is a [promoted attributes](../Attributes/Promoted%20Attributes.md)
## Demo
![](../../Attachments/task-manager.png)
![](Task%20Manager_task-manager.png)
Task Manager manages outstanding (TODO) tasks and finished tasks (non-empty doneDate attribute). Outstanding tasks are further categorized by location and arbitrary tags - whenever you change tag attribute in the task note, this task is then automatically moved to appropriate location.

View File

@ -3,7 +3,7 @@
The `Weight Tracker` is a [Script API](../../Note%20Types/Code/Script%20API.md) showcase present in the [demo notes](../Database.md).
By adding `weight` as a [promoted attribute](../Attributes/Promoted%20Attributes.md) in the [template](../Attributes/Template.md) from which [day notes](Day%20Notes.md) are created, you can aggregate the data and plot weight change over time.
By adding `weight` as a [promoted attribute](../Attributes/Promoted%20Attributes.md) in the [template](../Templates.md) from which [day notes](Day%20Notes.md) are created, you can aggregate the data and plot weight change over time.
## Implementation

View File

@ -22,4 +22,4 @@ If a parent note has the label `#child:exampleAttribute`, all newly created chil
## 3\. Template Inheritance
Attributes can also be inherited from [templates](Template.md). When a new note is created using a template, it inherits the attributes defined in that template. This is particularly useful for maintaining consistency across notes that follow a similar structure or function.
Attributes can also be inherited from [templates](../Templates.md). When a new note is created using a template, it inherits the attributes defined in that template. This is particularly useful for maintaining consistency across notes that follow a similar structure or function.

View File

@ -1,7 +1,7 @@
# Promoted Attributes
Promoted attributes are [attributes](../Attributes.md) which are considered important and thus are "promoted" onto the main note UI. See example below:
![](../../Attachments/promoted-attributes.png)
![](Promoted%20Attributes_promot.png)
You can see the note having kind of form with several fields. Each of these is just regular attribute, the only difference is that they appear on the note itself.

View File

@ -27,4 +27,4 @@ You can automatize the date assignment by assigning a label `#titleTemplate="${n
Second variable injected is [parentNote](https://triliumnext.github.io/Notes/backend_api/BNote.html), an example could be `#titleTemplate="${parentNote.getLabelValue('authorName')}'s literary works"`.
See also \[\[[template](Attributes/Template.md)\]\] which provides similar capabilities, including default note's content.
See also \[\[[template](Templates.md)\]\] which provides similar capabilities, including default note's content.

View File

@ -9,18 +9,18 @@ To use the sharing feature, you must have a [server installation](../Installatio
1. **Enable Sharing**: To share a note, toggle the `Shared` switch within the note's interface. Once sharing is enabled, an URL will appear, which you can click to access the shared note.
![Share Note](../Attachments/share-single-note.png)
![Share Note](Sharing_share-single-note.png)
2. **Access the Shared Note**: The link provided will open the note in your browser. If your server is not configured with a public IP, the URL will refer to `localhost (127.0.0.1)`.
![Shared Note Example](../Attachments/share-single-note-web.png)
![Shared Note Example](Sharing_share-single-note-.png)
## Sharing a Note Subtree
When you share a note, you actually share the entire subtree of notes beneath it. If the note has child notes, they will also be included in the shared content. For example, sharing the "Formatting" subtree will display a page with basic navigation for exploring all the notes within that subtree.
![Shared Subtree Example](../Attachments/share-multiple-notes-web.png)
![Shared Subtree Example](Sharing_share-multiple-not.png)
## Viewing All Shared Notes
@ -71,7 +71,7 @@ Shared notes typically have URLs like `http://domain.tld/share/knvU8aJy4dJ7`, wh
All shared notes are grouped under an automatically managed "Shared Notes" section. From here, you can view, share, or unshare notes by moving or cloning them within this section.
![Shared Notes List](../Attachments/shared-list.png)
![Shared Notes List](Sharing_shared-list.png)
### Setting a Custom Favicon

View File

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View File

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View File

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 136 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,7 +1,7 @@
# Template
# Templates
A template in Trilium serves as a predefined structure for other notes, referred to as instance notes. Assigning a template to a note brings three main effects:
1. **Attribute Inheritance**: All attributes from the template note are [inherited](Attribute%20Inheritance.md) by the instance notes. Even attributes with `#isInheritable=false` are inherited by the instance notes, although only inheritable attributes are further inherited by the children of the instance notes.
1. **Attribute Inheritance**: All attributes from the template note are [inherited](Attributes/Attribute%20Inheritance.md) by the instance notes. Even attributes with `#isInheritable=false` are inherited by the instance notes, although only inheritable attributes are further inherited by the children of the instance notes.
2. **Content Duplication**: The content of the template note is copied to the instance note, provided the instance note is empty at the time of template assignment.
3. **Child Note Duplication**: All child notes of the template are deep-duplicated to the instance note.
@ -9,11 +9,11 @@ A template in Trilium serves as a predefined structure for other notes, referred
A typical example would be a "Book" template note, which might include:
* **Promoted Attributes**: Such as publication year, author, etc. (see [promoted attributes](Promoted%20Attributes.md)).
* **Promoted Attributes**: Such as publication year, author, etc. (see [promoted attributes](Attributes/Promoted%20Attributes.md)).
* **Outline**: An outline for a book review, including sections like themes, conclusion, etc.
* **Child Notes**: Additional notes for highlights, summary, etc.
![Template Example](../../Attachments/template.png)
![Template Example](Templates_template.png)
## Instance Note
@ -21,9 +21,9 @@ An instance note is a note related to a template note. This relationship means t
To create an instance note through the UI:
![show child note templates](../../Attachments/template-create-instance-n.png)
![show child note templates](Templates_template-create-.png)
For the template to appear in the menu, the template note must have the `#template` label. Do not confuse this with the `~template` relation, which links the instance note to the template note. If you use [workspaces](../../Basic%20Concepts%20and%20Features/Navigation/Workspace.md), you can also mark templates with `#workspaceTemplate` to display them only in the workspace.
For the template to appear in the menu, the template note must have the `#template` label. Do not confuse this with the `~template` relation, which links the instance note to the template note. If you use [workspaces](../Basic%20Concepts%20and%20Features/Navigation/Workspace.md), you can also mark templates with `#workspaceTemplate` to display them only in the workspace.
Templates can also be added or changed after note creation by creating a `~template` relation pointing to the desired template note.
@ -31,6 +31,6 @@ Templates can also be added or changed after note creation by creating a `~templ
From a visual perspective, templates can define `#iconClass` and `#cssClass` attributes, allowing all instance notes (e.g., books) to display a specific icon and CSS style.
Explore the concept further in the [demo notes](../Database.md), including examples like the [Relation Map](../../Note%20Types/Relation%20Map.md), [Task Manager](../Advanced%20Showcases/Task%20Manager.md), and [Day Notes](../Advanced%20Showcases/Day%20Notes.md).
Explore the concept further in the [demo notes](Database.md), including examples like the [Relation Map](../Note%20Types/Relation%20Map.md), [Task Manager](Advanced%20Showcases/Task%20Manager.md), and [Day Notes](Advanced%20Showcases/Day%20Notes.md).
Additionally, see [default note title](../Default%20Note%20Title.md) for creating title templates. Note templates and title templates can be combined by creating a `#titleTemplate` for a template note.
Additionally, see [default note title](Default%20Note%20Title.md) for creating title templates. Note templates and title templates can be combined by creating a `#titleTemplate` for a template note.

View File

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="147px" height="32px" viewBox="0 0 147 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.0.4 (8053) - http://www.bohemiancoding.com/sketch -->
<title>button</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="button" sketch:type="MSLayerGroup">
<rect id="Background" fill="#7056BF" sketch:type="MSShapeGroup" x="0" y="0" width="147" height="32" rx="4"></rect>
<g id="Icon" transform="translate(10.000000, 8.000000)" fill="#FFFFFF" sketch:type="MSShapeGroup">
<path d="M14.819,3.216 L9.103,0.25 C8.464,-0.082 7.536,-0.081 6.898,0.25 L1.181,3.216 C0.496,3.571 0,4.365 0,5.102 L0,11.035 C0,11.774 0.497,12.566 1.181,12.921 L4.039,14.404 C4.529,14.656 5.134,14.467 5.388,13.978 C5.642,13.487 5.451,12.884 4.961,12.629 L2.106,11.148 C2.068,11.124 2.008,11.039 2,11.035 L1.996,5.143 C2.008,5.098 2.068,5.013 2.103,4.991 L7.816,2.026 C7.897,1.991 8.106,1.992 8.181,2.025 L13.894,4.989 C13.932,5.013 13.992,5.098 14,5.102 L14.003,10.995 C13.992,11.039 13.932,11.124 13.898,11.146 L11.039,12.629 C10.549,12.884 10.358,13.487 10.612,13.978 C10.79,14.32 11.14,14.517 11.501,14.517 C11.656,14.517 11.814,14.481 11.961,14.404 L14.818,12.921 C15.503,12.566 16,11.774 16,11.035 L16,5.102 C16,4.365 15.504,3.571 14.819,3.216" id="App"></path>
<path d="M11.707,9.707 C12.098,9.316 12.098,8.684 11.707,8.293 L8.708,5.294 C8.616,5.201 8.505,5.128 8.382,5.077 C8.138,4.976 7.862,4.976 7.618,5.077 C7.495,5.128 7.385,5.201 7.292,5.294 L4.293,8.293 C3.902,8.684 3.902,9.316 4.293,9.707 C4.488,9.902 4.744,10 5,10 C5.256,10 5.512,9.902 5.707,9.707 L7,8.414 L7,15 C7,15.553 7.447,16 8,16 C8.553,16 9,15.553 9,15 L9,8.414 L10.293,9.707 C10.488,9.902 10.744,10 11,10 C11.256,10 11.512,9.902 11.707,9.707" id="Arrow"></path>
</g>
<path d="M81.393,21.091 C81.744,21.091 82.173,21.052 82.368,21.013 L82.368,20.09 C82.186,20.142 81.913,20.181 81.666,20.181 C80.834,20.181 80.6,19.817 80.6,19.089 L80.6,15.059 L82.381,15.059 L82.381,14.136 L80.6,14.136 L80.6,11.692 L79.482,11.692 L79.482,14.136 L78.286,14.136 L78.286,15.059 L79.482,15.059 L79.482,19.336 C79.482,20.532 79.95,21.091 81.393,21.091 Z M86.697,21.143 C88.374,21.143 89.882,19.921 89.882,17.568 C89.882,15.202 88.374,13.993 86.697,13.993 C85.007,13.993 83.499,15.202 83.499,17.568 C83.499,19.921 85.02,21.143 86.697,21.143 Z M86.697,20.194 C85.306,20.194 84.63,19.024 84.63,17.568 C84.63,16.021 85.384,14.955 86.697,14.955 C88.062,14.955 88.751,16.138 88.751,17.568 C88.751,19.141 87.997,20.194 86.697,20.194 Z M94.705,21 L95.849,21 L95.849,16.463 L100.802,16.463 L100.802,21 L101.946,21 L101.946,11.38 L100.802,11.38 L100.802,15.41 L95.849,15.41 L95.849,11.38 L94.705,11.38 L94.705,21 Z M106.834,21.143 C108.121,21.143 108.992,20.597 109.629,19.687 L108.979,19.115 C108.459,19.83 107.9,20.233 106.912,20.233 C105.781,20.233 104.884,19.401 104.845,17.854 L109.694,17.854 L109.694,17.62 C109.694,15.137 108.459,13.993 106.834,13.993 C105.391,13.993 103.727,15.072 103.727,17.568 C103.727,19.96 105.209,21.143 106.834,21.143 Z M104.871,16.983 C105.027,15.566 105.898,14.929 106.821,14.929 C107.952,14.929 108.537,15.761 108.628,16.983 L104.871,16.983 Z M111.293,21 L112.411,21 L112.411,16.567 C112.918,15.592 113.737,15.02 114.829,15.02 C114.868,15.02 115.115,15.02 115.154,15.033 L115.232,13.993 L115.089,13.993 C113.75,13.993 112.944,14.617 112.437,15.41 L112.411,15.41 L112.411,14.136 L111.293,14.136 L111.293,21 Z M119.301,21.143 C120.978,21.143 122.486,19.921 122.486,17.568 C122.486,15.202 120.978,13.993 119.301,13.993 C117.611,13.993 116.103,15.202 116.103,17.568 C116.103,19.921 117.624,21.143 119.301,21.143 Z M119.301,20.194 C117.91,20.194 117.234,19.024 117.234,17.568 C117.234,16.021 117.988,14.955 119.301,14.955 C120.666,14.955 121.355,16.138 121.355,17.568 C121.355,19.141 120.601,20.194 119.301,20.194 Z M124.072,21 L125.19,21 L125.19,18.894 L126.555,17.425 L128.583,21 L129.779,21 L127.283,16.593 L129.532,14.136 L128.258,14.136 L125.19,17.568 L125.19,11.38 L124.072,11.38 L124.072,21 Z M133.055,21.13 C134.173,21.13 135.031,20.558 135.629,19.973 L135.629,21 L136.76,21 L136.76,14.136 L135.629,14.136 L135.629,19.089 C134.914,19.765 134.238,20.194 133.406,20.194 C132.535,20.194 132.145,19.765 132.145,18.855 L132.145,14.136 L131.027,14.136 L131.027,19.089 C131.027,20.389 131.742,21.13 133.055,21.13 L133.055,21.13 Z" id="to-Heroku" fill="#B7A7D5" sketch:type="MSShapeGroup"></path>
<path d="M34.183,21 L36.718,21 C39.773,21 41.567,19.427 41.567,16.164 C41.567,12.94 39.812,11.38 36.718,11.38 L34.183,11.38 L34.183,21 Z M35.327,19.973 L35.327,12.433 L36.835,12.433 C39.175,12.433 40.423,13.577 40.423,16.164 C40.423,18.842 39.188,19.973 36.861,19.973 L35.327,19.973 Z M46,21.143 C47.287,21.143 48.158,20.597 48.795,19.687 L48.145,19.115 C47.625,19.83 47.066,20.233 46.078,20.233 C44.947,20.233 44.05,19.401 44.011,17.854 L48.86,17.854 L48.86,17.62 C48.86,15.137 47.625,13.993 46,13.993 C44.557,13.993 42.893,15.072 42.893,17.568 C42.893,19.96 44.375,21.143 46,21.143 Z M44.037,16.983 C44.193,15.566 45.064,14.929 45.987,14.929 C47.118,14.929 47.703,15.761 47.794,16.983 L44.037,16.983 Z M50.459,23.6 L51.577,23.6 L51.577,20.116 C52.162,20.727 52.877,21.104 53.722,21.104 C55.399,21.104 56.634,19.947 56.634,17.555 C56.634,15.163 55.412,13.993 53.839,13.993 C52.812,13.993 52.097,14.513 51.577,15.085 L51.577,14.136 L50.459,14.136 L50.459,23.6 Z M53.566,20.194 C52.838,20.194 52.175,19.83 51.577,19.154 L51.577,16.008 C52.149,15.384 52.786,14.955 53.579,14.955 C54.684,14.955 55.516,15.813 55.516,17.568 C55.516,19.388 54.762,20.194 53.566,20.194 Z M58.324,21 L59.442,21 L59.442,11.38 L58.324,11.38 L58.324,21 Z M64.304,21.143 C65.981,21.143 67.489,19.921 67.489,17.568 C67.489,15.202 65.981,13.993 64.304,13.993 C62.614,13.993 61.106,15.202 61.106,17.568 C61.106,19.921 62.627,21.143 64.304,21.143 Z M64.304,20.194 C62.913,20.194 62.237,19.024 62.237,17.568 C62.237,16.021 62.991,14.955 64.304,14.955 C65.669,14.955 66.358,16.138 66.358,17.568 C66.358,19.141 65.604,20.194 64.304,20.194 Z M69.465,23.639 C70.804,23.639 71.337,22.989 71.805,21.78 L74.743,14.136 L73.612,14.136 L71.597,19.687 L71.571,19.687 L69.556,14.136 L68.373,14.136 L71.025,21.039 L70.765,21.715 C70.492,22.391 70.154,22.69 69.452,22.69 C68.971,22.69 68.633,22.625 68.438,22.573 L68.178,23.47 C68.477,23.561 68.854,23.639 69.465,23.639 L69.465,23.639 Z" id="Deploy" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

View File

@ -7,7 +7,7 @@ Trilium Notes supports importing Markdown restricted to the [CommonMark specific
If you want to import just a chunk of markdown from clipboard, you can do it from editor block menu:
![](../../Attachments/markdown-inline-import.gif)
![](Markdown_markdown-inline-i.gif)
### File import
@ -20,7 +20,7 @@ You can also import Markdown files from files:
\[\[gifs/markdown-file-import.gif\]\]
![](../../Attachments/markdown-file-import.gif)
![](Markdown_markdown-file-imp.gif)
## Export
@ -28,13 +28,13 @@ You can also import Markdown files from files:
You can export whole subtree to ZIP archive which will have directory structured modelled after subtree structure:
![](../../Attachments/markdown-export-subtree.gif)
![](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:
![](../../Attachments/markdown-export-note.gif)
![](Markdown_markdown-export-n.gif)
### Exporting protected notes

View File

@ -1,12 +1,12 @@
# Bookmarks
To easily access selected notes, you can bookmark them. See demo:
![](../../Attachments/bookmarks.gif)
![](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:
![](../../Attachments/bookmark-folder.png)
![](Bookmarks_bookmark-folder.png)
To do this, you need to add a `#bookmarkFolder` label to the note.

View File

@ -8,8 +8,18 @@ The _Jump to Note_ function allows easy navigation between notes by searching fo
* 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 (see <a class="reference-link" href="Note%20Navigation.md">Note Navigation</a>).
* 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.

View File

@ -1,7 +1,7 @@
# 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:
![](../../Attachments/note-hoisting.gif)
![](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.

View File

@ -11,16 +11,6 @@ This works identically to browser backwards / forwards, it's actually using buil
## Jump to note
This is useful to quickly find and view arbitrary note - 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.
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.
![](../../Attachments/jump-to.gif)
### 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.
![](../../Attachments/recent-notes.gif)
See <a class="reference-link" href="Jump%20to%20Note.md">Jump to Note</a> for more information.

View File

@ -7,4 +7,4 @@ This can be useful for notes which are no longer very useful but still valuable
You can control whether archived notes are displayed in the note tree with a setting:
![](../../Attachments/hide-archived.png)
![](Archived%20Notes_hide-archiv.png)

View File

@ -7,6 +7,15 @@ Each note exclusively owns its attachments, meaning attachments cannot be shared
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

@ -43,7 +43,7 @@ So now the "Bash" subtree appears on multiple locations in the hierarchy. Both t
### Demo
![](../../Attachments/create-clone.gif)
![](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).

View File

@ -1,6 +1,6 @@
# 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](../../Attachments/note-icon-change.png)
![change note icon](Note%20Icons_note-icon-chang.png)
![note icon gallery](../../Attachments/note-icon-gallery.png)
![note icon gallery](Note%20Icons_note-icon-galle.png)

View File

@ -17,4 +17,4 @@ You can click the **Erase excess revision snapshots now** button to apply the ch
Note revisions can be accessed through the button on the right of ribbon toolbar.
![](../../Attachments/note-revisions.png)
![](Note%20Revisions_note-revisi.png)

View File

@ -10,7 +10,7 @@ Trilium is designed to store a wide variety of data, including sensitive informa
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](../../Attachments/protecting-note.gif)
![example animation of unlocking protected notes](Protected%20Notes_protecting.gif)
## What is Encrypted?

View File

@ -3,7 +3,7 @@
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](../Attachments/dark-theme.png)
![Dark Theme](Themes_dark-theme.png)
## Creating Custom CSS Themes
@ -85,7 +85,7 @@ Custom themes can be exported as `.tar` archives, which can be shared with other
An example user theme, _Steel Blue_, is available in the demo document.
![Steel Blue Theme](../Attachments/steel-blue.png)
![Steel Blue Theme](Themes_steel-blue.png)
### Using Custom CSS for Specific Purposes

View File

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 235 KiB

View File

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 248 KiB

View File

@ -5,13 +5,13 @@ This page explains how to manipulate the note tree in TriliumNext, focusing on m
## Drag and Drop
![Drag and drop example](../../Attachments/drag-and-drop.gif)
![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](../../Attachments/move-note-with-keyboard.gif)Trilium offers efficient keyboard-based manipulation using the following [shortcuts](../Keyboard%20Shortcuts.md):
![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.

View File

@ -25,7 +25,7 @@ If you are using the _Fixed_ formatting toolbar, all the formatting buttons for
* Is always editable, regardless of its size.
* _**Bookmark**_ toggles the display of the current note into the [Launch Bar](Launch%20Bar.md) for easy access. See [Bookmarks](../Navigation/Bookmarks.md) for more information.
* _**Shared**_ toggles whether the current note is publicly accessible if you have a [server instance](../../Installation%20%26%20Setup/Server%20Installation.md) set up. See [Sharing](../../Advanced%20Usage/Sharing.md) for more information.
* _**Template**_ toggles whether the current note is considered a template and can be used to easily create notes with the same content. See [Template](../../Advanced%20Usage/Attributes/Template.md) for more information.
* _**Template**_ toggles whether the current note is considered a template and can be used to easily create notes with the same content. See [Template](../../Advanced%20Usage/Templates.md) for more information.
* _**Language**_ changes the main language of the current note, mostly useful for spell checking or right-to-left support. See [Content language & Right-to-left support](../../Note%20Types/Text/Content%20language%20%26%20Right-to-le.md) for more information.
### Owned Attributes

View File

@ -9,11 +9,11 @@ Note that this is not an Android/iOS app, this is just mobile friendly web page
### Mobile phone
![](../Attachments/mobile-smartphone.png)
![](Mobile%20Frontend_mobile-sma.png)
### Tablet
![](../Attachments/mobile-tablet.png)
![](Mobile%20Frontend_mobile-tab.png)
## Limitations

View File

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

View File

@ -18,7 +18,7 @@ This method is used when you already have a desktop instance of Trilium and want
1. **Server Deployment**: Ensure your server instance is deployed but uninitialized.
2. **Desktop Configuration**: Open your desktop instance, navigate to Options -> Sync tab -> Sync configuration, and set the "Server instance address" to your sync server's address. Click Save.
![screenshot of the sync settings options modal](../Attachments/sync-config.png)
![screenshot of the sync settings options modal](Synchronization_sync-confi.png)
1. **Testing Sync**: Click the "Test sync" button to verify the connection to the sync server. If successful, the client will start pushing all data to the server instance. This process may take some time, but you can continue using Trilium. Periodically check the server instance to confirm when the sync is complete. Once finished, you should see the login screen on the server.
@ -29,12 +29,12 @@ This method is used when you already have a sync server and want to configure a
1. **Desktop Setup**: Follow the [desktop installation page](Desktop%20Installation.md).
2. **Initial Configuration**: When prompted, choose the option to set up sync with a sync server.
![screenshot of the sync from server setup page](../Attachments/sync-init.png)
![screenshot of the sync from server setup page](Synchronization_sync-init.png)
1. **Server Details**: Configure the Trilium server address and enter the correct username and password for authentication.
2. **Finish Setup**: Click the "Finish setup" button. If successful, you will see the following screen:
![screenshot of the sync page](../Attachments/sync-in-progress.png)
![screenshot of the sync page](Synchronization_sync-in-pr.png)
Once synchronization is complete, you will be automatically redirected to the Trilium application.

View File

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 95 KiB

View File

@ -6,91 +6,4 @@ Positions are:
* `left-pane`
* `center-pane`
* `note-detail-pane` - located within `center-pane`, but specific to note (split)
* `right-pane`
## Example - word count widget
Create a code note of type JS frontend and **give it a** `#widget` **label**.
```
/*
* This defines a custom widget which displays number of words and characters in a current text note.
* To be activated for a given note, add label 'wordCount' to the note, you can also make it inheritable and thus activate it for the whole subtree.
*
* See it in action in "Books" and its subtree.
*/
const TPL = `
Word count:
 
Character count:
`;
class WordCountWidget extends api.NoteContextAwareWidget {
static get parentWidget() { return 'center-pane'; }
get position() { return 100; } // higher value means position towards the bottom/right
isEnabled() {
return super.isEnabled()
&& this.note.type === 'text'
&& this.note.hasLabel('wordCount');
}
doRender() {
this.$widget = $(TPL);
this.$wordCount = this.$widget.find('.word-count');
this.$characterCount = this.$widget.find('.character-count');
return this.$widget;
}
async refreshWithNote(note) {
const {content} = await note.getNoteComplement();
const text = $(content).text(); // get plain text only
const counts = this.getCounts(text);
this.$wordCount.text(counts.words);
this.$characterCount.text(counts.characters);
}
getCounts(text) {
const chunks = text
.split(/[\s-+:,/\\]+/)
.filter(chunk => chunk !== '');
let words;
if (chunks.length === 1 && chunks[0] === '') {
words = 0;
}
else {
words = chunks.length;
}
const characters = chunks.join('').length;
return {words, characters};
}
async entitiesReloadedEvent({loadResults}) {
if (loadResults.isNoteContentReloaded(this.noteId)) {
this.refresh();
}
}
}
module.exports = WordCountWidget;
```
After you make changes it is necessary to restart Trilium so that the layout can be rebuilt.
### Example screenshot
On the bottom you can see the resulting widget:
![](../../Attachments/Custom-widget%20image.png)
* `right-pane`

View File

@ -0,0 +1,89 @@
# Word count widget
> [!TIP]
> This widget is also present in new installations in the <a class="reference-link" href="../../../Advanced%20Usage/Database/Demo%20Notes.md">Demo Notes</a>.
Create a <a class="reference-link" href="../../Code.md">Code</a> note of type JS frontend and **give it a** `#widget` **label**.
```
/*
* This defines a custom widget which displays number of words and characters in a current text note.
* To be activated for a given note, add label 'wordCount' to the note, you can also make it inheritable and thus activate it for the whole subtree.
*
* See it in action in "Books" and its subtree.
*/
const TPL = `<div style="padding: 10px; border-top: 1px solid var(--main-border-color); contain: none;">
<strong>Word count: </strong>
<span class="word-count"></span>
&nbsp;
<strong>Character count: </strong>
<span class="character-count"></span>
</div`;
class WordCountWidget extends api.NoteContextAwareWidget {
get position() { return 100; } // higher value means position towards the bottom/right
get parentWidget() { return 'center-pane'; }
doRender() {
this.$widget = $(TPL);
this.$wordCount = this.$widget.find('.word-count');
this.$characterCount = this.$widget.find('.character-count');
return this.$widget;
}
async refreshWithNote(note) {
if (note.type !== 'text' || !note.hasLabel('wordCount')) {
// show widget only on text notes and when marked with 'wordCount' label
this.toggleInt(false); // hide
return;
}
this.toggleInt(true); // display
const {content} = await note.getNoteComplement();
const text = $(content).text(); // get plain text only
const counts = this.getCounts(text);
this.$wordCount.text(counts.words);
this.$characterCount.text(counts.characters);
}
getCounts(text) {
const chunks = text
.split(/[\s-+:,/\\]+/)
.filter(chunk => chunk !== '');
let words;
if (chunks.length === 1 && chunks[0] === '') {
words = 0;
}
else {
words = chunks.length;
}
const characters = chunks.join('').length;
return {words, characters};
}
async entitiesReloadedEvent({loadResults}) {
if (loadResults.isNoteContentReloaded(this.noteId)) {
this.refresh();
}
}
}
module.exports = new WordCountWidget();
```
After you make changes it is necessary to [restart Trilium](../../../Troubleshooting/Refreshing%20the%20application.md) so that the layout can be rebuilt.
At the bottom of the note you can see the resulting widget:
<figure class="image"><img style="aspect-ratio:792/603;" src="Word count widget_image.png" width="792" height="603"></figure>

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View File

@ -5,11 +5,11 @@ Relation map is a type of [Note](../Basic%20Concepts%20and%20Features/Notes.md)
This is a basic example how you can create simple diagram using relation maps:
![](../Attachments/relation-map-dev-process.png)
![](1_Relation%20Map_relation-map-.png)
And this is how you can create it:
![](Relation%20Map_relation-map-.gif)
![](1_Relation%20Map_relation-map-.gif)
We start completely from scratch by first creating new note called "Development process" and changing its type to "Relation map". After that we create new notes one by one and place them by clicking into the map. We also drag [relations](../Advanced%20Usage/Attributes.md)between notes and name them. That's all!
@ -19,11 +19,11 @@ Items on the map - "Specification", "Development", "Testing" and "Demo" are actu
This is more complicated demo using some advanced concepts. Resulting diagram is here:
![](../Attachments/relation-map-family.png)
![](Relation%20Map_relation-map-.png)
This is how you get to it:
![](../Attachments/relation-map-family-demo.gif)
![](Relation%20Map_relation-map-.gif)
There are several steps here:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -1,7 +1,7 @@
# Saved Search
Trilium allows you to save common searches as notes within the note tree. The search results will appear as sub-notes under these "saved search" notes. Here is an example of how it works:
![save-search](../Attachments/saved-search-image.gif)
<figure class="image image_resized image-style-align-center" style="width:50%;"><img style="aspect-ratio:812/585;" src="Saved Search_saved-search.gif" width="812" height="585"></figure>
## Location

View File

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 260 KiB

View File

@ -5,11 +5,11 @@ Trilium utilizes the powerful [CKEditor 5](https://ckeditor.com/ckeditor-5/) as
The Trilium text note interface does not display toolbars or formatting options by default. These can be accessed by:
![inline note formatting](../Attachments/text-notes-formatting-inli.png)
![inline note formatting](1_Text_text-notes-formatting.png)
1. Selecting text to bring up an inline toolbar.
![formating note block](../Attachments/text-notes-formatting-bloc.png)2\. Clicking on the block toolbar.
![formating note block](Text_text-notes-formatting.png)2\. Clicking on the block toolbar.
## Read-Only vs. Editing Mode
@ -64,12 +64,4 @@ Note: The use of `#` for Heading 1 is not supported because it is reserved for t
Trilium provides math support through [KaTeX](https://katex.org/).
## Cutting Selection to Sub-Note
When editing a document that becomes too large, you can split it into sub-notes:
1. Select the desired text and cut it to the clipboard.
2. Create a new sub-note and name it.
3. Paste the content from the clipboard into the sub-note.
Trilium can automate this process. Select some text within the note, and in the selection toolbar, click the scissors icon for the "cut & pasted selection to sub-note" action. The heading is automatically detected and the new sub-note is named accordingly. You can also assign a keyboard shortcut for this action. This functionality is available through the block toolbar icon.
<figure class="image image_resized" style="height:auto;width:auto;"><img style="aspect-ratio:812/585;" src="Text_math.gif" width="812" height="585"></figure>

View File

@ -0,0 +1,10 @@
# Cut to subnote
<figure class="image image_resized image-style-align-right" style="width:64.63%;"><img style="aspect-ratio:812/585;" src="Cut to subnote_cut-to-subn.gif" width="812" height="585"></figure>
When editing a document that becomes too large, you can split it into sub-notes:
1. Select the desired text and cut it to the clipboard.
2. Create a new sub-note and name it.
3. Paste the content from the clipboard into the sub-note.
Trilium can automate this process. Select some text within the note, and in the selection toolbar, click the scissors icon for the "cut & pasted selection to sub-note" action. The heading is automatically detected and the new sub-note is named accordingly. You can also assign a keyboard shortcut for this action. This functionality is available through the block toolbar icon.

View File

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

@ -5,7 +5,7 @@ External link is general web link targeting some external web resource - e.g. [h
External links are done through CKEditor native links. To create an external link, select text and press <kbd>Ctrl</kbd> + <kbd>K</kbd> or wait for the "balloon" to appear and click link icon there.
![](../../Attachments/create-external-link.gif)
![](Links_create-external-link.gif)
You can follow external link by either double clicking (will open new tab/window) it or right clicking on them and choosing "Open in new tab".
@ -18,7 +18,7 @@ In the dialog you can see radio button to choose from different types of linking
* link title mirrors the note's current title - this is sometimes also called "reference link". Title of such links cannot be changed, instead it is always mirroring the title of linked note. This way the link title is never outdated
* link title can be changed arbitrarily - this is the traditional hyperlink - you link to a particular note and can choose the link title
![](../../Attachments/create-link-to-note.gif)
![](Links_create-link-to-note.gif)
You can follow the note link by double clicking it.

View File

Before

Width:  |  Height:  |  Size: 356 KiB

After

Width:  |  Height:  |  Size: 356 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -16,7 +16,7 @@ If that doesn't work, then:
* in Trilium desktop app, go to top-left menu button -> Advanced -> Open Dev Tools
* In Firefox/Chrome right-click anywhere in the page and click Inspect:
![](../Attachments/error-logs-firefox-context.png)
![](Error%20logs_error-logs-fire.png)
Once you have Dev Tools open, click on "Console" tab:
@ -36,4 +36,4 @@ Often times, bugs manifest themselves in specific notes and having them would gr
In such case, please export the relevant note subtree by right-clicking it on the left tree, choosing Export - HTML as ZIP:
![](../Attachments/error-logs-export-subtree.png)
![](Error%20logs_error-logs-expo.png)

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@
<p>You can also notice how this day note has <a href="../Attributes/Promoted%20Attributes.html">promoted attribute</a> "weight"
where you can track your daily weight. This data is then used in <a href="Weight%20Tracker.html">Weight tracker</a>.</p>
<h2>Templates</h2>
<p>Trilium provides <a href="../Attributes/Template.html">template</a> functionality,
<p>Trilium provides <a href="../Templates.html">template</a> functionality,
and it could be used together with day notes.</p>
<p>You can define one of the following relations on the root of the journal
(identified by <code>#calendarRoot</code> label):</p>

View File

@ -18,7 +18,7 @@
href="../../Scripting.html">scripts</a>showcase present in the <a href="../Database.html">demo notes</a>.</p>
<h2>Demo</h2>
<p>
<img src="../../Attachments/task-manager.png">
<img src="Task Manager_task-manager.png">
</p>
<p>Task Manager manages outstanding (TODO) tasks and finished tasks (non-empty
doneDate attribute). Outstanding tasks are further categorized by location

View File

@ -19,7 +19,7 @@
<p>The <code>Weight Tracker</code> is a <a href="../../Note%20Types/Code/Script%20API.html">Script API</a> showcase
present in the <a href="../Database.html">demo notes</a>.</p>
<p>By adding <code>weight</code> as a <a href="../Attributes/Promoted%20Attributes.html">promoted attribute</a> in
the <a href="../Attributes/Template.html">template</a> from which <a href="Day%20Notes.html">day notes</a> are
the <a href="../Templates.html">template</a> from which <a href="Day%20Notes.html">day notes</a> are
created, you can aggregate the data and plot weight change over time.</p>
<h2>Implementation</h2>
<p>The <code>Weight Tracker</code> note in the screenshot above is of the type <code>Render Note</code>.

View File

@ -41,7 +41,7 @@
This can be useful for setting default properties for notes in a specific
section.</p>
<h2>3. Template Inheritance</h2>
<p>Attributes can also be inherited from <a href="Template.html">templates</a>.
<p>Attributes can also be inherited from <a href="../Templates.html">templates</a>.
When a new note is created using a template, it inherits the attributes
defined in that template. This is particularly useful for maintaining consistency
across notes that follow a similar structure or function.</p>

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