mirror of
https://github.com/zadam/trilium.git
synced 2025-11-17 02:30:42 +01:00
chore(docs): remove HTML wrapper
This commit is contained in:
@@ -1,21 +1 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>User Guide</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>User Guide</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>The sub-children of this note are automatically synced.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>The sub-children of this note are automatically synced.</p>
|
||||
@@ -1,37 +1,17 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Advanced Showcases</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Advanced Showcases</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium offers advanced functionality through <a href="#root/_help_CdNpE2pqjmI6">Scripts</a> and
|
||||
<a
|
||||
href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>. To illustrate these features, we've prepared
|
||||
several showcases available in the <a href="#root/_help_wX4HbRucYSDD">demo notes</a>:</p>
|
||||
<ul>
|
||||
<li><a href="#root/_help_iRwzGnHPzonm">Relation Map</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_l0tKav7yLHGF">Day Notes</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_xYjQUYhpbUEW">Task Manager</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>It's important to note that these examples are not natively supported
|
||||
by Trilium out of the box; instead, they demonstrate what you can build
|
||||
within Trilium.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Trilium offers advanced functionality through <a href="#root/_help_CdNpE2pqjmI6">Scripts</a> and
|
||||
<a
|
||||
href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>. To illustrate these features, we've prepared
|
||||
several showcases available in the <a href="#root/_help_wX4HbRucYSDD">demo notes</a>:</p>
|
||||
<ul>
|
||||
<li><a href="#root/_help_iRwzGnHPzonm">Relation Map</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_l0tKav7yLHGF">Day Notes</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_xYjQUYhpbUEW">Task Manager</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>It's important to note that these examples are not natively supported
|
||||
by Trilium out of the box; instead, they demonstrate what you can build
|
||||
within Trilium.</p>
|
||||
@@ -1,166 +1,146 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Day Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Day Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>A common pattern in note-taking is that a lot of notes will be centered
|
||||
around a certain date - e.g. you have some tasks which needs to be done
|
||||
on a certain date, you have meeting minutes from a certain date, you have
|
||||
your thoughts etc. and it all revolves around a date on which they occurred.
|
||||
For this reason, it makes sense to create a certain "day workspace" which
|
||||
will centralize all those notes relevant for a certain date.</p>
|
||||
<p>For this, Trilium provides a concept of "day note". Trilium semi-automatically
|
||||
generates a single note for each day. Under this note you can save all
|
||||
those relevant notes.</p>
|
||||
<p>Select an existing day note, and the menubar contains a calendar widget.
|
||||
Select any day to create a note for that day. </p>
|
||||
<p>
|
||||
<img src="1_Day Notes_image.png">
|
||||
</p>
|
||||
<p>This pattern works well also because of <a href="#root/_help_IakOLONlIfGI">Cloning Notes</a> functionality
|
||||
- note can appear in multiple places in the note tree, so besides appearing
|
||||
under day note, it can also be categorized into other notes.</p>
|
||||
<h2>Demo</h2>
|
||||
<p>
|
||||
<img src="Day Notes_image.png">
|
||||
</p>
|
||||
<p>You can see the structure of day notes appearing under "Journal" note
|
||||
- there's a note for the whole year 2025, under it, you have "03 - March"
|
||||
which then contains "09 - Monday". This is our "day note" which contains
|
||||
some text in its content and also has some child notes (some of them are
|
||||
from <a href="#root/_help_xYjQUYhpbUEW">Task manager</a>).</p>
|
||||
<p>You can also notice how this day note has <a href="#root/_help_OFXdgB2nNk1F">promoted attribute</a> "weight"
|
||||
where you can track your daily weight. This data is then used in <a href="#root/_help_R7abl2fc6Mxi">Weight tracker</a>.</p>
|
||||
<h2>Week Note and Quarter Note</h2>
|
||||
<p>Week and quarter notes are disabled by default, since it might be too
|
||||
much for some people. To enable them, you need to set <code>#enableWeekNotes</code> and <code>#enableQuarterNotes</code> attributes
|
||||
on the root calendar note, which is identified by <code>#calendarRoot</code> label.
|
||||
Week note is affected by the first week of year option. Be careful when
|
||||
you already have some week notes created, it will not automatically change
|
||||
the existing week notes and might lead to some duplicates.</p>
|
||||
<h2>Templates</h2>
|
||||
<p>Trilium provides <a href="#root/_help_KC1HB96bqqHX">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>
|
||||
<ul>
|
||||
<li>yearTemplate</li>
|
||||
<li>quarterTemplate (if <code>#enableQuarterNotes</code> is set)</li>
|
||||
<li>monthTemplate</li>
|
||||
<li>weekTemplate (if <code>#enableWeekNotes</code> is set)</li>
|
||||
<li>dateTemplate</li>
|
||||
</ul>
|
||||
<p>All of these are relations. When Trilium creates a new note for year or
|
||||
month or date, it will take a look at the root and attach a corresponding <code>~template</code> relation
|
||||
to the newly created role. Using this, you can e.g. create your daily template
|
||||
with e.g. checkboxes for daily routine etc.</p>
|
||||
<h2>Naming pattern</h2>
|
||||
<p>You can customize the title of generated journal notes by defining a <code>#datePattern</code>, <code>#weekPattern</code>, <code>#monthPattern</code>, <code>#quarterPattern</code> and <code>#yearPattern</code> attribute
|
||||
on a root calendar note (identified by <code>#calendarRoot</code> label).
|
||||
The naming pattern replacements follow a level-up compatibility - each
|
||||
level can use replacements from itself and all levels above it. For example, <code>#monthPattern</code> can
|
||||
use month, quarter and year replacements, while <code>#weekPattern</code> can
|
||||
use week, month, quarter and year replacements. But it is not possible
|
||||
to use week replacements in <code>#monthPattern</code>.</p>
|
||||
<h3>Date pattern</h3>
|
||||
<p>It's possible to customize the title of generated date notes by defining
|
||||
a <code>#datePattern</code> attribute on a root calendar note (identified
|
||||
by <code>#calendarRoot</code> label). Following are possible values:</p>
|
||||
<ul>
|
||||
<li><code>{isoDate}</code> results in an ISO 8061 formatted date (e.g. "2025-03-09"
|
||||
for March 9, 2025)</li>
|
||||
<li><code>{dateNumber}</code> results in a number like <code>9</code> for the
|
||||
9th day of the month, <code>11</code> for the 11th day of the month</li>
|
||||
<li><code>{dateNumberPadded}</code> results in a number like <code>09</code> for
|
||||
the 9th day of the month, <code>11</code> for the 11th day of the month</li>
|
||||
<li><code>{ordinal}</code> is replaced with the ordinal date (e.g. 1st, 2nd,
|
||||
3rd) etc.</li>
|
||||
<li><code>{weekDay}</code> results in the full day name (e.g. <code>Monday</code>)</li>
|
||||
<li><code>{weekDay3}</code> is replaced with the first 3 letters of the day,
|
||||
e.g. Mon, Tue, etc.</li>
|
||||
<li><code>{weekDay2}</code> is replaced with the first 2 letters of the day,
|
||||
e.g. Mo, Tu, etc.</li>
|
||||
</ul>
|
||||
<p>The default is <code>{dateNumberPadded} - {weekDay}</code>
|
||||
</p>
|
||||
<h3>Week pattern</h3>
|
||||
<p>It is also possible to customize the title of generated week notes through
|
||||
the <code>#weekPattern</code> attribute on the root calendar note. The options
|
||||
are:</p>
|
||||
<ul>
|
||||
<li><code>{weekNumber}</code> results in a number like <code>9</code> for the
|
||||
9th week of the year, <code>11</code> for the 11th week of the year</li>
|
||||
<li><code>{weekNumberPadded}</code> results in a number like <code>09</code> for
|
||||
the 9th week of the year, <code>11</code> for the 11th week of the year</li>
|
||||
<li><code>{shortWeek}</code> results in a short week string like <code>W9</code> for
|
||||
the 9th week of the year, <code>W11</code> for the 11th week of the year</li>
|
||||
<li><code>{shortWeek3}</code> results in a short week string like <code>W09</code> for
|
||||
the 9th week of the year, <code>W11</code> for the 11th week of the year</li>
|
||||
</ul>
|
||||
<p>The default is <code>Week {weekNumber}</code>
|
||||
</p>
|
||||
<h3>Month pattern</h3>
|
||||
<p>It is also possible to customize the title of generated month notes through
|
||||
the <code>#monthPattern</code> attribute on the root calendar note. The options
|
||||
are:</p>
|
||||
<ul>
|
||||
<li><code>{isoMonth}</code> results in an ISO 8061 formatted month (e.g. "2025-03"
|
||||
for March 2025)</li>
|
||||
<li><code>{monthNumber}</code> results in a number like <code>9</code> for September,
|
||||
and <code>11</code> for November</li>
|
||||
<li><code>{monthNumberPadded}</code> results in a number like <code>09</code> for
|
||||
September, and <code>11</code> for November</li>
|
||||
<li><code>{month}</code> results in the full month name (e.g. <code>September</code> or <code>October</code>)</li>
|
||||
<li><code>{shortMonth3}</code> is replaced with the first 3 letters of the
|
||||
month, e.g. Jan, Feb, etc.</li>
|
||||
<li><code>{shortMonth4}</code> is replaced with the first 4 letters of the
|
||||
month, e.g. Sept, Octo, etc.</li>
|
||||
</ul>
|
||||
<p>The default is <code>{monthNumberPadded} - {month}</code>
|
||||
</p>
|
||||
<h3>Quarter pattern</h3>
|
||||
<p>It is also possible to customize the title of generated quarter notes
|
||||
through the <code>#quarterPattern</code> attribute on the root calendar note.
|
||||
The options are:</p>
|
||||
<ul>
|
||||
<li><code>{quarterNumber}</code> results in a number like <code>1</code> for
|
||||
the 1st quarter of the year</li>
|
||||
<li><code>{shortQuarter}</code> results in a short quarter string like <code>Q1</code> for
|
||||
the 1st quarter of the year</li>
|
||||
</ul>
|
||||
<p>The default is <code>Quarter {quarterNumber}</code>
|
||||
</p>
|
||||
<h3>Year pattern</h3>
|
||||
<p>It is also possible to customize the title of generated year notes through
|
||||
the <code>#yearPattern</code> attribute on the root calendar note. The options
|
||||
are:</p>
|
||||
<ul>
|
||||
<li><code>{year}</code> results in the full year (e.g. <code>2025</code>)</li>
|
||||
</ul>
|
||||
<p>The default is <code>{year}</code>
|
||||
</p>
|
||||
<h2>Implementation</h2>
|
||||
<p>Trilium has some special support for day notes in the form of <a href="https://triliumnext.github.io/Notes/backend_api/BackendScriptApi.html">backend Script API</a> -
|
||||
see e.g. getDayNote() function.</p>
|
||||
<p>Day (and year, month) notes are created with a label - e.g. <code>#dateNote="2025-03-09"</code> this
|
||||
can then be used by other scripts to add new notes to day note etc.</p>
|
||||
<p>Journal also has relation <code>child:child:child:template=Day template</code> (see
|
||||
[[attribute inheritance]]) which effectively adds [[template]] to day notes
|
||||
(grand-grand-grand children of Journal). Please note that, when you enable
|
||||
week notes or quarter notes, it will not automatically change the relation
|
||||
for the child level.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>A common pattern in note-taking is that a lot of notes will be centered
|
||||
around a certain date - e.g. you have some tasks which needs to be done
|
||||
on a certain date, you have meeting minutes from a certain date, you have
|
||||
your thoughts etc. and it all revolves around a date on which they occurred.
|
||||
For this reason, it makes sense to create a certain "day workspace" which
|
||||
will centralize all those notes relevant for a certain date.</p>
|
||||
<p>For this, Trilium provides a concept of "day note". Trilium semi-automatically
|
||||
generates a single note for each day. Under this note you can save all
|
||||
those relevant notes.</p>
|
||||
<p>Select an existing day note, and the menubar contains a calendar widget.
|
||||
Select any day to create a note for that day. </p>
|
||||
<p>
|
||||
<img src="1_Day Notes_image.png">
|
||||
</p>
|
||||
<p>This pattern works well also because of <a href="#root/_help_IakOLONlIfGI">Cloning Notes</a> functionality
|
||||
- note can appear in multiple places in the note tree, so besides appearing
|
||||
under day note, it can also be categorized into other notes.</p>
|
||||
<h2>Demo</h2>
|
||||
<p>
|
||||
<img src="Day Notes_image.png">
|
||||
</p>
|
||||
<p>You can see the structure of day notes appearing under "Journal" note
|
||||
- there's a note for the whole year 2025, under it, you have "03 - March"
|
||||
which then contains "09 - Monday". This is our "day note" which contains
|
||||
some text in its content and also has some child notes (some of them are
|
||||
from <a href="#root/_help_xYjQUYhpbUEW">Task manager</a>).</p>
|
||||
<p>You can also notice how this day note has <a href="#root/_help_OFXdgB2nNk1F">promoted attribute</a> "weight"
|
||||
where you can track your daily weight. This data is then used in <a href="#root/_help_R7abl2fc6Mxi">Weight tracker</a>.</p>
|
||||
<h2>Week Note and Quarter Note</h2>
|
||||
<p>Week and quarter notes are disabled by default, since it might be too
|
||||
much for some people. To enable them, you need to set <code>#enableWeekNotes</code> and <code>#enableQuarterNotes</code> attributes
|
||||
on the root calendar note, which is identified by <code>#calendarRoot</code> label.
|
||||
Week note is affected by the first week of year option. Be careful when
|
||||
you already have some week notes created, it will not automatically change
|
||||
the existing week notes and might lead to some duplicates.</p>
|
||||
<h2>Templates</h2>
|
||||
<p>Trilium provides <a href="#root/_help_KC1HB96bqqHX">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>
|
||||
<ul>
|
||||
<li>yearTemplate</li>
|
||||
<li>quarterTemplate (if <code>#enableQuarterNotes</code> is set)</li>
|
||||
<li>monthTemplate</li>
|
||||
<li>weekTemplate (if <code>#enableWeekNotes</code> is set)</li>
|
||||
<li>dateTemplate</li>
|
||||
</ul>
|
||||
<p>All of these are relations. When Trilium creates a new note for year or
|
||||
month or date, it will take a look at the root and attach a corresponding <code>~template</code> relation
|
||||
to the newly created role. Using this, you can e.g. create your daily template
|
||||
with e.g. checkboxes for daily routine etc.</p>
|
||||
<h2>Naming pattern</h2>
|
||||
<p>You can customize the title of generated journal notes by defining a <code>#datePattern</code>, <code>#weekPattern</code>, <code>#monthPattern</code>, <code>#quarterPattern</code> and <code>#yearPattern</code> attribute
|
||||
on a root calendar note (identified by <code>#calendarRoot</code> label).
|
||||
The naming pattern replacements follow a level-up compatibility - each
|
||||
level can use replacements from itself and all levels above it. For example, <code>#monthPattern</code> can
|
||||
use month, quarter and year replacements, while <code>#weekPattern</code> can
|
||||
use week, month, quarter and year replacements. But it is not possible
|
||||
to use week replacements in <code>#monthPattern</code>.</p>
|
||||
<h3>Date pattern</h3>
|
||||
<p>It's possible to customize the title of generated date notes by defining
|
||||
a <code>#datePattern</code> attribute on a root calendar note (identified
|
||||
by <code>#calendarRoot</code> label). Following are possible values:</p>
|
||||
<ul>
|
||||
<li><code>{isoDate}</code> results in an ISO 8061 formatted date (e.g. "2025-03-09"
|
||||
for March 9, 2025)</li>
|
||||
<li><code>{dateNumber}</code> results in a number like <code>9</code> for the
|
||||
9th day of the month, <code>11</code> for the 11th day of the month</li>
|
||||
<li><code>{dateNumberPadded}</code> results in a number like <code>09</code> for
|
||||
the 9th day of the month, <code>11</code> for the 11th day of the month</li>
|
||||
<li><code>{ordinal}</code> is replaced with the ordinal date (e.g. 1st, 2nd,
|
||||
3rd) etc.</li>
|
||||
<li><code>{weekDay}</code> results in the full day name (e.g. <code>Monday</code>)</li>
|
||||
<li><code>{weekDay3}</code> is replaced with the first 3 letters of the day,
|
||||
e.g. Mon, Tue, etc.</li>
|
||||
<li><code>{weekDay2}</code> is replaced with the first 2 letters of the day,
|
||||
e.g. Mo, Tu, etc.</li>
|
||||
</ul>
|
||||
<p>The default is <code>{dateNumberPadded} - {weekDay}</code>
|
||||
</p>
|
||||
<h3>Week pattern</h3>
|
||||
<p>It is also possible to customize the title of generated week notes through
|
||||
the <code>#weekPattern</code> attribute on the root calendar note. The options
|
||||
are:</p>
|
||||
<ul>
|
||||
<li><code>{weekNumber}</code> results in a number like <code>9</code> for the
|
||||
9th week of the year, <code>11</code> for the 11th week of the year</li>
|
||||
<li><code>{weekNumberPadded}</code> results in a number like <code>09</code> for
|
||||
the 9th week of the year, <code>11</code> for the 11th week of the year</li>
|
||||
<li><code>{shortWeek}</code> results in a short week string like <code>W9</code> for
|
||||
the 9th week of the year, <code>W11</code> for the 11th week of the year</li>
|
||||
<li><code>{shortWeek3}</code> results in a short week string like <code>W09</code> for
|
||||
the 9th week of the year, <code>W11</code> for the 11th week of the year</li>
|
||||
</ul>
|
||||
<p>The default is <code>Week {weekNumber}</code>
|
||||
</p>
|
||||
<h3>Month pattern</h3>
|
||||
<p>It is also possible to customize the title of generated month notes through
|
||||
the <code>#monthPattern</code> attribute on the root calendar note. The options
|
||||
are:</p>
|
||||
<ul>
|
||||
<li><code>{isoMonth}</code> results in an ISO 8061 formatted month (e.g. "2025-03"
|
||||
for March 2025)</li>
|
||||
<li><code>{monthNumber}</code> results in a number like <code>9</code> for September,
|
||||
and <code>11</code> for November</li>
|
||||
<li><code>{monthNumberPadded}</code> results in a number like <code>09</code> for
|
||||
September, and <code>11</code> for November</li>
|
||||
<li><code>{month}</code> results in the full month name (e.g. <code>September</code> or <code>October</code>)</li>
|
||||
<li><code>{shortMonth3}</code> is replaced with the first 3 letters of the
|
||||
month, e.g. Jan, Feb, etc.</li>
|
||||
<li><code>{shortMonth4}</code> is replaced with the first 4 letters of the
|
||||
month, e.g. Sept, Octo, etc.</li>
|
||||
</ul>
|
||||
<p>The default is <code>{monthNumberPadded} - {month}</code>
|
||||
</p>
|
||||
<h3>Quarter pattern</h3>
|
||||
<p>It is also possible to customize the title of generated quarter notes
|
||||
through the <code>#quarterPattern</code> attribute on the root calendar note.
|
||||
The options are:</p>
|
||||
<ul>
|
||||
<li><code>{quarterNumber}</code> results in a number like <code>1</code> for
|
||||
the 1st quarter of the year</li>
|
||||
<li><code>{shortQuarter}</code> results in a short quarter string like <code>Q1</code> for
|
||||
the 1st quarter of the year</li>
|
||||
</ul>
|
||||
<p>The default is <code>Quarter {quarterNumber}</code>
|
||||
</p>
|
||||
<h3>Year pattern</h3>
|
||||
<p>It is also possible to customize the title of generated year notes through
|
||||
the <code>#yearPattern</code> attribute on the root calendar note. The options
|
||||
are:</p>
|
||||
<ul>
|
||||
<li><code>{year}</code> results in the full year (e.g. <code>2025</code>)</li>
|
||||
</ul>
|
||||
<p>The default is <code>{year}</code>
|
||||
</p>
|
||||
<h2>Implementation</h2>
|
||||
<p>Trilium has some special support for day notes in the form of <a href="https://triliumnext.github.io/Notes/backend_api/BackendScriptApi.html">backend Script API</a> -
|
||||
see e.g. getDayNote() function.</p>
|
||||
<p>Day (and year, month) notes are created with a label - e.g. <code>#dateNote="2025-03-09"</code> this
|
||||
can then be used by other scripts to add new notes to day note etc.</p>
|
||||
<p>Journal also has relation <code>child:child:child:template=Day template</code> (see
|
||||
[[attribute inheritance]]) which effectively adds [[template]] to day notes
|
||||
(grand-grand-grand children of Journal). Please note that, when you enable
|
||||
week notes or quarter notes, it will not automatically change the relation
|
||||
for the child level.</p>
|
||||
@@ -1,48 +1,33 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Task Manager</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Task Manager</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Task Manager is a <a href="#root/_help_OFXdgB2nNk1F">promoted attributes</a> and
|
||||
<a
|
||||
href="#root/_help_CdNpE2pqjmI6">scripts</a>showcase present in the <a href="#root/_help_wX4HbRucYSDD">demo notes</a>.</p>
|
||||
<h2>Demo</h2>
|
||||
<p>
|
||||
<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
|
||||
and arbitrary tags - whenever you change tag attribute in the task note,
|
||||
this task is then automatically moved to appropriate location.</p>
|
||||
<p>Task Manager also integrates with <a href="#root/_help_l0tKav7yLHGF">day notes</a> -
|
||||
notes are <a href="#root/_help_IakOLONlIfGI">cloned</a> into day note to
|
||||
both todoDate note and doneDate note (with <a href="#root/_help_kBrnXNG3Hplm">prefix</a> of
|
||||
either "TODO" or "DONE").</p>
|
||||
<h2>Implementation</h2>
|
||||
<p>New tasks are created in the TODO note which has <code>~child:template</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">relation</a>(see <a href="#root/_help_bwZpz2ajCEwO">attribute inheritance</a>)
|
||||
pointing to the task template.</p>
|
||||
<h3>Attributes</h3>
|
||||
<p>Task template defines several <a href="#root/_help_OFXdgB2nNk1F">promoted attributes</a> -
|
||||
todoDate, doneDate, tags, location. Importantly it also defines <code>~runOnAttributeChange</code> relation
|
||||
- <a href="#root/_help_GPERMystNGTB">event</a> handler which is run on attribute
|
||||
change. This <a href="#root/_help_CdNpE2pqjmI6">script</a> handles when e.g.
|
||||
we fill out the doneDate attribute - meaning the task is done and should
|
||||
be moved to "Done" note and removed from TODO, locations and tags.</p>
|
||||
<h3>New task button</h3>
|
||||
<p>There's also "button" note which contains simple script which adds a button
|
||||
to create new note (task) in the TODO note.</p><pre><code class="language-text-x-trilium-auto">api.addButtonToToolbar({
|
||||
<p>Task Manager is a <a href="#root/_help_OFXdgB2nNk1F">promoted attributes</a> and
|
||||
<a
|
||||
href="#root/_help_CdNpE2pqjmI6">scripts</a>showcase present in the <a href="#root/_help_wX4HbRucYSDD">demo notes</a>.</p>
|
||||
<h2>Demo</h2>
|
||||
<p>
|
||||
<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
|
||||
and arbitrary tags - whenever you change tag attribute in the task note,
|
||||
this task is then automatically moved to appropriate location.</p>
|
||||
<p>Task Manager also integrates with <a href="#root/_help_l0tKav7yLHGF">day notes</a> -
|
||||
notes are <a href="#root/_help_IakOLONlIfGI">cloned</a> into day note to
|
||||
both todoDate note and doneDate note (with <a href="#root/_help_kBrnXNG3Hplm">prefix</a> of
|
||||
either "TODO" or "DONE").</p>
|
||||
<h2>Implementation</h2>
|
||||
<p>New tasks are created in the TODO note which has <code>~child:template</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">relation</a>(see <a href="#root/_help_bwZpz2ajCEwO">attribute inheritance</a>)
|
||||
pointing to the task template.</p>
|
||||
<h3>Attributes</h3>
|
||||
<p>Task template defines several <a href="#root/_help_OFXdgB2nNk1F">promoted attributes</a> -
|
||||
todoDate, doneDate, tags, location. Importantly it also defines <code>~runOnAttributeChange</code> relation
|
||||
- <a href="#root/_help_GPERMystNGTB">event</a> handler which is run on attribute
|
||||
change. This <a href="#root/_help_CdNpE2pqjmI6">script</a> handles when e.g.
|
||||
we fill out the doneDate attribute - meaning the task is done and should
|
||||
be moved to "Done" note and removed from TODO, locations and tags.</p>
|
||||
<h3>New task button</h3>
|
||||
<p>There's also "button" note which contains simple script which adds a button
|
||||
to create new note (task) in the TODO note.</p><pre><code class="language-text-x-trilium-auto">api.addButtonToToolbar({
|
||||
title: 'New task',
|
||||
icon: 'check',
|
||||
shortcut: 'alt+n',
|
||||
@@ -60,26 +45,21 @@
|
||||
await api.activateNewNote(taskNoteId);
|
||||
}
|
||||
});</code></pre>
|
||||
<h3>CSS</h3>
|
||||
<p>In the demo screenshot above you may notice that TODO tasks are in red
|
||||
color and DONE tasks are green.</p>
|
||||
<p>This is done by having this CSS <a href="#root/_help_6f9hih2hXXZk">code note</a> which
|
||||
defines extra CSS classes:</p><pre><code class="language-text-x-trilium-auto">span.fancytree-node.todo .fancytree-title {
|
||||
<h3>CSS</h3>
|
||||
<p>In the demo screenshot above you may notice that TODO tasks are in red
|
||||
color and DONE tasks are green.</p>
|
||||
<p>This is done by having this CSS <a href="#root/_help_6f9hih2hXXZk">code note</a> which
|
||||
defines extra CSS classes:</p><pre><code class="language-text-x-trilium-auto">span.fancytree-node.todo .fancytree-title {
|
||||
color: red !important;
|
||||
}
|
||||
|
||||
span.fancytree-node.done .fancytree-title {
|
||||
color: green !important;
|
||||
}</code></pre>
|
||||
<p>This <a href="#root/_help_6f9hih2hXXZk">code note</a> has <code>#appCss</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">label</a>which is recognized by Trilium on startup and loaded as CSS into
|
||||
the application.</p>
|
||||
<p>Second part of this functionality is based in event handler described
|
||||
above which assigns <code>#cssClass</code> label to the task to either "done"
|
||||
or "todo" based on the task status.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>This <a href="#root/_help_6f9hih2hXXZk">code note</a> has <code>#appCss</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">label</a>which is recognized by Trilium on startup and loaded as CSS into
|
||||
the application.</p>
|
||||
<p>Second part of this functionality is based in event handler described
|
||||
above which assigns <code>#cssClass</code> label to the task to either "done"
|
||||
or "todo" based on the task status.</p>
|
||||
@@ -1,43 +1,28 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Weight Tracker</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Weight Tracker</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>
|
||||
<img src="Weight Tracker_image.png">
|
||||
</p>
|
||||
<p>The <code>Weight Tracker</code> is a <a href="#root/_help_GLks18SNjxmC">Script API</a> showcase
|
||||
present in the <a href="#root/_help_wX4HbRucYSDD">demo notes</a>.</p>
|
||||
<p>By adding <code>weight</code> as a <a href="#root/_help_OFXdgB2nNk1F">promoted attribute</a> in
|
||||
the <a href="#root/_help_KC1HB96bqqHX">template</a> from which <a href="#root/_help_l0tKav7yLHGF">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>.
|
||||
That type of note doesn't have any useful content itself. Instead it is
|
||||
a placeholder where a <a href="#root/_help_CdNpE2pqjmI6">script</a> can render
|
||||
its output.</p>
|
||||
<p>Scripts for <code>Render Notes</code> are defined in a <a href="#root/_help_zEY4DaJG4YT5">relation</a> called <code>~renderNote</code>.
|
||||
In this example, it's the <code>Weight Tracker</code>'s child <code>Implementation</code>.
|
||||
The Implementation consists of two <a href="#root/_help_6f9hih2hXXZk">code notes</a> that
|
||||
contain some HTML and JavaScript respectively, which load all the notes
|
||||
with a <code>weight</code> attribute and display their values in a chart.</p>
|
||||
<p>To actually render the chart, we're using a third party library called
|
||||
<a
|
||||
href="https://www.chartjs.org/">chart.js</a>which is imported as an attachment, since it's not built into
|
||||
Trilium.</p>
|
||||
<h3>Code</h3>
|
||||
<p>Here's the content of the script which is placed in a <a href="#root/_help_6f9hih2hXXZk">code note</a> of
|
||||
type <code>JS Frontend</code>:</p><pre><code class="language-text-x-trilium-auto">async function getChartData() {
|
||||
<p>
|
||||
<img src="Weight Tracker_image.png">
|
||||
</p>
|
||||
<p>The <code>Weight Tracker</code> is a <a href="#root/_help_GLks18SNjxmC">Script API</a> showcase
|
||||
present in the <a href="#root/_help_wX4HbRucYSDD">demo notes</a>.</p>
|
||||
<p>By adding <code>weight</code> as a <a href="#root/_help_OFXdgB2nNk1F">promoted attribute</a> in
|
||||
the <a href="#root/_help_KC1HB96bqqHX">template</a> from which <a href="#root/_help_l0tKav7yLHGF">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>.
|
||||
That type of note doesn't have any useful content itself. Instead it is
|
||||
a placeholder where a <a href="#root/_help_CdNpE2pqjmI6">script</a> can render
|
||||
its output.</p>
|
||||
<p>Scripts for <code>Render Notes</code> are defined in a <a href="#root/_help_zEY4DaJG4YT5">relation</a> called <code>~renderNote</code>.
|
||||
In this example, it's the <code>Weight Tracker</code>'s child <code>Implementation</code>.
|
||||
The Implementation consists of two <a href="#root/_help_6f9hih2hXXZk">code notes</a> that
|
||||
contain some HTML and JavaScript respectively, which load all the notes
|
||||
with a <code>weight</code> attribute and display their values in a chart.</p>
|
||||
<p>To actually render the chart, we're using a third party library called
|
||||
<a
|
||||
href="https://www.chartjs.org/">chart.js</a>which is imported as an attachment, since it's not built into
|
||||
Trilium.</p>
|
||||
<h3>Code</h3>
|
||||
<p>Here's the content of the script which is placed in a <a href="#root/_help_6f9hih2hXXZk">code note</a> of
|
||||
type <code>JS Frontend</code>:</p><pre><code class="language-text-x-trilium-auto">async function getChartData() {
|
||||
const days = await api.runOnBackend(async () => {
|
||||
const notes = api.getNotesWithLabel('weight');
|
||||
const days = [];
|
||||
@@ -82,12 +67,7 @@ new chartjs.Chart(ctx, {
|
||||
type: 'line',
|
||||
data: await getChartData()
|
||||
});</code></pre>
|
||||
<h2>How to remove the Weight Tracker button from the top bar</h2>
|
||||
<p>In the link map of the <code>Weight Tracker</code>, there is a note called <code>Button</code>.
|
||||
Open it and delete or comment out its contents. The <code>Weight Tracker</code> button
|
||||
will disappear after you restart Trilium.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>How to remove the Weight Tracker button from the top bar</h2>
|
||||
<p>In the link map of the <code>Weight Tracker</code>, there is a note called <code>Button</code>.
|
||||
Open it and delete or comment out its contents. The <code>Weight Tracker</code> button
|
||||
will disappear after you restart Trilium.</p>
|
||||
@@ -1,64 +1,44 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Attributes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Attributes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image">
|
||||
<img style="aspect-ratio:1071/146;" src="Attributes_image.png" width="1071"
|
||||
height="146">
|
||||
</figure>
|
||||
<p>In Trilium, attributes are key-value pairs assigned to notes, providing
|
||||
additional metadata or functionality. There are two primary types of attributes:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p><a class="reference-link" href="#root/_help_HI6GBBIduIgv">Labels</a> can
|
||||
be used for a variety of purposes, such as storing metadata or configuring
|
||||
the behaviour of notes. Labels are also searchable, enhancing note retrieval.</p>
|
||||
<p>For more information, including predefined labels, see <a class="reference-link"
|
||||
href="#root/_help_HI6GBBIduIgv">Labels</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a> define
|
||||
connections between notes, similar to links. These can be used for metadata
|
||||
and scripting purposes.</p>
|
||||
<p>For more information, including a list of predefined relations, see
|
||||
<a
|
||||
class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a>.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>These attributes play a crucial role in organizing, categorising, and
|
||||
enhancing the functionality of notes.</p>
|
||||
<h2>Viewing the list of attributes</h2>
|
||||
<p>Both the labels and relations for the current note are displayed in the <em>Owned Attributes</em> section
|
||||
of the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>,
|
||||
where they can be viewed and edited. Inherited attributes are displayed
|
||||
in the <em>Inherited Attributes</em> section of the ribbon, where they can
|
||||
only be viewed.</p>
|
||||
<p>In the list of attributes, labels are prefixed with the <code>#</code> character
|
||||
whereas relations are prefixed with the <code>~</code> character.</p>
|
||||
<h2>Multiplicity</h2>
|
||||
<p>Attributes in Trilium can be "multi-valued", meaning multiple attributes
|
||||
with the same name can co-exist.</p>
|
||||
<h2>Attribute Definitions and Promoted Attributes</h2>
|
||||
<p>Special labels create "label/attribute" definitions, enhancing the organization
|
||||
and management of attributes. For more details, see <a class="reference-link"
|
||||
href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>.</p>
|
||||
<h2>Attribute Inheritance</h2>
|
||||
<p>Trilium supports attribute inheritance, allowing child notes to inherit
|
||||
attributes from their parents. For more information, see <a class="reference-link"
|
||||
href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<figure class="image">
|
||||
<img style="aspect-ratio:1071/146;" src="Attributes_image.png" width="1071"
|
||||
height="146">
|
||||
</figure>
|
||||
<p>In Trilium, attributes are key-value pairs assigned to notes, providing
|
||||
additional metadata or functionality. There are two primary types of attributes:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p><a class="reference-link" href="#root/_help_HI6GBBIduIgv">Labels</a> can
|
||||
be used for a variety of purposes, such as storing metadata or configuring
|
||||
the behaviour of notes. Labels are also searchable, enhancing note retrieval.</p>
|
||||
<p>For more information, including predefined labels, see <a class="reference-link"
|
||||
href="#root/_help_HI6GBBIduIgv">Labels</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a> define
|
||||
connections between notes, similar to links. These can be used for metadata
|
||||
and scripting purposes.</p>
|
||||
<p>For more information, including a list of predefined relations, see
|
||||
<a
|
||||
class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a>.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>These attributes play a crucial role in organizing, categorising, and
|
||||
enhancing the functionality of notes.</p>
|
||||
<h2>Viewing the list of attributes</h2>
|
||||
<p>Both the labels and relations for the current note are displayed in the <em>Owned Attributes</em> section
|
||||
of the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>,
|
||||
where they can be viewed and edited. Inherited attributes are displayed
|
||||
in the <em>Inherited Attributes</em> section of the ribbon, where they can
|
||||
only be viewed.</p>
|
||||
<p>In the list of attributes, labels are prefixed with the <code>#</code> character
|
||||
whereas relations are prefixed with the <code>~</code> character.</p>
|
||||
<h2>Multiplicity</h2>
|
||||
<p>Attributes in Trilium can be "multi-valued", meaning multiple attributes
|
||||
with the same name can co-exist.</p>
|
||||
<h2>Attribute Definitions and Promoted Attributes</h2>
|
||||
<p>Special labels create "label/attribute" definitions, enhancing the organization
|
||||
and management of attributes. For more details, see <a class="reference-link"
|
||||
href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>.</p>
|
||||
<h2>Attribute Inheritance</h2>
|
||||
<p>Trilium supports attribute inheritance, allowing child notes to inherit
|
||||
attributes from their parents. For more information, see <a class="reference-link"
|
||||
href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a>.</p>
|
||||
@@ -1,70 +1,50 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Attribute Inheritance</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Attribute Inheritance</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Inheritance refers to the process of having a <a href="#root/_help_HI6GBBIduIgv">label</a> or
|
||||
a <a href="#root/_help_Cq5X6iKQop6R">relation</a> shared across multiple
|
||||
notes, generally in parent-child relations (or anywhere if using templates).</p>
|
||||
<h2>Standard Inheritance</h2>
|
||||
<p>In Trilium, attributes can be automatically inherited by child notes if
|
||||
they have the <code>isInheritable</code> flag set to <code>true</code>. This
|
||||
means the attribute (a key-value pair) is applied to the note and all its
|
||||
descendants.</p>
|
||||
<p>To make an attribute inheritable, simply use the visual editor for
|
||||
<a
|
||||
class="reference-link" href="#root/_help_HI6GBBIduIgv">Labels</a> or <a class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a>.
|
||||
Alternatively, the attribute can be manually defined where <code>#myLabel=value</code> becomes <code>#myLabel(inheritable)=value</code> when
|
||||
inheritable.</p>
|
||||
<p>As an example, the <code>archived</code> label can be set to be inheritable,
|
||||
allowing you to hide a whole subtree of notes from searches and other dialogs
|
||||
by applying this label at the top level.</p>
|
||||
<p>Standard inheritance forces all the notes that are children (and sub-children)
|
||||
of a note to have that particular label or relation. If there is a need
|
||||
to have some notes not inherit one of the labels, then <em>copying inheritance</em> or <em>template inheritance</em> needs
|
||||
to be used instead.</p>
|
||||
<h2>Copying Inheritance</h2>
|
||||
<p>Copying inheritance differs from standard inheritance by using a <code>child:</code> prefix
|
||||
in the attribute name. This prefix causes new child notes to automatically
|
||||
receive specific attributes from the parent note. These attributes are
|
||||
independent of the parent and will persist even if the note is moved elsewhere.</p>
|
||||
<p>If a parent note has the label <code>#child:exampleAttribute</code>, all
|
||||
newly created child notes (one level deep) will inherit the <code>#exampleAttribute</code> label.
|
||||
This can be useful for setting default properties for notes in a specific
|
||||
section.</p>
|
||||
<p>Similarly, for relations use <code>~child:myRelation</code>.</p>
|
||||
<p>Due to the way it's designed, copying inheritance cannot be used to cascade
|
||||
infinitely within a hierarchy. For that use case, consider using either
|
||||
standard inheritance or templates.</p>
|
||||
<h3>Chained inheritance</h3>
|
||||
<p>It is possible to define labels across multiple levels of depth. For example, <code>#child:child:child:foo</code> applied
|
||||
to a root note would create:</p>
|
||||
<ul>
|
||||
<li><code>#child:child:foo</code> on the first-level children.</li>
|
||||
<li><code>#child:foo</code> on the second-level children.</li>
|
||||
<li><code>#foo</code> on the third-level children.</li>
|
||||
</ul>
|
||||
<p>Similarly, use <code>~child:child:child:foo</code> if dealing with relations.</p>
|
||||
<p>Do note that same as simple copying inheritance, the changes will not
|
||||
apply retroactively to existing notes in the hierarchy, it will only apply
|
||||
to the newly created notes.</p>
|
||||
<h2>Template Inheritance</h2>
|
||||
<p>Attributes can also be inherited from <a class="reference-link" href="#root/_help_KC1HB96bqqHX">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>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Inheritance refers to the process of having a <a href="#root/_help_HI6GBBIduIgv">label</a> or
|
||||
a <a href="#root/_help_Cq5X6iKQop6R">relation</a> shared across multiple
|
||||
notes, generally in parent-child relations (or anywhere if using templates).</p>
|
||||
<h2>Standard Inheritance</h2>
|
||||
<p>In Trilium, attributes can be automatically inherited by child notes if
|
||||
they have the <code>isInheritable</code> flag set to <code>true</code>. This
|
||||
means the attribute (a key-value pair) is applied to the note and all its
|
||||
descendants.</p>
|
||||
<p>To make an attribute inheritable, simply use the visual editor for
|
||||
<a
|
||||
class="reference-link" href="#root/_help_HI6GBBIduIgv">Labels</a> or <a class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a>.
|
||||
Alternatively, the attribute can be manually defined where <code>#myLabel=value</code> becomes <code>#myLabel(inheritable)=value</code> when
|
||||
inheritable.</p>
|
||||
<p>As an example, the <code>archived</code> label can be set to be inheritable,
|
||||
allowing you to hide a whole subtree of notes from searches and other dialogs
|
||||
by applying this label at the top level.</p>
|
||||
<p>Standard inheritance forces all the notes that are children (and sub-children)
|
||||
of a note to have that particular label or relation. If there is a need
|
||||
to have some notes not inherit one of the labels, then <em>copying inheritance</em> or <em>template inheritance</em> needs
|
||||
to be used instead.</p>
|
||||
<h2>Copying Inheritance</h2>
|
||||
<p>Copying inheritance differs from standard inheritance by using a <code>child:</code> prefix
|
||||
in the attribute name. This prefix causes new child notes to automatically
|
||||
receive specific attributes from the parent note. These attributes are
|
||||
independent of the parent and will persist even if the note is moved elsewhere.</p>
|
||||
<p>If a parent note has the label <code>#child:exampleAttribute</code>, all
|
||||
newly created child notes (one level deep) will inherit the <code>#exampleAttribute</code> label.
|
||||
This can be useful for setting default properties for notes in a specific
|
||||
section.</p>
|
||||
<p>Similarly, for relations use <code>~child:myRelation</code>.</p>
|
||||
<p>Due to the way it's designed, copying inheritance cannot be used to cascade
|
||||
infinitely within a hierarchy. For that use case, consider using either
|
||||
standard inheritance or templates.</p>
|
||||
<h3>Chained inheritance</h3>
|
||||
<p>It is possible to define labels across multiple levels of depth. For example, <code>#child:child:child:foo</code> applied
|
||||
to a root note would create:</p>
|
||||
<ul>
|
||||
<li><code>#child:child:foo</code> on the first-level children.</li>
|
||||
<li><code>#child:foo</code> on the second-level children.</li>
|
||||
<li><code>#foo</code> on the third-level children.</li>
|
||||
</ul>
|
||||
<p>Similarly, use <code>~child:child:child:foo</code> if dealing with relations.</p>
|
||||
<p>Do note that same as simple copying inheritance, the changes will not
|
||||
apply retroactively to existing notes in the hierarchy, it will only apply
|
||||
to the newly created notes.</p>
|
||||
<h2>Template Inheritance</h2>
|
||||
<p>Attributes can also be inherited from <a class="reference-link" href="#root/_help_KC1HB96bqqHX">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>
|
||||
@@ -1,405 +1,385 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Labels</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Labels</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>A label is an <a href="#root/_help_zEY4DaJG4YT5">attribute</a> of a note
|
||||
which has a name and optionally a value.</p>
|
||||
<h2>Common use cases</h2>
|
||||
<ul>
|
||||
<li><strong>Metadata for personal use</strong>: Assign labels with optional
|
||||
values for categorization, such as <code>#year=1999</code>, <code>#genre="sci-fi"</code>,
|
||||
or <code>#author="Neal Stephenson"</code>. This can be combined with
|
||||
<a
|
||||
class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> to make their display more user-friendly.</li>
|
||||
<li><strong>Configuration</strong>: Labels can configure advanced features
|
||||
or settings (see reference below).</li>
|
||||
<li><strong>Scripts and Plugins</strong>: Used to tag notes with special metadata,
|
||||
such as the "weight" attribute in the <a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>.</li>
|
||||
</ul>
|
||||
<h2>Creating a label using the visual editor</h2>
|
||||
<ol>
|
||||
<li>Go to the <em>Owned Attributes</em> section in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>.</li>
|
||||
<li>Press the + button (<em>Add new attribute</em>) to the right.</li>
|
||||
<li>Select <em>Add new label</em> for the relation.</li>
|
||||
</ol>
|
||||
<aside class="admonition tip">
|
||||
<p>If you prefer keyboard shortcuts, press <kbd>Alt</kbd>+<kbd>L</kbd> while
|
||||
focused on a note or in the <em>Owned Attributes</em> section to display
|
||||
the visual editor.</p>
|
||||
</aside>
|
||||
<p>While in the visual editor:</p>
|
||||
<ul>
|
||||
<li>Set the desired name</li>
|
||||
<li>Optionally, set the value of the label. Labels can exist without a value.</li>
|
||||
<li>Check <em>Inheritable</em> if the label should be inherited by the child
|
||||
notes as well. See <a class="reference-link" href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a> for
|
||||
more information.</li>
|
||||
</ul>
|
||||
<h2>Creating a label manually</h2>
|
||||
<p>In the <em>Owned Attributes</em> section in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>:</p>
|
||||
<ul>
|
||||
<li>To create a label called <code>myLabel</code> with no value, simply type <code>#myLabel</code>.</li>
|
||||
<li>To create a label called <code>myLabel</code> with a value <code>value</code>,
|
||||
simply type <code>#myLabel=value</code>.</li>
|
||||
<li>If the value contains spaces, then the text must be quoted: <code>#myLabel="Hello world"</code>.</li>
|
||||
<li>If the string contains quotes (regardless of whether it has spaces), then
|
||||
the text must be quoted with apostrophes instead: <code>#myLabel='Hello "world"'</code>.</li>
|
||||
<li>To create an inheritable label called <code>myLabel</code>, simply write <code>#myLabel(inheritable)</code> for
|
||||
no value or <code>#myLabel(inheritable)=value</code> if there is a value.</li>
|
||||
</ul>
|
||||
<h2>Predefined labels</h2>
|
||||
<p>This is a list of labels that Trilium natively supports.</p>
|
||||
<aside class="admonition tip">
|
||||
<p>Some labels presented here end with a <code>*</code>. That means that there
|
||||
are multiple labels with the same prefix, consult the specific page linked
|
||||
in the description of that label for more information.</p>
|
||||
</aside>
|
||||
<figure class="table" style="width:100%;">
|
||||
<table class="ck-table-resized">
|
||||
<colgroup>
|
||||
<col style="width:33.82%;">
|
||||
<col style="width:66.18%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Label</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>disableVersioning</code>
|
||||
</td>
|
||||
<td>Disables automatic creation of <a class="reference-link" href="#root/_help_vZWERwf8U3nx">Note Revisions</a> for
|
||||
a particular note. Useful for e.g. large, but unimportant notes - e.g.
|
||||
large JS libraries used for scripting.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>versioningLimit</code>
|
||||
</td>
|
||||
<td>Limits the maximum number of <a class="reference-link" href="#root/_help_vZWERwf8U3nx">Note Revisions</a> for
|
||||
a particular note, overriding the global settings.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>calendarRoot</code>
|
||||
</td>
|
||||
<td>Marks the note which should be used as root for <a class="reference-link"
|
||||
href="#root/_help_l0tKav7yLHGF">Day Notes</a>. Only one should be marked
|
||||
as such.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>archived</code>
|
||||
</td>
|
||||
<td>Hides notes from default search results and dialogs. Archived notes can
|
||||
optionally be hidden in the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>excludeFromExport</code>
|
||||
</td>
|
||||
<td>Excludes this note and its children when exporting.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>run</code>, <code>runOnInstance</code>, <code>runAtHour</code>
|
||||
</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_GPERMystNGTB">Events</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>disableInclusion</code>
|
||||
</td>
|
||||
<td>Scripts with this label won't be included into parent script execution.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sorted</code>
|
||||
</td>
|
||||
<td>
|
||||
<p>Keeps child notes sorted by title alphabetically.</p>
|
||||
<p>When given a value, it will sort by the value of another label instead.
|
||||
If one of the child notes doesn't have the specified label, the title will
|
||||
be used for them instead.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sortDirection</code>
|
||||
</td>
|
||||
<td>
|
||||
<p>If <code>sorted</code> is applied, specifies the direction of the sort:</p>
|
||||
<ul>
|
||||
<li><code>ASC</code>, ascending (default)</li>
|
||||
<li><code>DESC</code>, descending</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sortFoldersFirst</code>
|
||||
</td>
|
||||
<td>If <code>sorted</code> is applied, folders (notes with children) will be
|
||||
sorted as a group at the top, and the rest will be sorted.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>top</code>
|
||||
</td>
|
||||
<td>If <code>sorted</code> is applied to the parent note, keeps given note on
|
||||
top in its parent.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hidePromotedAttributes</code>
|
||||
</td>
|
||||
<td>Hide <a class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> on
|
||||
this note. Generally useful when defining inherited attributes, but the
|
||||
parent note doesn't need them.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>readOnly</code>
|
||||
</td>
|
||||
<td>Marks a note to be always be <a href="#root/_help_CoFPLs3dRlXc">read-only</a>,
|
||||
if it's a supported note (text, code, mermaid).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>autoReadOnlyDisabled</code>
|
||||
</td>
|
||||
<td>Disables automatic <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> for
|
||||
the given note.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>appCss</code>
|
||||
</td>
|
||||
<td>Marks CSS notes which are loaded into the Trilium application and can
|
||||
thus be used to modify Trilium's looks. See <a class="reference-link"
|
||||
href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a> for more info.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>appTheme</code>
|
||||
</td>
|
||||
<td>Marks CSS notes which are full Trilium themes and are thus available in
|
||||
Trilium options. See <a class="reference-link" href="#root/_help_pKK96zzmvBGf">Theme development</a> for
|
||||
more information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>appThemeBase</code>
|
||||
</td>
|
||||
<td>Set to <code>next</code>, <code>next-light</code>, or <code>next-dark</code> to
|
||||
use the corresponding TriliumNext theme (auto, light or dark) as the base
|
||||
for a custom theme, instead of the legacy one. See <a class="reference-link"
|
||||
href="#root/_help_WFGzWeUK6arS">Customize the Next theme</a> for more
|
||||
information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>cssClass</code>
|
||||
</td>
|
||||
<td>Value of this label is then added as CSS class to the node representing
|
||||
given note in the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.
|
||||
This can be useful for advanced theming. Can be used in template notes.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>iconClass</code>
|
||||
</td>
|
||||
<td>value of this label is added as a CSS class to the icon on the tree which
|
||||
can help visually distinguish the notes in the tree. Example might be bx
|
||||
bx-home - icons are taken from boxicons. Can be used in template notes.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>pageSize</code>
|
||||
</td>
|
||||
<td>Specifies the number of items per page in <a class="reference-link"
|
||||
href="#root/_help_0ESUbbAxVnoK">Note List</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>customRequestHandler</code>
|
||||
</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_J5Ex1ZrMbyJ6">Custom Request Handler</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>customResourceProvider</code>
|
||||
</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_d3fAXQ2diepH">Custom Resource Providers</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>widget</code>
|
||||
</td>
|
||||
<td>Marks this note as a custom widget which will be added to the Trilium
|
||||
component tree. See <a class="reference-link" href="#root/_help_MgibgPcfeuGz">Custom Widgets</a> for
|
||||
more information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>searchHome</code>
|
||||
</td>
|
||||
<td>New search notes will be created as children of this note (see
|
||||
<a
|
||||
class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>workspace</code> and related attributes</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_9sRHySam5fXb">Workspaces</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>inbox</code>
|
||||
</td>
|
||||
<td>default inbox location for new notes - when you create a note using <em>new note</em> button
|
||||
in the sidebar, notes will be created as child notes in the note marked
|
||||
as with <code>#inbox</code> label.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sqlConsoleHome</code>
|
||||
</td>
|
||||
<td>Default location of <a class="reference-link" href="#root/_hidden/_help/_help_tC7s2alapj8V/_help_wX4HbRucYSDD/_help_oyIAJ9PvvwHX/_help__help_YKWqdJhzi2VY">SQL Console</a> notes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>bookmarked</code>
|
||||
</td>
|
||||
<td>Indicates this note is a <a href="#root/_help_u3YFHC9tQlpm">bookmark</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>bookmarkFolder</code>
|
||||
</td>
|
||||
<td>Note with this label will appear in bookmarks as folder (allowing access
|
||||
to its children). See <a class="reference-link" href="#root/_help_u3YFHC9tQlpm">Bookmarks</a> for
|
||||
more information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>share*</code>
|
||||
</td>
|
||||
<td>See the attribute reference in <a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>displayRelations</code>, <code>hideRelations</code>
|
||||
</td>
|
||||
<td>Comma delimited names of relations which should be displayed/hidden in
|
||||
a <a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a> (both
|
||||
the note type and the <a class="reference-link" href="#root/_help_BCkXAVs63Ttv">Note Map (Link map, Tree map)</a> general
|
||||
functionality).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>titleTemplate</code>
|
||||
</td>
|
||||
<td>
|
||||
<p>Default title of notes created as children of this note. This value is
|
||||
evaluated as a JavaScript string and thus can be enriched with dynamic
|
||||
content via the injected <code>now</code> and <code>parentNote</code> variables.</p>
|
||||
<p>Examples:</p>
|
||||
<ul>
|
||||
<li><code>${parentNote.getLabel('authorName')}'s literary works</code>
|
||||
</li>
|
||||
<li><code>Log for ${now.format('YYYY-MM-DD HH:mm:ss')}</code>
|
||||
</li>
|
||||
<li>to mirror the parent's template.</li>
|
||||
</ul>
|
||||
<p>See <a class="reference-link" href="#root/_help_47ZrP6FNuoG8">Default Note Title</a> for
|
||||
more info.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>template</code>
|
||||
</td>
|
||||
<td>This note will appear in the selection of available template when creating
|
||||
new note. See <a class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> for
|
||||
more information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>toc</code>
|
||||
</td>
|
||||
<td>Controls the display of the <a class="reference-link" href="#root/_help_BFvAtE74rbP6">Table of contents</a> for
|
||||
a given note. <code>#toc</code> or <code>#toc=show</code> to always display
|
||||
the table of contents, <code>#toc=false</code> to always hide it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>color</code>
|
||||
</td>
|
||||
<td>defines color of the note in note tree, links etc. Use any valid CSS color
|
||||
value like 'red' or #a13d5f</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>keyboardShortcut</code>
|
||||
</td>
|
||||
<td>Defines a keyboard shortcut which will immediately jump to this note.
|
||||
Example: 'ctrl+alt+e'. Requires frontend reload for the change to take
|
||||
effect.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>keepCurrentHoisting</code>
|
||||
</td>
|
||||
<td>Opening this link won't change hoisting even if the note is not displayable
|
||||
in the current hoisted subtree.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>executeButton</code>
|
||||
</td>
|
||||
<td>Title of the button which will execute the current code note</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>executeDescription</code>
|
||||
</td>
|
||||
<td>Longer description of the current code note displayed together with the
|
||||
execute button</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>excludeFromNoteMap</code>
|
||||
</td>
|
||||
<td>Notes with this label will be hidden from the <a class="reference-link"
|
||||
href="#root/_help_bdUJEHsAPYQR">Note Map</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>newNotesOnTop</code>
|
||||
</td>
|
||||
<td>New notes will be created at the top of the parent note, not on the bottom.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hideHighlightWidget</code>
|
||||
</td>
|
||||
<td>Hides the <a class="reference-link" href="#root/_help_AxshuNRegLAv">Highlights list</a> widget</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hideChildrenOverview</code>
|
||||
</td>
|
||||
<td>Hides the <a class="reference-link" href="#root/_help_0ESUbbAxVnoK">Note List</a> for
|
||||
that particular note.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>printLandscape</code>
|
||||
</td>
|
||||
<td>When exporting to PDF, changes the orientation of the page to landscape
|
||||
instead of portrait.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>printPageSize</code>
|
||||
</td>
|
||||
<td>When exporting to PDF, changes the size of the page. Supported values: <code>A0</code>, <code>A1</code>, <code>A2</code>, <code>A3</code>, <code>A4</code>, <code>A5</code>, <code>A6</code>, <code>Legal</code>, <code>Letter</code>, <code>Tabloid</code>, <code>Ledger</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>geolocation</code>
|
||||
</td>
|
||||
<td>Indicates the latitude and longitude of a note, to be displayed in a
|
||||
<a
|
||||
class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>calendar:*</code>
|
||||
</td>
|
||||
<td>Defines specific options for the <a class="reference-link" href="#root/_help_xWbu3jpNWapp">Calendar View</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>viewType</code>
|
||||
</td>
|
||||
<td>Sets the view of child notes (e.g. grid or list). See <a class="reference-link"
|
||||
href="#root/_help_0ESUbbAxVnoK">Note List</a> for more information.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>A label is an <a href="#root/_help_zEY4DaJG4YT5">attribute</a> of a note
|
||||
which has a name and optionally a value.</p>
|
||||
<h2>Common use cases</h2>
|
||||
<ul>
|
||||
<li><strong>Metadata for personal use</strong>: Assign labels with optional
|
||||
values for categorization, such as <code>#year=1999</code>, <code>#genre="sci-fi"</code>,
|
||||
or <code>#author="Neal Stephenson"</code>. This can be combined with
|
||||
<a
|
||||
class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> to make their display more user-friendly.</li>
|
||||
<li><strong>Configuration</strong>: Labels can configure advanced features
|
||||
or settings (see reference below).</li>
|
||||
<li><strong>Scripts and Plugins</strong>: Used to tag notes with special metadata,
|
||||
such as the "weight" attribute in the <a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>.</li>
|
||||
</ul>
|
||||
<h2>Creating a label using the visual editor</h2>
|
||||
<ol>
|
||||
<li>Go to the <em>Owned Attributes</em> section in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>.</li>
|
||||
<li>Press the + button (<em>Add new attribute</em>) to the right.</li>
|
||||
<li>Select <em>Add new label</em> for the relation.</li>
|
||||
</ol>
|
||||
<aside class="admonition tip">
|
||||
<p>If you prefer keyboard shortcuts, press <kbd>Alt</kbd>+<kbd>L</kbd> while
|
||||
focused on a note or in the <em>Owned Attributes</em> section to display
|
||||
the visual editor.</p>
|
||||
</aside>
|
||||
<p>While in the visual editor:</p>
|
||||
<ul>
|
||||
<li>Set the desired name</li>
|
||||
<li>Optionally, set the value of the label. Labels can exist without a value.</li>
|
||||
<li>Check <em>Inheritable</em> if the label should be inherited by the child
|
||||
notes as well. See <a class="reference-link" href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a> for
|
||||
more information.</li>
|
||||
</ul>
|
||||
<h2>Creating a label manually</h2>
|
||||
<p>In the <em>Owned Attributes</em> section in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>:</p>
|
||||
<ul>
|
||||
<li>To create a label called <code>myLabel</code> with no value, simply type <code>#myLabel</code>.</li>
|
||||
<li>To create a label called <code>myLabel</code> with a value <code>value</code>,
|
||||
simply type <code>#myLabel=value</code>.</li>
|
||||
<li>If the value contains spaces, then the text must be quoted: <code>#myLabel="Hello world"</code>.</li>
|
||||
<li>If the string contains quotes (regardless of whether it has spaces), then
|
||||
the text must be quoted with apostrophes instead: <code>#myLabel='Hello "world"'</code>.</li>
|
||||
<li>To create an inheritable label called <code>myLabel</code>, simply write <code>#myLabel(inheritable)</code> for
|
||||
no value or <code>#myLabel(inheritable)=value</code> if there is a value.</li>
|
||||
</ul>
|
||||
<h2>Predefined labels</h2>
|
||||
<p>This is a list of labels that Trilium natively supports.</p>
|
||||
<aside class="admonition tip">
|
||||
<p>Some labels presented here end with a <code>*</code>. That means that there
|
||||
are multiple labels with the same prefix, consult the specific page linked
|
||||
in the description of that label for more information.</p>
|
||||
</aside>
|
||||
<figure class="table" style="width:100%;">
|
||||
<table class="ck-table-resized">
|
||||
<colgroup>
|
||||
<col style="width:33.82%;">
|
||||
<col style="width:66.18%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Label</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>disableVersioning</code>
|
||||
</td>
|
||||
<td>Disables automatic creation of <a class="reference-link" href="#root/_help_vZWERwf8U3nx">Note Revisions</a> for
|
||||
a particular note. Useful for e.g. large, but unimportant notes - e.g.
|
||||
large JS libraries used for scripting.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>versioningLimit</code>
|
||||
</td>
|
||||
<td>Limits the maximum number of <a class="reference-link" href="#root/_help_vZWERwf8U3nx">Note Revisions</a> for
|
||||
a particular note, overriding the global settings.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>calendarRoot</code>
|
||||
</td>
|
||||
<td>Marks the note which should be used as root for <a class="reference-link"
|
||||
href="#root/_help_l0tKav7yLHGF">Day Notes</a>. Only one should be marked
|
||||
as such.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>archived</code>
|
||||
</td>
|
||||
<td>Hides notes from default search results and dialogs. Archived notes can
|
||||
optionally be hidden in the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>excludeFromExport</code>
|
||||
</td>
|
||||
<td>Excludes this note and its children when exporting.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>run</code>, <code>runOnInstance</code>, <code>runAtHour</code>
|
||||
</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_GPERMystNGTB">Events</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>disableInclusion</code>
|
||||
</td>
|
||||
<td>Scripts with this label won't be included into parent script execution.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sorted</code>
|
||||
</td>
|
||||
<td>
|
||||
<p>Keeps child notes sorted by title alphabetically.</p>
|
||||
<p>When given a value, it will sort by the value of another label instead.
|
||||
If one of the child notes doesn't have the specified label, the title will
|
||||
be used for them instead.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sortDirection</code>
|
||||
</td>
|
||||
<td>
|
||||
<p>If <code>sorted</code> is applied, specifies the direction of the sort:</p>
|
||||
<ul>
|
||||
<li><code>ASC</code>, ascending (default)</li>
|
||||
<li><code>DESC</code>, descending</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sortFoldersFirst</code>
|
||||
</td>
|
||||
<td>If <code>sorted</code> is applied, folders (notes with children) will be
|
||||
sorted as a group at the top, and the rest will be sorted.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>top</code>
|
||||
</td>
|
||||
<td>If <code>sorted</code> is applied to the parent note, keeps given note on
|
||||
top in its parent.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hidePromotedAttributes</code>
|
||||
</td>
|
||||
<td>Hide <a class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> on
|
||||
this note. Generally useful when defining inherited attributes, but the
|
||||
parent note doesn't need them.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>readOnly</code>
|
||||
</td>
|
||||
<td>Marks a note to be always be <a href="#root/_help_CoFPLs3dRlXc">read-only</a>,
|
||||
if it's a supported note (text, code, mermaid).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>autoReadOnlyDisabled</code>
|
||||
</td>
|
||||
<td>Disables automatic <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> for
|
||||
the given note.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>appCss</code>
|
||||
</td>
|
||||
<td>Marks CSS notes which are loaded into the Trilium application and can
|
||||
thus be used to modify Trilium's looks. See <a class="reference-link"
|
||||
href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a> for more info.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>appTheme</code>
|
||||
</td>
|
||||
<td>Marks CSS notes which are full Trilium themes and are thus available in
|
||||
Trilium options. See <a class="reference-link" href="#root/_help_pKK96zzmvBGf">Theme development</a> for
|
||||
more information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>appThemeBase</code>
|
||||
</td>
|
||||
<td>Set to <code>next</code>, <code>next-light</code>, or <code>next-dark</code> to
|
||||
use the corresponding TriliumNext theme (auto, light or dark) as the base
|
||||
for a custom theme, instead of the legacy one. See <a class="reference-link"
|
||||
href="#root/_help_WFGzWeUK6arS">Customize the Next theme</a> for more
|
||||
information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>cssClass</code>
|
||||
</td>
|
||||
<td>Value of this label is then added as CSS class to the node representing
|
||||
given note in the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.
|
||||
This can be useful for advanced theming. Can be used in template notes.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>iconClass</code>
|
||||
</td>
|
||||
<td>value of this label is added as a CSS class to the icon on the tree which
|
||||
can help visually distinguish the notes in the tree. Example might be bx
|
||||
bx-home - icons are taken from boxicons. Can be used in template notes.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>pageSize</code>
|
||||
</td>
|
||||
<td>Specifies the number of items per page in <a class="reference-link"
|
||||
href="#root/_help_0ESUbbAxVnoK">Note List</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>customRequestHandler</code>
|
||||
</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_J5Ex1ZrMbyJ6">Custom Request Handler</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>customResourceProvider</code>
|
||||
</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_d3fAXQ2diepH">Custom Resource Providers</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>widget</code>
|
||||
</td>
|
||||
<td>Marks this note as a custom widget which will be added to the Trilium
|
||||
component tree. See <a class="reference-link" href="#root/_help_MgibgPcfeuGz">Custom Widgets</a> for
|
||||
more information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>searchHome</code>
|
||||
</td>
|
||||
<td>New search notes will be created as children of this note (see
|
||||
<a
|
||||
class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>workspace</code> and related attributes</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_9sRHySam5fXb">Workspaces</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>inbox</code>
|
||||
</td>
|
||||
<td>default inbox location for new notes - when you create a note using <em>new note</em> button
|
||||
in the sidebar, notes will be created as child notes in the note marked
|
||||
as with <code>#inbox</code> label.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sqlConsoleHome</code>
|
||||
</td>
|
||||
<td>Default location of <a class="reference-link" href="#root/_hidden/_help/_help_tC7s2alapj8V/_help_wX4HbRucYSDD/_help_oyIAJ9PvvwHX/_help__help_YKWqdJhzi2VY">SQL Console</a> notes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>bookmarked</code>
|
||||
</td>
|
||||
<td>Indicates this note is a <a href="#root/_help_u3YFHC9tQlpm">bookmark</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>bookmarkFolder</code>
|
||||
</td>
|
||||
<td>Note with this label will appear in bookmarks as folder (allowing access
|
||||
to its children). See <a class="reference-link" href="#root/_help_u3YFHC9tQlpm">Bookmarks</a> for
|
||||
more information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>share*</code>
|
||||
</td>
|
||||
<td>See the attribute reference in <a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>displayRelations</code>, <code>hideRelations</code>
|
||||
</td>
|
||||
<td>Comma delimited names of relations which should be displayed/hidden in
|
||||
a <a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a> (both
|
||||
the note type and the <a class="reference-link" href="#root/_help_BCkXAVs63Ttv">Note Map (Link map, Tree map)</a> general
|
||||
functionality).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>titleTemplate</code>
|
||||
</td>
|
||||
<td>
|
||||
<p>Default title of notes created as children of this note. This value is
|
||||
evaluated as a JavaScript string and thus can be enriched with dynamic
|
||||
content via the injected <code>now</code> and <code>parentNote</code> variables.</p>
|
||||
<p>Examples:</p>
|
||||
<ul>
|
||||
<li><code>${parentNote.getLabel('authorName')}'s literary works</code>
|
||||
</li>
|
||||
<li><code>Log for ${now.format('YYYY-MM-DD HH:mm:ss')}</code>
|
||||
</li>
|
||||
<li>to mirror the parent's template.</li>
|
||||
</ul>
|
||||
<p>See <a class="reference-link" href="#root/_help_47ZrP6FNuoG8">Default Note Title</a> for
|
||||
more info.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>template</code>
|
||||
</td>
|
||||
<td>This note will appear in the selection of available template when creating
|
||||
new note. See <a class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> for
|
||||
more information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>toc</code>
|
||||
</td>
|
||||
<td>Controls the display of the <a class="reference-link" href="#root/_help_BFvAtE74rbP6">Table of contents</a> for
|
||||
a given note. <code>#toc</code> or <code>#toc=show</code> to always display
|
||||
the table of contents, <code>#toc=false</code> to always hide it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>color</code>
|
||||
</td>
|
||||
<td>defines color of the note in note tree, links etc. Use any valid CSS color
|
||||
value like 'red' or #a13d5f</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>keyboardShortcut</code>
|
||||
</td>
|
||||
<td>Defines a keyboard shortcut which will immediately jump to this note.
|
||||
Example: 'ctrl+alt+e'. Requires frontend reload for the change to take
|
||||
effect.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>keepCurrentHoisting</code>
|
||||
</td>
|
||||
<td>Opening this link won't change hoisting even if the note is not displayable
|
||||
in the current hoisted subtree.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>executeButton</code>
|
||||
</td>
|
||||
<td>Title of the button which will execute the current code note</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>executeDescription</code>
|
||||
</td>
|
||||
<td>Longer description of the current code note displayed together with the
|
||||
execute button</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>excludeFromNoteMap</code>
|
||||
</td>
|
||||
<td>Notes with this label will be hidden from the <a class="reference-link"
|
||||
href="#root/_help_bdUJEHsAPYQR">Note Map</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>newNotesOnTop</code>
|
||||
</td>
|
||||
<td>New notes will be created at the top of the parent note, not on the bottom.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hideHighlightWidget</code>
|
||||
</td>
|
||||
<td>Hides the <a class="reference-link" href="#root/_help_AxshuNRegLAv">Highlights list</a> widget</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hideChildrenOverview</code>
|
||||
</td>
|
||||
<td>Hides the <a class="reference-link" href="#root/_help_0ESUbbAxVnoK">Note List</a> for
|
||||
that particular note.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>printLandscape</code>
|
||||
</td>
|
||||
<td>When exporting to PDF, changes the orientation of the page to landscape
|
||||
instead of portrait.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>printPageSize</code>
|
||||
</td>
|
||||
<td>When exporting to PDF, changes the size of the page. Supported values: <code>A0</code>, <code>A1</code>, <code>A2</code>, <code>A3</code>, <code>A4</code>, <code>A5</code>, <code>A6</code>, <code>Legal</code>, <code>Letter</code>, <code>Tabloid</code>, <code>Ledger</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>geolocation</code>
|
||||
</td>
|
||||
<td>Indicates the latitude and longitude of a note, to be displayed in a
|
||||
<a
|
||||
class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>calendar:*</code>
|
||||
</td>
|
||||
<td>Defines specific options for the <a class="reference-link" href="#root/_help_xWbu3jpNWapp">Calendar View</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>viewType</code>
|
||||
</td>
|
||||
<td>Sets the view of child notes (e.g. grid or list). See <a class="reference-link"
|
||||
href="#root/_help_0ESUbbAxVnoK">Note List</a> for more information.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
@@ -1,69 +1,49 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Promoted Attributes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Promoted Attributes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Promoted attributes are <a href="#root/_help_zEY4DaJG4YT5">attributes</a> which
|
||||
are considered important and thus are "promoted" onto the main note UI.
|
||||
See example below:</p>
|
||||
<p>
|
||||
<img src="Promoted Attributes_promot.png">
|
||||
</p>
|
||||
<p>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.</p>
|
||||
<p>Attributes can be pretty useful since they allow for querying and script
|
||||
automation etc. but they are also inconveniently hidden. This allows you
|
||||
to select few of the important ones and push them to the front of the user.</p>
|
||||
<p>Now, how do we make attribute to appear on the UI?</p>
|
||||
<h2>Attribute definition</h2>
|
||||
<p>Attribute is always name-value pair where both name and value are strings.</p>
|
||||
<p><em>Attribute definition</em> specifies how should this value be interpreted
|
||||
- is it just string, or is it a date? Should we allow multiple values or
|
||||
note? And importantly, should we <em>promote</em> the attribute or not?</p>
|
||||
<p>
|
||||
<img src="Promoted Attributes_image.png">
|
||||
</p>
|
||||
<p>You can notice tag attribute definition. These "definition" attributes
|
||||
define how the "value" attributes should behave.</p>
|
||||
<p>So there's one attribute for value and one for definition. But notice
|
||||
how definition attribute is <a href="#root/_help_bwZpz2ajCEwO">Inheritable</a>,
|
||||
meaning that it's also applied to all descendant note. So in a way, this
|
||||
definition is used for the whole subtree while "value" attributes are applied
|
||||
only for this note.</p>
|
||||
<h3>Inverse relation</h3>
|
||||
<p>Some relations always occur in pairs - my favorite example is on the family.
|
||||
If you have a note representing husband and note representing wife, then
|
||||
there might be a relation between those two of <code>isPartnerOf</code>.
|
||||
This is bidirectional relationship - meaning that if a relation is pointing
|
||||
from husband to wife then there should be always another relation pointing
|
||||
from wife to husband.</p>
|
||||
<p>Another example is with parent - child relationship. Again these always
|
||||
occur in pairs, but in this case it's not exact same relation - the one
|
||||
going from parent to child might be called <code>isParentOf</code> and the
|
||||
other one going from child to parent might be called <code>isChildOf</code>.</p>
|
||||
<p>Relation definition allows you to specify such "inverse relation" - for
|
||||
the relation you just define you specify which is the inverse relation.
|
||||
Note that in the second example we should have two relation definitions
|
||||
- one for <code>isParentOf</code> which defines <code>isChildOf</code> as inverse
|
||||
relation and then second relation definition for <code>isChildOf</code> which
|
||||
defines <code>isParentOf</code> as inverse relation.</p>
|
||||
<p>What this does internally is that whenever we save a relation which has
|
||||
defined inverse relation, we check that this inverse relation exists on
|
||||
the relation target note. Similarly, when we delete relation, we also delete
|
||||
inverse relation on the target note.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Promoted attributes are <a href="#root/_help_zEY4DaJG4YT5">attributes</a> which
|
||||
are considered important and thus are "promoted" onto the main note UI.
|
||||
See example below:</p>
|
||||
<p>
|
||||
<img src="Promoted Attributes_promot.png">
|
||||
</p>
|
||||
<p>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.</p>
|
||||
<p>Attributes can be pretty useful since they allow for querying and script
|
||||
automation etc. but they are also inconveniently hidden. This allows you
|
||||
to select few of the important ones and push them to the front of the user.</p>
|
||||
<p>Now, how do we make attribute to appear on the UI?</p>
|
||||
<h2>Attribute definition</h2>
|
||||
<p>Attribute is always name-value pair where both name and value are strings.</p>
|
||||
<p><em>Attribute definition</em> specifies how should this value be interpreted
|
||||
- is it just string, or is it a date? Should we allow multiple values or
|
||||
note? And importantly, should we <em>promote</em> the attribute or not?</p>
|
||||
<p>
|
||||
<img src="Promoted Attributes_image.png">
|
||||
</p>
|
||||
<p>You can notice tag attribute definition. These "definition" attributes
|
||||
define how the "value" attributes should behave.</p>
|
||||
<p>So there's one attribute for value and one for definition. But notice
|
||||
how definition attribute is <a href="#root/_help_bwZpz2ajCEwO">Inheritable</a>,
|
||||
meaning that it's also applied to all descendant note. So in a way, this
|
||||
definition is used for the whole subtree while "value" attributes are applied
|
||||
only for this note.</p>
|
||||
<h3>Inverse relation</h3>
|
||||
<p>Some relations always occur in pairs - my favorite example is on the family.
|
||||
If you have a note representing husband and note representing wife, then
|
||||
there might be a relation between those two of <code>isPartnerOf</code>.
|
||||
This is bidirectional relationship - meaning that if a relation is pointing
|
||||
from husband to wife then there should be always another relation pointing
|
||||
from wife to husband.</p>
|
||||
<p>Another example is with parent - child relationship. Again these always
|
||||
occur in pairs, but in this case it's not exact same relation - the one
|
||||
going from parent to child might be called <code>isParentOf</code> and the
|
||||
other one going from child to parent might be called <code>isChildOf</code>.</p>
|
||||
<p>Relation definition allows you to specify such "inverse relation" - for
|
||||
the relation you just define you specify which is the inverse relation.
|
||||
Note that in the second example we should have two relation definitions
|
||||
- one for <code>isParentOf</code> which defines <code>isChildOf</code> as inverse
|
||||
relation and then second relation definition for <code>isChildOf</code> which
|
||||
defines <code>isParentOf</code> as inverse relation.</p>
|
||||
<p>What this does internally is that whenever we save a relation which has
|
||||
defined inverse relation, we check that this inverse relation exists on
|
||||
the relation target note. Similarly, when we delete relation, we also delete
|
||||
inverse relation on the target note.</p>
|
||||
@@ -1,159 +1,139 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Relations</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Relations</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>A relation is similar to a <a href="#root/_help_HI6GBBIduIgv">label</a>,
|
||||
but instead of having a text value it refers to another note.</p>
|
||||
<h2>Common use cases</h2>
|
||||
<ul>
|
||||
<li><strong>Metadata Relationships for personal use</strong>: For example,
|
||||
linking a book note to an author note.
|
||||
<br>This can be combined with <a class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> to
|
||||
make their display more user-friendly.</li>
|
||||
<li><strong>Configuration</strong>: For configuring some notes such as
|
||||
<a
|
||||
class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>, or configuring <a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a> or
|
||||
<a
|
||||
class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> (see the list below).</li>
|
||||
<li><strong>Scripting</strong>: Attaching scripts to events or conditions
|
||||
related to the note.</li>
|
||||
</ul>
|
||||
<h2>Creating a relation using the visual editor</h2>
|
||||
<ol>
|
||||
<li>Go to the <em>Owned Attributes</em> section in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>.</li>
|
||||
<li>Press the + button (<em>Add new attribute</em>) to the right.</li>
|
||||
<li>Select <em>Add new relation</em> for the relation.</li>
|
||||
</ol>
|
||||
<aside class="admonition tip">
|
||||
<p>If you prefer keyboard shortcuts, press <kbd>Alt</kbd>+<kbd>L</kbd> while
|
||||
focused on a note or in the <em>Owned Attributes</em> section to display
|
||||
the visual editor.</p>
|
||||
</aside>
|
||||
<p>While in the visual editor:</p>
|
||||
<ul>
|
||||
<li>Set the desired name</li>
|
||||
<li>Set the Target note (the note to point to). Unlike labels, relations cannot
|
||||
exist with a target note.</li>
|
||||
<li>Check <em>Inheritable</em> if the label should be inherited by the child
|
||||
notes as well. See <a class="reference-link" href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a> for
|
||||
more information.</li>
|
||||
</ul>
|
||||
<h2>Creating a relation manually</h2>
|
||||
<p>In the <em>Owned Attributes</em> section in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>:</p>
|
||||
<ul>
|
||||
<li>To create a relation called <code>myRelation</code>:
|
||||
<ul>
|
||||
<li>First type <code>~myRelation=@</code> .</li>
|
||||
<li>After this, an autocompletion box should appear.</li>
|
||||
<li>Type the title of the note to point to and press <kbd>Enter</kbd> to confirm
|
||||
(or click the desired note).</li>
|
||||
<li>Alternatively copy a note from the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and
|
||||
paste it after the <code>=</code> sign (without the <code>@</code> , in this
|
||||
case).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>To create an inheritable relation, follow the same steps as previously
|
||||
described but instead of <code>~myRelation</code> write <code>~myRelation(inheritable)</code>.</li>
|
||||
</ul>
|
||||
<h2>Predefined relations</h2>
|
||||
<p>These relations are supported and used internally by Trilium.</p>
|
||||
<aside
|
||||
class="admonition tip">
|
||||
<p>Some relations presented here end with a <code>*</code>. That means that
|
||||
there are multiple relations with the same prefix, consult the specific
|
||||
page linked in the description of that relation for more information.</p>
|
||||
</aside>
|
||||
<figure class="table" style="width:100%;">
|
||||
<table class="ck-table-resized">
|
||||
<colgroup>
|
||||
<col style="width:33.95%;">
|
||||
<col style="width:66.05%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Label</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>runOn*</code>
|
||||
</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_GPERMystNGTB">Events</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>template</code>
|
||||
</td>
|
||||
<td>note's attributes will be inherited even without a parent-child relationship,
|
||||
note's content and subtree will be added to instance notes if empty. See
|
||||
documentation for details.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>inherit</code>
|
||||
</td>
|
||||
<td>note's attributes will be inherited even without a parent-child relationship.
|
||||
See <a class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> for
|
||||
a similar concept. See <a class="reference-link" href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a> in
|
||||
the documentation.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>renderNote</code>
|
||||
</td>
|
||||
<td>notes of type <a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a> will
|
||||
be rendered using a code note (HTML or script) and it is necessary to point
|
||||
using this relation to which note should be rendered</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>widget_relation</code>
|
||||
</td>
|
||||
<td>target of this relation will be executed and rendered as a widget in the
|
||||
sidebar</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareCss</code>
|
||||
</td>
|
||||
<td>CSS note which will be injected into the share page. CSS note must be
|
||||
in the shared sub-tree as well. Consider using <code>share_hidden_from_tree</code> and <code>share_omit_default_css</code> as
|
||||
well.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareJs</code>
|
||||
</td>
|
||||
<td>JavaScript note which will be injected into the share page. JS note must
|
||||
be in the shared sub-tree as well. Consider using <code>share_hidden_from_tree</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareTemplate</code>
|
||||
</td>
|
||||
<td>Embedded JavaScript note that will be used as the template for displaying
|
||||
the shared note. Falls back to the default template. Consider using <code>share_hidden_from_tree</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareFavicon</code>
|
||||
</td>
|
||||
<td>Favicon note to be set in the shared page. Typically you want to set it
|
||||
to share root and make it inheritable. Favicon note must be in the shared
|
||||
sub-tree as well. Consider using <code>share_hidden_from_tree</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>A relation is similar to a <a href="#root/_help_HI6GBBIduIgv">label</a>,
|
||||
but instead of having a text value it refers to another note.</p>
|
||||
<h2>Common use cases</h2>
|
||||
<ul>
|
||||
<li><strong>Metadata Relationships for personal use</strong>: For example,
|
||||
linking a book note to an author note.
|
||||
<br>This can be combined with <a class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> to
|
||||
make their display more user-friendly.</li>
|
||||
<li><strong>Configuration</strong>: For configuring some notes such as
|
||||
<a
|
||||
class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>, or configuring <a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a> or
|
||||
<a
|
||||
class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> (see the list below).</li>
|
||||
<li><strong>Scripting</strong>: Attaching scripts to events or conditions
|
||||
related to the note.</li>
|
||||
</ul>
|
||||
<h2>Creating a relation using the visual editor</h2>
|
||||
<ol>
|
||||
<li>Go to the <em>Owned Attributes</em> section in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>.</li>
|
||||
<li>Press the + button (<em>Add new attribute</em>) to the right.</li>
|
||||
<li>Select <em>Add new relation</em> for the relation.</li>
|
||||
</ol>
|
||||
<aside class="admonition tip">
|
||||
<p>If you prefer keyboard shortcuts, press <kbd>Alt</kbd>+<kbd>L</kbd> while
|
||||
focused on a note or in the <em>Owned Attributes</em> section to display
|
||||
the visual editor.</p>
|
||||
</aside>
|
||||
<p>While in the visual editor:</p>
|
||||
<ul>
|
||||
<li>Set the desired name</li>
|
||||
<li>Set the Target note (the note to point to). Unlike labels, relations cannot
|
||||
exist with a target note.</li>
|
||||
<li>Check <em>Inheritable</em> if the label should be inherited by the child
|
||||
notes as well. See <a class="reference-link" href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a> for
|
||||
more information.</li>
|
||||
</ul>
|
||||
<h2>Creating a relation manually</h2>
|
||||
<p>In the <em>Owned Attributes</em> section in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>:</p>
|
||||
<ul>
|
||||
<li>To create a relation called <code>myRelation</code>:
|
||||
<ul>
|
||||
<li>First type <code>~myRelation=@</code> .</li>
|
||||
<li>After this, an autocompletion box should appear.</li>
|
||||
<li>Type the title of the note to point to and press <kbd>Enter</kbd> to confirm
|
||||
(or click the desired note).</li>
|
||||
<li>Alternatively copy a note from the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and
|
||||
paste it after the <code>=</code> sign (without the <code>@</code> , in this
|
||||
case).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>To create an inheritable relation, follow the same steps as previously
|
||||
described but instead of <code>~myRelation</code> write <code>~myRelation(inheritable)</code>.</li>
|
||||
</ul>
|
||||
<h2>Predefined relations</h2>
|
||||
<p>These relations are supported and used internally by Trilium.</p>
|
||||
<aside
|
||||
class="admonition tip">
|
||||
<p>Some relations presented here end with a <code>*</code>. That means that
|
||||
there are multiple relations with the same prefix, consult the specific
|
||||
page linked in the description of that relation for more information.</p>
|
||||
</aside>
|
||||
<figure class="table" style="width:100%;">
|
||||
<table class="ck-table-resized">
|
||||
<colgroup>
|
||||
<col style="width:33.95%;">
|
||||
<col style="width:66.05%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Label</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>runOn*</code>
|
||||
</td>
|
||||
<td>See <a class="reference-link" href="#root/_help_GPERMystNGTB">Events</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>template</code>
|
||||
</td>
|
||||
<td>note's attributes will be inherited even without a parent-child relationship,
|
||||
note's content and subtree will be added to instance notes if empty. See
|
||||
documentation for details.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>inherit</code>
|
||||
</td>
|
||||
<td>note's attributes will be inherited even without a parent-child relationship.
|
||||
See <a class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> for
|
||||
a similar concept. See <a class="reference-link" href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a> in
|
||||
the documentation.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>renderNote</code>
|
||||
</td>
|
||||
<td>notes of type <a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a> will
|
||||
be rendered using a code note (HTML or script) and it is necessary to point
|
||||
using this relation to which note should be rendered</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>widget_relation</code>
|
||||
</td>
|
||||
<td>target of this relation will be executed and rendered as a widget in the
|
||||
sidebar</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareCss</code>
|
||||
</td>
|
||||
<td>CSS note which will be injected into the share page. CSS note must be
|
||||
in the shared sub-tree as well. Consider using <code>share_hidden_from_tree</code> and <code>share_omit_default_css</code> as
|
||||
well.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareJs</code>
|
||||
</td>
|
||||
<td>JavaScript note which will be injected into the share page. JS note must
|
||||
be in the shared sub-tree as well. Consider using <code>share_hidden_from_tree</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareTemplate</code>
|
||||
</td>
|
||||
<td>Embedded JavaScript note that will be used as the template for displaying
|
||||
the shared note. Falls back to the default template. Consider using <code>share_hidden_from_tree</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareFavicon</code>
|
||||
</td>
|
||||
<td>Favicon note to be set in the shared page. Typically you want to set it
|
||||
to share root and make it inheritable. Favicon note must be in the shared
|
||||
sub-tree as well. Consider using <code>share_hidden_from_tree</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
@@ -1,189 +1,169 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Bulk Actions</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Bulk Actions</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image">
|
||||
<img style="aspect-ratio:1425/654;" src="Bulk Actions_image.png" width="1425"
|
||||
height="654">
|
||||
</figure>
|
||||
<p>The <em>Bulk Actions</em> dialog makes it easy to apply changes to multiple
|
||||
notes at once, ranging from simple actions such as adding or removing a
|
||||
label to being executing custom scripts.</p>
|
||||
<h2>Interaction</h2>
|
||||
<figure class="image">
|
||||
<img style="aspect-ratio:1425/654;" src="Bulk Actions_image.png" width="1425"
|
||||
height="654">
|
||||
</figure>
|
||||
<p>The <em>Bulk Actions</em> dialog makes it easy to apply changes to multiple
|
||||
notes at once, ranging from simple actions such as adding or removing a
|
||||
label to being executing custom scripts.</p>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>The first step is to select the notes in the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It's possible to apply bulk
|
||||
actions to:
|
||||
<ul>
|
||||
<li>A single note (and potentially its child notes) simply by clicking on
|
||||
it (with a left click or a right click).</li>
|
||||
<li>Multiple notes. See <a class="reference-link" href="#root/_help_yTjUdsOi4CIE">Multiple selection</a> on
|
||||
how to do so.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Right click in the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and
|
||||
select <em>Advanced</em> → <em>Apply bulk actions</em>.</li>
|
||||
<li>By default, only the selected notes will be affected. To also include
|
||||
all the descendants of the notes, check <em>Include descendants of the selected notes</em>.
|
||||
The number of affected notes at the top of the dialog will update to reflect
|
||||
the change.</li>
|
||||
<li>Click on which action to apply from the <em>Available actions</em> section.
|
||||
A detailed description of each is available in the next section.
|
||||
<ul>
|
||||
<li>For each action selected, the <em>Chosen actions</em> section will update
|
||||
to reveal the entry. Each action will have its own configuration.</li>
|
||||
<li>To remove an action, simply press the X button to the right of it.</li>
|
||||
<li>It is possible to apply multiple actions of the same type, such as adding
|
||||
multiple types.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>When all the actions are defined, press <em>Execute bulk actions</em> to
|
||||
trigger all of them at once.</li>
|
||||
<li>For convenience, the last bulk action configuration is saved for further
|
||||
use and will be restored when entering the dialog again.</li>
|
||||
</ul>
|
||||
<h2>Actions</h2>
|
||||
<h3>Labels</h3>
|
||||
<p>These actions operate the <a class="reference-link" href="#root/_help_HI6GBBIduIgv">Labels</a> of
|
||||
a note:</p>
|
||||
<ul>
|
||||
<li><strong>Add label</strong>
|
||||
<ul>
|
||||
<li>For each note, if it doesn't already have a <a href="#root/_help_HI6GBBIduIgv">label</a> of
|
||||
the given name, it will create it. Keep the <em>New value</em> field empty
|
||||
to create a label without a value, or complete it to assign a value.</li>
|
||||
<li>If a note already has this label, its value will be updated.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Update label value</strong>
|
||||
<ul>
|
||||
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of
|
||||
the given name, it will change its value to the specified one. Leave <em>New value</em> field
|
||||
empty to create a label without a value.</li>
|
||||
<li>Notes without the label will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><em><strong>Rename label</strong></em>
|
||||
<ul>
|
||||
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of
|
||||
the given name, it will be renamed/replaced with a label of the new name.
|
||||
The value of the label (if present) will be kept intact.</li>
|
||||
<li>Notes without the label will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete label</strong>
|
||||
<ul>
|
||||
<li>For each note, if it has a label of a given name, it will be deleted (regardless
|
||||
of whether it has a value or not).</li>
|
||||
<li>Notes without the label will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Relations</h3>
|
||||
<p>These actions operate the <a class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a> of
|
||||
a note:</p>
|
||||
<ul>
|
||||
<li><strong>Add relation</strong>
|
||||
<ul>
|
||||
<li>For each note, it will create a relation pointing to the given note.</li>
|
||||
<li>Notes without this relation will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Update relation target</strong>
|
||||
<ul>
|
||||
<li>For each note, it will modify a relation to point to the newly given note.</li>
|
||||
<li>Notes without this relation will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Rename relation</strong>
|
||||
<ul>
|
||||
<li>For each note, if it has a relation of the given name, it will be renamed/replaced
|
||||
with a relation of the new name. The target note of the relation will be
|
||||
kept intact.</li>
|
||||
<li>Notes without this relation will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete relation</strong>
|
||||
<ul>
|
||||
<li>For each note, if it has a relation of the given name, it will be deleted.</li>
|
||||
<li>Notes without this relation will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Notes</h3>
|
||||
<ul>
|
||||
<li><strong>Rename note</strong>
|
||||
<ul>
|
||||
<li>For each note, it will change the title of the note to the given one.</li>
|
||||
<li>As a more advanced use case, the note can be a “template string” which
|
||||
allows for dynamic values with access to the note information via
|
||||
<a
|
||||
class="reference-link" href="#root/_help_habiZ3HU8Kw8">FNote</a>, for example:
|
||||
<ul>
|
||||
<li><code>NEW: ${note.title}</code> will prefix all notes with <code>NEW:</code> .</li>
|
||||
<li><code>${note.dateCreatedObj.format('MM-DD:')}: ${note.title}</code> will
|
||||
prefix the note titles with each note's creation date (in month-day format).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Move note</strong>
|
||||
<ul>
|
||||
<li>For each note, it will be moved to the specified parent note.</li>
|
||||
<li>As an alternative for less complex situations, the notes can be moved
|
||||
directly from within the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> via
|
||||
cut → paste or via the contextual menu.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete note</strong>
|
||||
<ul>
|
||||
<li>For each note, it will be deleted.</li>
|
||||
<li>As an alternative for less complex situations, the notes can be removed
|
||||
directly from within the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> by
|
||||
selecting them and pressing <kbd>Delete</kbd>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete note revisions</strong>
|
||||
<ul>
|
||||
<li>This will delete all the <a class="reference-link" href="#root/_help_vZWERwf8U3nx">Note Revisions</a> of
|
||||
the notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Others</h3>
|
||||
<ul>
|
||||
<li><strong>Execute script</strong>
|
||||
<ul>
|
||||
<li>For more complex scenarios, it is possible to type in a JavaScript expression
|
||||
in order to apply the necessary changes.</li>
|
||||
<li>Examples:
|
||||
<ul>
|
||||
<li>The first step is to select the notes in the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It's possible to apply bulk
|
||||
actions to:
|
||||
<ul>
|
||||
<li>A single note (and potentially its child notes) simply by clicking on
|
||||
it (with a left click or a right click).</li>
|
||||
<li>Multiple notes. See <a class="reference-link" href="#root/_help_yTjUdsOi4CIE">Multiple selection</a> on
|
||||
how to do so.</li>
|
||||
</ul>
|
||||
<li>
|
||||
<p>To apply a suffix (<code>- suffix</code> in this example), to the note
|
||||
title:</p><pre><code class="language-application-javascript-env-backend">note.title = note.title + " - suffix";</code></pre>
|
||||
</li>
|
||||
<li>Right click in the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and
|
||||
select <em>Advanced</em> → <em>Apply bulk actions</em>.</li>
|
||||
<li>By default, only the selected notes will be affected. To also include
|
||||
all the descendants of the notes, check <em>Include descendants of the selected notes</em>.
|
||||
The number of affected notes at the top of the dialog will update to reflect
|
||||
the change.</li>
|
||||
<li>Click on which action to apply from the <em>Available actions</em> section.
|
||||
A detailed description of each is available in the next section.
|
||||
<ul>
|
||||
<li>For each action selected, the <em>Chosen actions</em> section will update
|
||||
to reveal the entry. Each action will have its own configuration.</li>
|
||||
<li>To remove an action, simply press the X button to the right of it.</li>
|
||||
<li>It is possible to apply multiple actions of the same type, such as adding
|
||||
multiple types.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>When all the actions are defined, press <em>Execute bulk actions</em> to
|
||||
trigger all of them at once.</li>
|
||||
<li>For convenience, the last bulk action configuration is saved for further
|
||||
use and will be restored when entering the dialog again.</li>
|
||||
</ul>
|
||||
<h2>Actions</h2>
|
||||
<h3>Labels</h3>
|
||||
<p>These actions operate the <a class="reference-link" href="#root/_help_HI6GBBIduIgv">Labels</a> of
|
||||
a note:</p>
|
||||
<ul>
|
||||
<li><strong>Add label</strong>
|
||||
<ul>
|
||||
<li>For each note, if it doesn't already have a <a href="#root/_help_HI6GBBIduIgv">label</a> of
|
||||
the given name, it will create it. Keep the <em>New value</em> field empty
|
||||
to create a label without a value, or complete it to assign a value.</li>
|
||||
<li>If a note already has this label, its value will be updated.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Update label value</strong>
|
||||
<ul>
|
||||
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of
|
||||
the given name, it will change its value to the specified one. Leave <em>New value</em> field
|
||||
empty to create a label without a value.</li>
|
||||
<li>Notes without the label will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><em><strong>Rename label</strong></em>
|
||||
<ul>
|
||||
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of
|
||||
the given name, it will be renamed/replaced with a label of the new name.
|
||||
The value of the label (if present) will be kept intact.</li>
|
||||
<li>Notes without the label will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete label</strong>
|
||||
<ul>
|
||||
<li>For each note, if it has a label of a given name, it will be deleted (regardless
|
||||
of whether it has a value or not).</li>
|
||||
<li>Notes without the label will not be affected.</li>
|
||||
</ul>
|
||||
<li>
|
||||
<p>To alter attributes of a note based on another attribute, such as setting
|
||||
the <code>#shareAlias</code> label to the title of the note:</p><pre><code class="language-application-javascript-env-backend">note.setLabel("shareAlias", note.title)</code></pre>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Relations</h3>
|
||||
<p>These actions operate the <a class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a> of
|
||||
a note:</p>
|
||||
<ul>
|
||||
<li><strong>Add relation</strong>
|
||||
<ul>
|
||||
<li>For each note, it will create a relation pointing to the given note.</li>
|
||||
<li>Notes without this relation will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Update relation target</strong>
|
||||
<ul>
|
||||
<li>For each note, it will modify a relation to point to the newly given note.</li>
|
||||
<li>Notes without this relation will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Rename relation</strong>
|
||||
<ul>
|
||||
<li>For each note, if it has a relation of the given name, it will be renamed/replaced
|
||||
with a relation of the new name. The target note of the relation will be
|
||||
kept intact.</li>
|
||||
<li>Notes without this relation will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete relation</strong>
|
||||
<ul>
|
||||
<li>For each note, if it has a relation of the given name, it will be deleted.</li>
|
||||
<li>Notes without this relation will not be affected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Notes</h3>
|
||||
<ul>
|
||||
<li><strong>Rename note</strong>
|
||||
<ul>
|
||||
<li>For each note, it will change the title of the note to the given one.</li>
|
||||
<li>As a more advanced use case, the note can be a “template string” which
|
||||
allows for dynamic values with access to the note information via
|
||||
<a
|
||||
class="reference-link" href="#root/_help_habiZ3HU8Kw8">FNote</a>, for example:
|
||||
<ul>
|
||||
<li><code>NEW: ${note.title}</code> will prefix all notes with <code>NEW:</code> .</li>
|
||||
<li><code>${note.dateCreatedObj.format('MM-DD:')}: ${note.title}</code> will
|
||||
prefix the note titles with each note's creation date (in month-day format).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Move note</strong>
|
||||
<ul>
|
||||
<li>For each note, it will be moved to the specified parent note.</li>
|
||||
<li>As an alternative for less complex situations, the notes can be moved
|
||||
directly from within the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> via
|
||||
cut → paste or via the contextual menu.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete note</strong>
|
||||
<ul>
|
||||
<li>For each note, it will be deleted.</li>
|
||||
<li>As an alternative for less complex situations, the notes can be removed
|
||||
directly from within the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> by
|
||||
selecting them and pressing <kbd>Delete</kbd>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete note revisions</strong>
|
||||
<ul>
|
||||
<li>This will delete all the <a class="reference-link" href="#root/_help_vZWERwf8U3nx">Note Revisions</a> of
|
||||
the notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Others</h3>
|
||||
<ul>
|
||||
<li><strong>Execute script</strong>
|
||||
<ul>
|
||||
<li>For more complex scenarios, it is possible to type in a JavaScript expression
|
||||
in order to apply the necessary changes.</li>
|
||||
<li>Examples:
|
||||
<ul>
|
||||
<li>
|
||||
<p>To apply a suffix (<code>- suffix</code> in this example), to the note
|
||||
title:</p><pre><code class="language-application-javascript-env-backend">note.title = note.title + " - suffix";</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
<p>To alter attributes of a note based on another attribute, such as setting
|
||||
the <code>#shareAlias</code> label to the title of the note:</p><pre><code class="language-application-javascript-env-backend">note.setLabel("shareAlias", note.title)</code></pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1,47 +1,27 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Configuration (config.ini or environment variables)</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Configuration (config.ini or environment variables)</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium supports configuration via a file named <code>config.ini</code> and
|
||||
environment variables. Please review the file named <a href="https://github.com/TriliumNext/Notes/blob/develop/config-sample.ini">config-sample.ini</a> in
|
||||
the <a href="https://github.com/TriliumNext/Notes">Notes</a> repository to
|
||||
see what values are supported.</p>
|
||||
<p>You can provide the same values via environment variables instead of the <code>config.ini</code> file,
|
||||
and these environment variables use the following format:</p>
|
||||
<ol>
|
||||
<li>Environment variables should be prefixed with <code>TRILIUM_</code> and
|
||||
use underscores to represent the INI section structure.</li>
|
||||
<li>The format is: <code>TRILIUM_<SECTION>_<KEY>=<VALUE></code>
|
||||
</li>
|
||||
<li>The environment variables will override any matching values from config.ini</li>
|
||||
</ol>
|
||||
<p>For example, if you have this in your config.ini:</p><pre><code class="language-text-x-trilium-auto">[Network]
|
||||
<p>Trilium supports configuration via a file named <code>config.ini</code> and
|
||||
environment variables. Please review the file named <a href="https://github.com/TriliumNext/Notes/blob/develop/config-sample.ini">config-sample.ini</a> in
|
||||
the <a href="https://github.com/TriliumNext/Notes">Notes</a> repository to
|
||||
see what values are supported.</p>
|
||||
<p>You can provide the same values via environment variables instead of the <code>config.ini</code> file,
|
||||
and these environment variables use the following format:</p>
|
||||
<ol>
|
||||
<li>Environment variables should be prefixed with <code>TRILIUM_</code> and
|
||||
use underscores to represent the INI section structure.</li>
|
||||
<li>The format is: <code>TRILIUM_<SECTION>_<KEY>=<VALUE></code>
|
||||
</li>
|
||||
<li>The environment variables will override any matching values from config.ini</li>
|
||||
</ol>
|
||||
<p>For example, if you have this in your config.ini:</p><pre><code class="language-text-x-trilium-auto">[Network]
|
||||
host=localhost
|
||||
port=8080</code></pre>
|
||||
<p>You can override these values using environment variables:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_NETWORK_HOST=0.0.0.0
|
||||
<p>You can override these values using environment variables:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_NETWORK_HOST=0.0.0.0
|
||||
TRILIUM_NETWORK_PORT=9000</code></pre>
|
||||
<p>The code will:</p>
|
||||
<ol>
|
||||
<li>First load the <code>config.ini</code> file as before</li>
|
||||
<li>Then scan all environment variables for ones starting with <code>TRILIUM_</code>
|
||||
</li>
|
||||
<li>Parse these variables into section/key pairs</li>
|
||||
<li>Merge them with the config from the file, with environment variables taking
|
||||
precedence</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>The code will:</p>
|
||||
<ol>
|
||||
<li>First load the <code>config.ini</code> file as before</li>
|
||||
<li>Then scan all environment variables for ones starting with <code>TRILIUM_</code>
|
||||
</li>
|
||||
<li>Parse these variables into section/key pairs</li>
|
||||
<li>Merge them with the config from the file, with environment variables taking
|
||||
precedence</li>
|
||||
</ol>
|
||||
@@ -1,37 +1,17 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Trilium instance</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Trilium instance</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>A Trilium instance represents a server. If <a class="reference-link"
|
||||
href="#root/_help_cbkrhQjrkKrh">Synchronization</a> is set up, since
|
||||
multiple servers are involved (the one from the desktop client and the
|
||||
one the synchronisation is set up with), sometimes it can be useful to
|
||||
distinguish the instance you are running on.</p>
|
||||
<h2>Setting the instance name</h2>
|
||||
<p>To set up a name for the instance, modify the <code>config.ini</code>:</p><pre><code class="language-text-x-trilium-auto">[General]
|
||||
<p>A Trilium instance represents a server. If <a class="reference-link"
|
||||
href="#root/_help_cbkrhQjrkKrh">Synchronization</a> is set up, since
|
||||
multiple servers are involved (the one from the desktop client and the
|
||||
one the synchronisation is set up with), sometimes it can be useful to
|
||||
distinguish the instance you are running on.</p>
|
||||
<h2>Setting the instance name</h2>
|
||||
<p>To set up a name for the instance, modify the <code>config.ini</code>:</p><pre><code class="language-text-x-trilium-auto">[General]
|
||||
instanceName=Hello</code></pre>
|
||||
<h2>Distinguishing the instance on back-end</h2>
|
||||
<p>Use <code>api.getInstanceName()</code> to obtain the instance name of the
|
||||
current server, as specified in the config file or in environment variables.</p>
|
||||
<h2>Limiting script runs based on instance</h2>
|
||||
<p>For a script that is run periodically or on a certain event, it's possible
|
||||
to limit it to certain instances without having to change the code. Just
|
||||
add <code>runOnInstance</code> and set as the value the instance name where
|
||||
the script should run. To run on multiple named instances, simply add the
|
||||
label multiple times.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>Distinguishing the instance on back-end</h2>
|
||||
<p>Use <code>api.getInstanceName()</code> to obtain the instance name of the
|
||||
current server, as specified in the config file or in environment variables.</p>
|
||||
<h2>Limiting script runs based on instance</h2>
|
||||
<p>For a script that is run periodically or on a certain event, it's possible
|
||||
to limit it to certain instances without having to change the code. Just
|
||||
add <code>runOnInstance</code> and set as the value the instance name where
|
||||
the script should run. To run on multiple named instances, simply add the
|
||||
label multiple times.</p>
|
||||
@@ -1,26 +1,11 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Custom Request Handler</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Custom Request Handler</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium provides a mechanism for <a href="#root/_help_CdNpE2pqjmI6">scripts</a> to
|
||||
open a public REST endpoint. This opens a way for various integrations
|
||||
with other services - a simple example would be creating new note from
|
||||
Slack by issuing a slash command (e.g. <code>/trilium buy milk</code>).</p>
|
||||
<h2>Create note from outside Trilium</h2>
|
||||
<p>Let's take a look at an example. The goal is to provide a REST endpoint
|
||||
to which we can send title and content and Trilium will create a note.</p>
|
||||
<p>We'll start with creating a JavaScript backend <a href="#root/_help_6f9hih2hXXZk">code note</a> containing:</p><pre><code class="language-text-x-trilium-auto">const {req, res} = api;
|
||||
<p>Trilium provides a mechanism for <a href="#root/_help_CdNpE2pqjmI6">scripts</a> to
|
||||
open a public REST endpoint. This opens a way for various integrations
|
||||
with other services - a simple example would be creating new note from
|
||||
Slack by issuing a slash command (e.g. <code>/trilium buy milk</code>).</p>
|
||||
<h2>Create note from outside Trilium</h2>
|
||||
<p>Let's take a look at an example. The goal is to provide a REST endpoint
|
||||
to which we can send title and content and Trilium will create a note.</p>
|
||||
<p>We'll start with creating a JavaScript backend <a href="#root/_help_6f9hih2hXXZk">code note</a> containing:</p><pre><code class="language-text-x-trilium-auto">const {req, res} = api;
|
||||
const {secret, title, content} = req.body;
|
||||
|
||||
if (req.method == 'POST' && secret === 'secret-password') {
|
||||
@@ -37,15 +22,15 @@ if (req.method == 'POST' && secret === 'secret-password') {
|
||||
else {
|
||||
res.send(400);
|
||||
}</code></pre>
|
||||
<p>This script note has also following two attributes:</p>
|
||||
<ul>
|
||||
<li>label <code>#customRequestHandler</code> with value <code>create-note</code>
|
||||
</li>
|
||||
<li>relation <code>~targetNote</code> pointing to a note where new notes should
|
||||
be saved</li>
|
||||
</ul>
|
||||
<h3>Explanation</h3>
|
||||
<p>Let's test this by using an HTTP client to send a request:</p><pre><code class="language-text-x-trilium-auto">POST http://my.trilium.org/custom/create-note
|
||||
<p>This script note has also following two attributes:</p>
|
||||
<ul>
|
||||
<li>label <code>#customRequestHandler</code> with value <code>create-note</code>
|
||||
</li>
|
||||
<li>relation <code>~targetNote</code> pointing to a note where new notes should
|
||||
be saved</li>
|
||||
</ul>
|
||||
<h3>Explanation</h3>
|
||||
<p>Let's test this by using an HTTP client to send a request:</p><pre><code class="language-text-x-trilium-auto">POST http://my.trilium.org/custom/create-note
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
@@ -53,43 +38,38 @@ Content-Type: application/json
|
||||
"title": "hello",
|
||||
"content": "world"
|
||||
}+++++++++++++++++++++++++++++++++++++++++++++++</code></pre>
|
||||
<p>Notice the <code>/custom</code> part in the request path - Trilium considers
|
||||
any request with this prefix as "custom" and tries to find a matching handler
|
||||
by looking at all notes which have <code>customRequestHandler</code> <a href="#root/_help_zEY4DaJG4YT5">label</a>.
|
||||
Value of this label then contains a regular expression which will match
|
||||
the request path (in our case trivial regex "create-note").</p>
|
||||
<p>Trilium will then find our code note created above and execute it. <code>api.req</code>, <code>api.res</code> are
|
||||
set to <a href="https://expressjs.com/en/api.html#req">request</a> and
|
||||
<a
|
||||
href="https://expressjs.com/en/api.html#res">response</a>objects from which we can get details of the request and also
|
||||
respond.</p>
|
||||
<p>In the code note we check the request method and then use trivial authentication
|
||||
- keep in mind that these endpoints are by default totally unauthenticated,
|
||||
and you need to take care of this yourself.</p>
|
||||
<p>Once we pass these checks we will just create the desired note using
|
||||
<a
|
||||
href="#root/_help_GLks18SNjxmC">Script API</a>.</p>
|
||||
<h2>Custom resource provider</h2>
|
||||
<p>Another common use case is that you want to just expose a file note -
|
||||
in such case you create label <code>customResourceProvider</code> (value
|
||||
is again path regex).</p>
|
||||
<p>For more information, see <a href="#root/_help_d3fAXQ2diepH">Custom Resource Providers</a>.</p>
|
||||
<h2>Advanced concepts</h2>
|
||||
<p><code>api.req</code> and <code>api.res</code> are Express.js objects - you
|
||||
can always look into its <a href="https://expressjs.com/en/api.html">documentation</a> for
|
||||
details.</p>
|
||||
<h3>Parameters</h3>
|
||||
<p>REST request paths often contain parameters in the URL, e.g.:</p><pre><code class="language-text-x-trilium-auto">http://my.trilium.org/custom/notes/123</code></pre>
|
||||
<p>The last part is dynamic so the matching of the URL must also be dynamic
|
||||
- for this reason the matching is done with regular expressions. Following <code>customRequestHandler</code> value
|
||||
would match it:</p><pre><code class="language-text-x-trilium-auto">notes/([0-9]+)</code></pre>
|
||||
<p>Additionally, this also defines a matching group with the use of parenthesis
|
||||
which then makes it easier to extract the value. The matched groups are
|
||||
available in <code>api.pathParams</code>:</p><pre><code class="language-text-x-trilium-auto">const noteId = api.pathParams[0];</code></pre>
|
||||
<p>Often you also need query params (as in e.g. <code>http://my.trilium.org/custom/notes?noteId=123</code>),
|
||||
you can get those with standard express <code>req.query.noteId</code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Notice the <code>/custom</code> part in the request path - Trilium considers
|
||||
any request with this prefix as "custom" and tries to find a matching handler
|
||||
by looking at all notes which have <code>customRequestHandler</code> <a href="#root/_help_zEY4DaJG4YT5">label</a>.
|
||||
Value of this label then contains a regular expression which will match
|
||||
the request path (in our case trivial regex "create-note").</p>
|
||||
<p>Trilium will then find our code note created above and execute it. <code>api.req</code>, <code>api.res</code> are
|
||||
set to <a href="https://expressjs.com/en/api.html#req">request</a> and
|
||||
<a
|
||||
href="https://expressjs.com/en/api.html#res">response</a>objects from which we can get details of the request and also
|
||||
respond.</p>
|
||||
<p>In the code note we check the request method and then use trivial authentication
|
||||
- keep in mind that these endpoints are by default totally unauthenticated,
|
||||
and you need to take care of this yourself.</p>
|
||||
<p>Once we pass these checks we will just create the desired note using
|
||||
<a
|
||||
href="#root/_help_GLks18SNjxmC">Script API</a>.</p>
|
||||
<h2>Custom resource provider</h2>
|
||||
<p>Another common use case is that you want to just expose a file note -
|
||||
in such case you create label <code>customResourceProvider</code> (value
|
||||
is again path regex).</p>
|
||||
<p>For more information, see <a href="#root/_help_d3fAXQ2diepH">Custom Resource Providers</a>.</p>
|
||||
<h2>Advanced concepts</h2>
|
||||
<p><code>api.req</code> and <code>api.res</code> are Express.js objects - you
|
||||
can always look into its <a href="https://expressjs.com/en/api.html">documentation</a> for
|
||||
details.</p>
|
||||
<h3>Parameters</h3>
|
||||
<p>REST request paths often contain parameters in the URL, e.g.:</p><pre><code class="language-text-x-trilium-auto">http://my.trilium.org/custom/notes/123</code></pre>
|
||||
<p>The last part is dynamic so the matching of the URL must also be dynamic
|
||||
- for this reason the matching is done with regular expressions. Following <code>customRequestHandler</code> value
|
||||
would match it:</p><pre><code class="language-text-x-trilium-auto">notes/([0-9]+)</code></pre>
|
||||
<p>Additionally, this also defines a matching group with the use of parenthesis
|
||||
which then makes it easier to extract the value. The matched groups are
|
||||
available in <code>api.pathParams</code>:</p><pre><code class="language-text-x-trilium-auto">const noteId = api.pathParams[0];</code></pre>
|
||||
<p>Often you also need query params (as in e.g. <code>http://my.trilium.org/custom/notes?noteId=123</code>),
|
||||
you can get those with standard express <code>req.query.noteId</code>.</p>
|
||||
@@ -1,47 +1,32 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Custom Resource Providers</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Custom Resource Providers</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>A custom resource provider allows any file imported into Trilium (images,
|
||||
fonts, stylesheets) to be publicly accessible via a URL.</p>
|
||||
<p>A potential use case for this is to add embed a custom font alongside
|
||||
a theme.</p>
|
||||
<h2>Steps for creating a custom resource provider</h2>
|
||||
<ol>
|
||||
<li>Import a file such as an image or a font into Trilium by drag & drop.</li>
|
||||
<li>Select the file and go to the <em>Owned Attributes</em> section.</li>
|
||||
<li>Add the label <code>#customResourceProvider=hello</code>.</li>
|
||||
<li>To test if it is working, use a browser to navigate to <code><protocol>://<host>/custom/hello</code> (where <code><protocol></code> is
|
||||
either <code>http</code> or <code>https</code> based on your setup, and <code><host></code> is
|
||||
the host or IP to your Trilium server instance). If you are running the
|
||||
TriliumNext application without a server, use <code>http://localhost:37840</code> as
|
||||
the base URL.</li>
|
||||
<li>If everything went well, at the previous step the browser should have
|
||||
downloaded the file uploaded in the first step.</li>
|
||||
</ol>
|
||||
<p>Instead of <code>hello</code>, the name can be:</p>
|
||||
<ul>
|
||||
<li>A path, such as <code>fonts/Roboto.ttf</code>, which would be accessible
|
||||
via <code><host>/custom/fonts/Roboto.ttf</code>.</li>
|
||||
<li>As a more advanced use case, a regular expression to match multiple routes,
|
||||
such as <code>hello/.*</code> which will be accessible via <code>/custom/hello/1</code>, <code>/custom/hello/2</code>, <code>/custom/hello/world</code>,
|
||||
etc.</li>
|
||||
</ul>
|
||||
<h2>Using it in a theme</h2>
|
||||
<p>For example, if you have a custom font to be imported by the theme, first
|
||||
upload a font file into Trilium and assign it the <code>#customResourceProvider=fonts/myfont.ttf</code> attribute.</p>
|
||||
<p>Then modify the theme CSS to point to:</p><pre><code class="language-text-css">@font-face {
|
||||
<p>A custom resource provider allows any file imported into Trilium (images,
|
||||
fonts, stylesheets) to be publicly accessible via a URL.</p>
|
||||
<p>A potential use case for this is to add embed a custom font alongside
|
||||
a theme.</p>
|
||||
<h2>Steps for creating a custom resource provider</h2>
|
||||
<ol>
|
||||
<li>Import a file such as an image or a font into Trilium by drag & drop.</li>
|
||||
<li>Select the file and go to the <em>Owned Attributes</em> section.</li>
|
||||
<li>Add the label <code>#customResourceProvider=hello</code>.</li>
|
||||
<li>To test if it is working, use a browser to navigate to <code><protocol>://<host>/custom/hello</code> (where <code><protocol></code> is
|
||||
either <code>http</code> or <code>https</code> based on your setup, and <code><host></code> is
|
||||
the host or IP to your Trilium server instance). If you are running the
|
||||
TriliumNext application without a server, use <code>http://localhost:37840</code> as
|
||||
the base URL.</li>
|
||||
<li>If everything went well, at the previous step the browser should have
|
||||
downloaded the file uploaded in the first step.</li>
|
||||
</ol>
|
||||
<p>Instead of <code>hello</code>, the name can be:</p>
|
||||
<ul>
|
||||
<li>A path, such as <code>fonts/Roboto.ttf</code>, which would be accessible
|
||||
via <code><host>/custom/fonts/Roboto.ttf</code>.</li>
|
||||
<li>As a more advanced use case, a regular expression to match multiple routes,
|
||||
such as <code>hello/.*</code> which will be accessible via <code>/custom/hello/1</code>, <code>/custom/hello/2</code>, <code>/custom/hello/world</code>,
|
||||
etc.</li>
|
||||
</ul>
|
||||
<h2>Using it in a theme</h2>
|
||||
<p>For example, if you have a custom font to be imported by the theme, first
|
||||
upload a font file into Trilium and assign it the <code>#customResourceProvider=fonts/myfont.ttf</code> attribute.</p>
|
||||
<p>Then modify the theme CSS to point to:</p><pre><code class="language-text-css">@font-face {
|
||||
font-family: customFont;
|
||||
src: url("/custom/fonts/myfont.ttf");
|
||||
}
|
||||
@@ -49,8 +34,3 @@
|
||||
div {
|
||||
font-family: customFont;
|
||||
}</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,47 +1,27 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Database</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Database</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Your Trilium data is stored in a <a href="https://www.sqlite.org">SQLite</a> database
|
||||
which contains all notes, tree structure, metadata, and most of the configuration.
|
||||
The database file is named <code>document.db</code> and is stored in the
|
||||
application's default <a href="#root/_help_tAassRL4RSQL">Data directory</a>.</p>
|
||||
<h2>Demo Notes</h2>
|
||||
<p>When first starting Trilium, it will provide a set of notes to showcase
|
||||
various features of the application.</p>
|
||||
<p>For more information see <a class="reference-link" href="#root/_help_6tZeKvSHEUiB">Demo Notes</a>.</p>
|
||||
<h2>Manually Modifying the Database</h2>
|
||||
<p>Trilium provides a lot of flexibility, and with it, opportunities for
|
||||
advanced users to tweak it. If you need to explore or modify the database
|
||||
directly, you can use a tool such as <a href="https://sqlitebrowser.org/">SQLite Browser</a> to
|
||||
work directly on the database file.</p>
|
||||
<p>See <a href="#root/_help_oyIAJ9PvvwHX">Manually altering the database</a> for
|
||||
more information.</p>
|
||||
<h2>How to Reset the Database</h2>
|
||||
<p>If you are experimenting with Trilium and want to return it to its original
|
||||
state, you can do that by deleting the current database. When you restart
|
||||
the application, it will generate a new database containing the original
|
||||
demo notes.</p>
|
||||
<p>To delete the database, simply go to the <a href="#root/_help_tAassRL4RSQL">data directory</a> and
|
||||
delete the <code>document.db</code> file (and any other files starting with <code>document.db</code>).</p>
|
||||
<p>If you do not need to preserve any configurations that might be stored
|
||||
in the <code>config.ini</code> file, you can just delete all of the <a href="#root/_help_tAassRL4RSQL">data directory's</a> contents
|
||||
to fully restore the application to its original state. You can also review
|
||||
the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file to provide
|
||||
all <code>config.ini</code> values as environment variables instead.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Your Trilium data is stored in a <a href="https://www.sqlite.org">SQLite</a> database
|
||||
which contains all notes, tree structure, metadata, and most of the configuration.
|
||||
The database file is named <code>document.db</code> and is stored in the
|
||||
application's default <a href="#root/_help_tAassRL4RSQL">Data directory</a>.</p>
|
||||
<h2>Demo Notes</h2>
|
||||
<p>When first starting Trilium, it will provide a set of notes to showcase
|
||||
various features of the application.</p>
|
||||
<p>For more information see <a class="reference-link" href="#root/_help_6tZeKvSHEUiB">Demo Notes</a>.</p>
|
||||
<h2>Manually Modifying the Database</h2>
|
||||
<p>Trilium provides a lot of flexibility, and with it, opportunities for
|
||||
advanced users to tweak it. If you need to explore or modify the database
|
||||
directly, you can use a tool such as <a href="https://sqlitebrowser.org/">SQLite Browser</a> to
|
||||
work directly on the database file.</p>
|
||||
<p>See <a href="#root/_help_oyIAJ9PvvwHX">Manually altering the database</a> for
|
||||
more information.</p>
|
||||
<h2>How to Reset the Database</h2>
|
||||
<p>If you are experimenting with Trilium and want to return it to its original
|
||||
state, you can do that by deleting the current database. When you restart
|
||||
the application, it will generate a new database containing the original
|
||||
demo notes.</p>
|
||||
<p>To delete the database, simply go to the <a href="#root/_help_tAassRL4RSQL">data directory</a> and
|
||||
delete the <code>document.db</code> file (and any other files starting with <code>document.db</code>).</p>
|
||||
<p>If you do not need to preserve any configurations that might be stored
|
||||
in the <code>config.ini</code> file, you can just delete all of the <a href="#root/_help_tAassRL4RSQL">data directory's</a> contents
|
||||
to fully restore the application to its original state. You can also review
|
||||
the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file to provide
|
||||
all <code>config.ini</code> values as environment variables instead.</p>
|
||||
@@ -1,50 +1,30 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Demo Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Demo Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>When you run Trilium for the first time, it will generate a new database
|
||||
containing demo notes. These notes showcase its many features, such as:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_l0tKav7yLHGF">Day Notes</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_xYjQUYhpbUEW">Task Manager</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_Wy267RK4M69c">Themes</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Restoring Demo Notes</h3>
|
||||
<p>There are some cases in which you may want to restore the original demo
|
||||
notes. For example, if you experimented with some of the more advanced
|
||||
features and want to see the original reference, or if you simply want
|
||||
to explore the latest version of the demo notes, which might showcase new
|
||||
features.</p>
|
||||
<p>You can easily restore the demo notes by using Trilium's built-in import
|
||||
feature by importing them:</p>
|
||||
<ul>
|
||||
<li>Download <a href="https://github.com/TriliumNext/Notes/raw/develop/db/demo.zip">this .zip archive</a> with
|
||||
the latest version of the demo notes</li>
|
||||
<li>Right click on any note in your tree under which you would like the demo
|
||||
notes to be imported</li>
|
||||
<li>Click "Import into note"</li>
|
||||
<li>Select the .zip archive to import it</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>When you run Trilium for the first time, it will generate a new database
|
||||
containing demo notes. These notes showcase its many features, such as:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_l0tKav7yLHGF">Day Notes</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_xYjQUYhpbUEW">Task Manager</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_Wy267RK4M69c">Themes</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Restoring Demo Notes</h3>
|
||||
<p>There are some cases in which you may want to restore the original demo
|
||||
notes. For example, if you experimented with some of the more advanced
|
||||
features and want to see the original reference, or if you simply want
|
||||
to explore the latest version of the demo notes, which might showcase new
|
||||
features.</p>
|
||||
<p>You can easily restore the demo notes by using Trilium's built-in import
|
||||
feature by importing them:</p>
|
||||
<ul>
|
||||
<li>Download <a href="https://github.com/TriliumNext/Notes/raw/develop/db/demo.zip">this .zip archive</a> with
|
||||
the latest version of the demo notes</li>
|
||||
<li>Right click on any note in your tree under which you would like the demo
|
||||
notes to be imported</li>
|
||||
<li>Click "Import into note"</li>
|
||||
<li>Select the .zip archive to import it</li>
|
||||
</ul>
|
||||
@@ -1,56 +1,36 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Manually altering the database</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Manually altering the database</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>There are some situations where modifying the SQLite database that Trilium
|
||||
uses is desirable.</p>
|
||||
<p>If you are doing any advanced development or troubleshooting where you
|
||||
manually modify the database, you might want to consider creating backups
|
||||
of your <code>document.db</code> file.</p>
|
||||
<h2>Modifying it internally using the SQL Console</h2>
|
||||
<p>The SQL Console is Trilium's built-in database editor.</p>
|
||||
<p>See <a class="reference-link" href="#root/_help_YKWqdJhzi2VY">SQL Console</a>.</p>
|
||||
<h2>Externally modifying the database</h2>
|
||||
<p>Sometimes the SQL Console cannot be used (for example if the application
|
||||
cannot start).</p>
|
||||
<p>When making external modifications, consider closing the desktop application.
|
||||
If modifying the server database, then stop the service or Docker container.</p>
|
||||
<h3>Using DB Browser for SQLite</h3>
|
||||
<p>DB Browser for SQLite is a cross-platform editor that can be used to alter
|
||||
the database using a graphical user interface.</p>
|
||||
<p>To do so:</p>
|
||||
<ol>
|
||||
<li>In the main menu, select File → Open database… and navigate to the database
|
||||
in the <a href="#root/_help_tAassRL4RSQL">Data directory</a>.</li>
|
||||
<li>Select the <em>Execute SQL</em> tab.</li>
|
||||
<li>Type in the desired SQL statement.</li>
|
||||
<li>Press the "Play" button in the toolbar underneath the "Execute SQL" tab
|
||||
(or F5 key).</li>
|
||||
<li>Press "Write Changes" in the main toolbar.</li>
|
||||
<li>Close the application or close the database.</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img src="Manually altering the data.png">
|
||||
</p>
|
||||
<h3>Using the SQLite CLI</h3>
|
||||
<p>First, start the SQLite 3 CLI by specifying the path to the database:</p><pre><code class="language-text-x-trilium-auto">sqlite3 ~/.local/share/trilium-data/document.db</code></pre>
|
||||
<ul>
|
||||
<li>In the prompt simply type the statement and make sure it ends with a <code>;</code> character.</li>
|
||||
<li>To exit, simply type <code>.quit</code> and enter.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>There are some situations where modifying the SQLite database that Trilium
|
||||
uses is desirable.</p>
|
||||
<p>If you are doing any advanced development or troubleshooting where you
|
||||
manually modify the database, you might want to consider creating backups
|
||||
of your <code>document.db</code> file.</p>
|
||||
<h2>Modifying it internally using the SQL Console</h2>
|
||||
<p>The SQL Console is Trilium's built-in database editor.</p>
|
||||
<p>See <a class="reference-link" href="#root/_help_YKWqdJhzi2VY">SQL Console</a>.</p>
|
||||
<h2>Externally modifying the database</h2>
|
||||
<p>Sometimes the SQL Console cannot be used (for example if the application
|
||||
cannot start).</p>
|
||||
<p>When making external modifications, consider closing the desktop application.
|
||||
If modifying the server database, then stop the service or Docker container.</p>
|
||||
<h3>Using DB Browser for SQLite</h3>
|
||||
<p>DB Browser for SQLite is a cross-platform editor that can be used to alter
|
||||
the database using a graphical user interface.</p>
|
||||
<p>To do so:</p>
|
||||
<ol>
|
||||
<li>In the main menu, select File → Open database… and navigate to the database
|
||||
in the <a href="#root/_help_tAassRL4RSQL">Data directory</a>.</li>
|
||||
<li>Select the <em>Execute SQL</em> tab.</li>
|
||||
<li>Type in the desired SQL statement.</li>
|
||||
<li>Press the "Play" button in the toolbar underneath the "Execute SQL" tab
|
||||
(or F5 key).</li>
|
||||
<li>Press "Write Changes" in the main toolbar.</li>
|
||||
<li>Close the application or close the database.</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img src="Manually altering the data.png">
|
||||
</p>
|
||||
<h3>Using the SQLite CLI</h3>
|
||||
<p>First, start the SQLite 3 CLI by specifying the path to the database:</p><pre><code class="language-text-x-trilium-auto">sqlite3 ~/.local/share/trilium-data/document.db</code></pre>
|
||||
<ul>
|
||||
<li>In the prompt simply type the statement and make sure it ends with a <code>;</code> character.</li>
|
||||
<li>To exit, simply type <code>.quit</code> and enter.</li>
|
||||
</ul>
|
||||
@@ -1,56 +1,36 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>SQL Console</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>SQL Console</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>The SQL Console is Trilium's built-in database editor.</p>
|
||||
<p>It can be accessed by going to the <a href="#root/_help_Vc8PjrjAGuOp">global menu</a> →
|
||||
Advanced → Open SQL Console.</p>
|
||||
<p>
|
||||
<img src="SQL Console_image.png">
|
||||
</p>
|
||||
<h3>Interaction</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Hovering the mouse over one of the tables listed at the top of the document
|
||||
will show the columns and their data type.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Only one SQL statement can be run at once.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>To run the statement, press the
|
||||
<img src="3_SQL Console_image.png">icon.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For queries that return a result, the data will displayed in a table.</p>
|
||||
<p>
|
||||
<img src="1_SQL Console_image.png">
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Saved SQL console</h3>
|
||||
<p>SQL queries or commands can be saved into a dedicated note.</p>
|
||||
<p>To do so, simply write the query and press the
|
||||
<img src="2_SQL Console_image.png">button. Once saved, the note will appear in <a href="#root/_help_l0tKav7yLHGF">Day Notes</a>.</p>
|
||||
<ul>
|
||||
<li>The SQL expression will not be displayed by default, but it can still
|
||||
be viewed by going to the note context menu and selecting <em>Note source</em>.</li>
|
||||
<li>The expression cannot be modified. If needed, recreate it by copying the
|
||||
statement back into the SQL console and then saving it again.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>The SQL Console is Trilium's built-in database editor.</p>
|
||||
<p>It can be accessed by going to the <a href="#root/_help_Vc8PjrjAGuOp">global menu</a> →
|
||||
Advanced → Open SQL Console.</p>
|
||||
<p>
|
||||
<img src="SQL Console_image.png">
|
||||
</p>
|
||||
<h3>Interaction</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Hovering the mouse over one of the tables listed at the top of the document
|
||||
will show the columns and their data type.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Only one SQL statement can be run at once.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>To run the statement, press the
|
||||
<img src="3_SQL Console_image.png">icon.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For queries that return a result, the data will displayed in a table.</p>
|
||||
<p>
|
||||
<img src="1_SQL Console_image.png">
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Saved SQL console</h3>
|
||||
<p>SQL queries or commands can be saved into a dedicated note.</p>
|
||||
<p>To do so, simply write the query and press the
|
||||
<img src="2_SQL Console_image.png">button. Once saved, the note will appear in <a href="#root/_help_l0tKav7yLHGF">Day Notes</a>.</p>
|
||||
<ul>
|
||||
<li>The SQL expression will not be displayed by default, but it can still
|
||||
be viewed by going to the note context menu and selecting <em>Note source</em>.</li>
|
||||
<li>The expression cannot be modified. If needed, recreate it by copying the
|
||||
statement back into the SQL console and then saving it again.</li>
|
||||
</ul>
|
||||
@@ -1,74 +1,54 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Default Note Title</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Default Note Title</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>When a new note is created, its name is by default "new note". In some
|
||||
cases, it can be desirable to have a different or even a dynamic default
|
||||
note title.</p>
|
||||
<p>For this use case, Trilium (since v0.52) supports <code>#titleTemplate</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">label</a>. You can create such a label for a given note, assign it a value,
|
||||
and this value will be used as a default title when creating child notes.
|
||||
As with other labels, you can make it inheritable to apply recursively,
|
||||
and you can even place it on the root note to have it applied globally
|
||||
everywhere.</p>
|
||||
<p>As an example use case, imagine you collect books you've read in a given
|
||||
year like this:</p>
|
||||
<p>When a new note is created, its name is by default "new note". In some
|
||||
cases, it can be desirable to have a different or even a dynamic default
|
||||
note title.</p>
|
||||
<p>For this use case, Trilium (since v0.52) supports <code>#titleTemplate</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">label</a>. You can create such a label for a given note, assign it a value,
|
||||
and this value will be used as a default title when creating child notes.
|
||||
As with other labels, you can make it inheritable to apply recursively,
|
||||
and you can even place it on the root note to have it applied globally
|
||||
everywhere.</p>
|
||||
<p>As an example use case, imagine you collect books you've read in a given
|
||||
year like this:</p>
|
||||
<ul>
|
||||
<li>2022 Books
|
||||
<ul>
|
||||
<li>Neal Stephenson: Anathem, 2008</li>
|
||||
<li>Franz Kafka: Die Verwandlung, 1915</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Now, to the parent note "2022 Books" you can assign label <code>#titleTemplate="[Author name]: [Book title], [Publication year]"</code>.</p>
|
||||
<p>And all children of "2022 Books" will be created with initial title "[Author
|
||||
name]: [Book title], [Publication year]". There's no artificial intelligence
|
||||
here, the idea is to just prompt you to manually fill in the pieces of
|
||||
information into the note title by yourself.</p>
|
||||
<h2>Dynamic value</h2>
|
||||
<p>The value of <code>#titleTemplate</code> is evaluated at the point of note's
|
||||
creation as a JavaScript string, which means it can be enriched with the
|
||||
help of JS string interpolation with dynamic data.</p>
|
||||
<p>Second variable injected is <code>parentNote</code> which gives access to
|
||||
the parent <a href="#root/_help_habiZ3HU8Kw8"><code>FNote</code></a>.</p>
|
||||
<p>See also <a class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> which
|
||||
provides similar capabilities, including default note's content.</p>
|
||||
<h3>Examples</h3>
|
||||
<ul>
|
||||
<li>Imagine you collect server outage incidents and write some notes. It looks
|
||||
like this:
|
||||
<ul>
|
||||
<li>Incidents
|
||||
<ul>
|
||||
<li>2022 Books
|
||||
<ul>
|
||||
<li>Neal Stephenson: Anathem, 2008</li>
|
||||
<li>Franz Kafka: Die Verwandlung, 1915</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>2022-05-09: System crash</li>
|
||||
<li>2022-05-15: Backup delay</li>
|
||||
</ul>
|
||||
<p>Now, to the parent note "2022 Books" you can assign label <code>#titleTemplate="[Author name]: [Book title], [Publication year]"</code>.</p>
|
||||
<p>And all children of "2022 Books" will be created with initial title "[Author
|
||||
name]: [Book title], [Publication year]". There's no artificial intelligence
|
||||
here, the idea is to just prompt you to manually fill in the pieces of
|
||||
information into the note title by yourself.</p>
|
||||
<h2>Dynamic value</h2>
|
||||
<p>The value of <code>#titleTemplate</code> is evaluated at the point of note's
|
||||
creation as a JavaScript string, which means it can be enriched with the
|
||||
help of JS string interpolation with dynamic data.</p>
|
||||
<p>Second variable injected is <code>parentNote</code> which gives access to
|
||||
the parent <a href="#root/_help_habiZ3HU8Kw8"><code>FNote</code></a>.</p>
|
||||
<p>See also <a class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> which
|
||||
provides similar capabilities, including default note's content.</p>
|
||||
<h3>Examples</h3>
|
||||
<ul>
|
||||
<li>Imagine you collect server outage incidents and write some notes. It looks
|
||||
like this:
|
||||
<ul>
|
||||
<li>Incidents
|
||||
<ul>
|
||||
<li>2022-05-09: System crash</li>
|
||||
<li>2022-05-15: Backup delay</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>You can automatize the date assignment by assigning a label <code>#titleTemplate="${now.format('YYYY-MM-DD')}: "</code> to
|
||||
the parent note "Incidents". Whenever a new child note is created, the
|
||||
title template is evaluated with the injected <a href="https://day.js.org/docs/en/display/format">now</a> object.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>To use a parent's attribute in the title of new notes: <code>#titleTemplate="${parentNote.getLabelValue('authorName')}'s literary works"</code>
|
||||
</li>
|
||||
<li>To mirror the parent's note title: <code>${parentNote.title}</code>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</li>
|
||||
<li>You can automatize the date assignment by assigning a label <code>#titleTemplate="${now.format('YYYY-MM-DD')}: "</code> to
|
||||
the parent note "Incidents". Whenever a new child note is created, the
|
||||
title template is evaluated with the injected <a href="https://day.js.org/docs/en/display/format">now</a> object.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>To use a parent's attribute in the title of new notes: <code>#titleTemplate="${parentNote.getLabelValue('authorName')}'s literary works"</code>
|
||||
</li>
|
||||
<li>To mirror the parent's note title: <code>${parentNote.title}</code>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1,45 +1,30 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>ETAPI (REST API)</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>ETAPI (REST API)</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>ETAPI is Trilium's public/external REST API. It is available since Trilium
|
||||
v0.50.</p>
|
||||
<p>The documentation is in OpenAPI format, available <a href="https://github.com/TriliumNext/Notes/blob/master/src/etapi/etapi.openapi.yaml">here</a>.</p>
|
||||
<h2>API clients</h2>
|
||||
<p>As an alternative to calling the API directly, there are client libraries
|
||||
to simplify this</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/Nriver/trilium-py">trilium-py</a>, you can
|
||||
use Python to communicate with Trilium.</li>
|
||||
</ul>
|
||||
<h2>Authentication</h2>
|
||||
<p>All operations have to be authenticated using a token. You can get this
|
||||
token either from Options -> ETAPI or programmatically using the <code>/auth/login</code> REST
|
||||
call (see the <a href="https://github.com/TriliumNext/Notes/blob/master/src/etapi/etapi.openapi.yaml">spec</a>):</p><pre><code class="language-text-x-trilium-auto">GET https://myserver.com/etapi/app-info
|
||||
<p>ETAPI is Trilium's public/external REST API. It is available since Trilium
|
||||
v0.50.</p>
|
||||
<p>The documentation is in OpenAPI format, available <a href="https://github.com/TriliumNext/Notes/blob/master/src/etapi/etapi.openapi.yaml">here</a>.</p>
|
||||
<h2>API clients</h2>
|
||||
<p>As an alternative to calling the API directly, there are client libraries
|
||||
to simplify this</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/Nriver/trilium-py">trilium-py</a>, you can
|
||||
use Python to communicate with Trilium.</li>
|
||||
</ul>
|
||||
<h2>Authentication</h2>
|
||||
<p>All operations have to be authenticated using a token. You can get this
|
||||
token either from Options -> ETAPI or programmatically using the <code>/auth/login</code> REST
|
||||
call (see the <a href="https://github.com/TriliumNext/Notes/blob/master/src/etapi/etapi.openapi.yaml">spec</a>):</p><pre><code class="language-text-x-trilium-auto">GET https://myserver.com/etapi/app-info
|
||||
Authorization: ETAPITOKEN</code></pre>
|
||||
<p>Alternatively, since 0.56 you can also use basic auth format:</p><pre><code class="language-text-x-trilium-auto">GET https://myserver.com/etapi/app-info
|
||||
<p>Alternatively, since 0.56 you can also use basic auth format:</p><pre><code class="language-text-x-trilium-auto">GET https://myserver.com/etapi/app-info
|
||||
Authorization: Basic BATOKEN</code></pre>
|
||||
<ul>
|
||||
<li>Where <code>BATOKEN = BASE64(username + ':' + password)</code> - this is
|
||||
a standard Basic Auth serialization</li>
|
||||
<li>Where <code>username</code> is "etapi"</li>
|
||||
<li>And <code>password</code> is the generated ETAPI token described above.</li>
|
||||
</ul>
|
||||
<p>Basic Auth is meant to be used with tools which support only basic auth.</p>
|
||||
<h2>Interaction using Bash scripts</h2>
|
||||
<p>It is possible to write simple Bash scripts to interact with Trilium.
|
||||
As an example, here's how to obtain the HTML content of a note:</p><pre><code class="language-text-x-trilium-auto">#!/usr/bin/env bash
|
||||
<ul>
|
||||
<li>Where <code>BATOKEN = BASE64(username + ':' + password)</code> - this is
|
||||
a standard Basic Auth serialization</li>
|
||||
<li>Where <code>username</code> is "etapi"</li>
|
||||
<li>And <code>password</code> is the generated ETAPI token described above.</li>
|
||||
</ul>
|
||||
<p>Basic Auth is meant to be used with tools which support only basic auth.</p>
|
||||
<h2>Interaction using Bash scripts</h2>
|
||||
<p>It is possible to write simple Bash scripts to interact with Trilium.
|
||||
As an example, here's how to obtain the HTML content of a note:</p><pre><code class="language-text-x-trilium-auto">#!/usr/bin/env bash
|
||||
|
||||
# Configuration
|
||||
TOKEN=z1vA4fkGxjOR_ZXLrZeqHEFOv65yV3882iFCRtNIK9k9iWrHliITNSLQ=
|
||||
@@ -48,15 +33,10 @@ SERVER=http://localhost:8080
|
||||
# Download a note by ID
|
||||
NOTE_ID="i6ra4ZshJhgN"
|
||||
curl "$SERVER/etapi/notes/$NOTE_ID/content" -H "Authorization: $TOKEN" </code></pre>
|
||||
<p>Make sure to replace the values of:</p>
|
||||
<ul>
|
||||
<li><code>TOKEN</code> with your ETAPI token.</li>
|
||||
<li><code>SERVER</code> with the correct protocol, host name and port to your
|
||||
Trilium instance.</li>
|
||||
<li><code>NOTE_ID</code> with an existing note ID to download.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Make sure to replace the values of:</p>
|
||||
<ul>
|
||||
<li><code>TOKEN</code> with your ETAPI token.</li>
|
||||
<li><code>SERVER</code> with the correct protocol, host name and port to your
|
||||
Trilium instance.</li>
|
||||
<li><code>NOTE_ID</code> with an existing note ID to download.</li>
|
||||
</ul>
|
||||
@@ -1,202 +1,182 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Hidden Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Hidden Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-right">
|
||||
<img style="aspect-ratio:263/445;" src="Hidden Notes_image.png" width="263"
|
||||
height="445">
|
||||
</figure>
|
||||
<p>For easy extensibility, a lot of features in Trilium make use of actual
|
||||
notes to store information as opposed to having them stored in a separate
|
||||
location in the database. This allows some functions such as <a class="reference-link"
|
||||
href="#root/_help_zEY4DaJG4YT5">Attributes</a>, <a class="reference-link"
|
||||
href="#root/_help_Cq5X6iKQop6R">Relations</a> or even <a class="reference-link"
|
||||
href="#root/_help_eIg8jdvaoNNd">Search</a> and <a class="reference-link"
|
||||
href="#root/_help_QEAPj01N5f7w">Links</a> to be able to operate on
|
||||
them.</p>
|
||||
<p>As the name suggests, these notes are hidden to the user by default to
|
||||
prevent cluttering the note tree and to prevent them from being accidentally
|
||||
deleted.</p>
|
||||
<p>The hidden notes are stored in the user's <a class="reference-link"
|
||||
href="#root/_help_wX4HbRucYSDD">Database</a> just like normal notes,
|
||||
but they have a unique <a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a> which
|
||||
allows them to be distinguished from the normal ones.</p>
|
||||
<h2>Accessing the hidden note tree</h2>
|
||||
<p>From the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a>,
|
||||
select <em>Advanced</em> → <em>Show Hidden Subtree</em>.</p>
|
||||
<h2>Contents of the hidden note tree</h2>
|
||||
<p>Here is a brief summary of all the notes within the hidden tree:</p>
|
||||
<figure
|
||||
class="table" style="width:100%;">
|
||||
<table class="ck-table-resized">
|
||||
<colgroup>
|
||||
<col style="width:19.93%;">
|
||||
<col style="width:80.07%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Note</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__globalNoteMap">Note Map</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This note is actually opened when the <a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a> feature
|
||||
that is accessed from the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</p>
|
||||
<p>It is possible to create any child notes in it without any additional
|
||||
meaning. For example, it can be used to store a list of note maps which
|
||||
can be linked to from other notes or <a href="#root/_help_u3YFHC9tQlpm">bookmarked</a>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__sqlConsole">SQL Console History</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>When SQL queries or commands are executed in the <a class="reference-link"
|
||||
href="#root/_help_YKWqdJhzi2VY">SQL Console</a>, they are stored here,
|
||||
grouped by month. Only the query is stored and not the results.</p>
|
||||
<p>This section can be accessed without going to the hidden tree by simply
|
||||
going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting Advanced → Open SQL Console History.</p>
|
||||
<p>Notes can be added as children of this tree, but it's generally not recommended
|
||||
to do so to not interfere with the normal history process.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__search">Search History</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>Whenever a search is executed from the full <a class="reference-link"
|
||||
href="#root/_help_eIg8jdvaoNNd">Search</a>, the query will be stored here,
|
||||
grouped by month. Only the search parameters are stored and not the results
|
||||
themselves.</p>
|
||||
<p>This section can be accessed without going to the hidden tree by simply
|
||||
going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting Advanced → Open Search History.</p>
|
||||
<p>Notes can be added as children of this tree, but it's generally not recommended
|
||||
to do so to not interfere with the normal history process.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__bulkAction">Bulk Action</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This section is used for <a class="reference-link" href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>.
|
||||
The last configuration for bulk actions will be stored as part of this
|
||||
note, each action in its own <code>action</code> label.</p>
|
||||
<p>Notes can be added as children of this tree, but there won't be any benefit
|
||||
in doing so.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__backendLog">Backend Log</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This note corresponds to the backend log feature (see <a class="reference-link"
|
||||
href="#root/_help_qzNzp9LYQyPT">Error logs</a>).</p>
|
||||
<p>This item can be accessed without going to the hidden try by going to
|
||||
the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting Advanced → Show backend log.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__userHidden">User Hidden</a>
|
||||
</td>
|
||||
<td>This section can be used by <a href="#root/_help_CdNpE2pqjmI6">scripts</a> to
|
||||
create their own notes that should not be directly visible to the user.
|
||||
The note can be identified by scripts by its unique ID: <code>_userHidden</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__lbTplRoot">Launch Bar Templates</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This section contains the templates for the creation of launchers in the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>. It is not possible to create child notes here.</p>
|
||||
<p>Theoretically some of the notes here can be customized, but there's not
|
||||
much benefit to be had in doing so.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__share">Shared Notes</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This tree lists all of the notes that are <a href="#root/_help_R9pX4DGra2Vt">shared</a> publicly.
|
||||
It can be useful to track down which notes are shared regardless of their
|
||||
position in the note tree.</p>
|
||||
<p>This section can be accessed without going to the hidden tree simply by
|
||||
going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting <em>Show Shared Notes Subtree</em>.</p>
|
||||
<p>Sub-notes cannot be created here.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__lbRoot">Launch Bar</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>The tree contains both available and displayed items of the <a class="reference-link"
|
||||
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</p>
|
||||
<p>This section can be accessed without going to the hidden tree by:</p>
|
||||
<ul>
|
||||
<li>Going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting <em>Configure Launchbar</em>.</li>
|
||||
<li>Right-clicking an empty space on the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> and
|
||||
selecting <em>Configure Launchbar</em>.</li>
|
||||
</ul>
|
||||
<p>Sub-notes cannot be created here.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__options">Options</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This section stores the list of <a class="reference-link" href="#root/_help_4TIF1oA4VQRO">Options</a>.</p>
|
||||
<p>This section can be accessed without going to the hidden tree by:</p>
|
||||
<ul>
|
||||
<li>Going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting <em>Options</em>.</li>
|
||||
<li>Pressing the dedicated Options icon in the <a class="reference-link"
|
||||
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__lbMobileRoot">Mobile Launch Bar</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This is very similar to the <em>Launch Bar</em>, but is dedicated for the
|
||||
mobile UI only.</p>
|
||||
<p>Accessing it outside the <em>Launch Bar</em> is the same as the Launch Bar,
|
||||
but needs to be done so from the mobile interface.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__help">User Guide</a>
|
||||
</td>
|
||||
<td>This is where the note structure for the User Guide is actually stored.
|
||||
Only the metadata is stored, as the help itself is present as actual files
|
||||
in the application directory.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<figure class="image image-style-align-right">
|
||||
<img style="aspect-ratio:263/445;" src="Hidden Notes_image.png" width="263"
|
||||
height="445">
|
||||
</figure>
|
||||
<p>For easy extensibility, a lot of features in Trilium make use of actual
|
||||
notes to store information as opposed to having them stored in a separate
|
||||
location in the database. This allows some functions such as <a class="reference-link"
|
||||
href="#root/_help_zEY4DaJG4YT5">Attributes</a>, <a class="reference-link"
|
||||
href="#root/_help_Cq5X6iKQop6R">Relations</a> or even <a class="reference-link"
|
||||
href="#root/_help_eIg8jdvaoNNd">Search</a> and <a class="reference-link"
|
||||
href="#root/_help_QEAPj01N5f7w">Links</a> to be able to operate on
|
||||
them.</p>
|
||||
<p>As the name suggests, these notes are hidden to the user by default to
|
||||
prevent cluttering the note tree and to prevent them from being accidentally
|
||||
deleted.</p>
|
||||
<p>The hidden notes are stored in the user's <a class="reference-link"
|
||||
href="#root/_help_wX4HbRucYSDD">Database</a> just like normal notes,
|
||||
but they have a unique <a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a> which
|
||||
allows them to be distinguished from the normal ones.</p>
|
||||
<h2>Accessing the hidden note tree</h2>
|
||||
<p>From the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a>,
|
||||
select <em>Advanced</em> → <em>Show Hidden Subtree</em>.</p>
|
||||
<h2>Contents of the hidden note tree</h2>
|
||||
<p>Here is a brief summary of all the notes within the hidden tree:</p>
|
||||
<figure
|
||||
class="table" style="width:100%;">
|
||||
<table class="ck-table-resized">
|
||||
<colgroup>
|
||||
<col style="width:19.93%;">
|
||||
<col style="width:80.07%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Note</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__globalNoteMap">Note Map</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This note is actually opened when the <a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a> feature
|
||||
that is accessed from the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</p>
|
||||
<p>It is possible to create any child notes in it without any additional
|
||||
meaning. For example, it can be used to store a list of note maps which
|
||||
can be linked to from other notes or <a href="#root/_help_u3YFHC9tQlpm">bookmarked</a>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__sqlConsole">SQL Console History</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>When SQL queries or commands are executed in the <a class="reference-link"
|
||||
href="#root/_help_YKWqdJhzi2VY">SQL Console</a>, they are stored here,
|
||||
grouped by month. Only the query is stored and not the results.</p>
|
||||
<p>This section can be accessed without going to the hidden tree by simply
|
||||
going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting Advanced → Open SQL Console History.</p>
|
||||
<p>Notes can be added as children of this tree, but it's generally not recommended
|
||||
to do so to not interfere with the normal history process.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__search">Search History</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>Whenever a search is executed from the full <a class="reference-link"
|
||||
href="#root/_help_eIg8jdvaoNNd">Search</a>, the query will be stored here,
|
||||
grouped by month. Only the search parameters are stored and not the results
|
||||
themselves.</p>
|
||||
<p>This section can be accessed without going to the hidden tree by simply
|
||||
going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting Advanced → Open Search History.</p>
|
||||
<p>Notes can be added as children of this tree, but it's generally not recommended
|
||||
to do so to not interfere with the normal history process.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__bulkAction">Bulk Action</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This section is used for <a class="reference-link" href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>.
|
||||
The last configuration for bulk actions will be stored as part of this
|
||||
note, each action in its own <code>action</code> label.</p>
|
||||
<p>Notes can be added as children of this tree, but there won't be any benefit
|
||||
in doing so.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__backendLog">Backend Log</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This note corresponds to the backend log feature (see <a class="reference-link"
|
||||
href="#root/_help_qzNzp9LYQyPT">Error logs</a>).</p>
|
||||
<p>This item can be accessed without going to the hidden try by going to
|
||||
the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting Advanced → Show backend log.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__userHidden">User Hidden</a>
|
||||
</td>
|
||||
<td>This section can be used by <a href="#root/_help_CdNpE2pqjmI6">scripts</a> to
|
||||
create their own notes that should not be directly visible to the user.
|
||||
The note can be identified by scripts by its unique ID: <code>_userHidden</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__lbTplRoot">Launch Bar Templates</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This section contains the templates for the creation of launchers in the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>. It is not possible to create child notes here.</p>
|
||||
<p>Theoretically some of the notes here can be customized, but there's not
|
||||
much benefit to be had in doing so.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__share">Shared Notes</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This tree lists all of the notes that are <a href="#root/_help_R9pX4DGra2Vt">shared</a> publicly.
|
||||
It can be useful to track down which notes are shared regardless of their
|
||||
position in the note tree.</p>
|
||||
<p>This section can be accessed without going to the hidden tree simply by
|
||||
going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting <em>Show Shared Notes Subtree</em>.</p>
|
||||
<p>Sub-notes cannot be created here.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__lbRoot">Launch Bar</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>The tree contains both available and displayed items of the <a class="reference-link"
|
||||
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</p>
|
||||
<p>This section can be accessed without going to the hidden tree by:</p>
|
||||
<ul>
|
||||
<li>Going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting <em>Configure Launchbar</em>.</li>
|
||||
<li>Right-clicking an empty space on the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> and
|
||||
selecting <em>Configure Launchbar</em>.</li>
|
||||
</ul>
|
||||
<p>Sub-notes cannot be created here.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__options">Options</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This section stores the list of <a class="reference-link" href="#root/_help_4TIF1oA4VQRO">Options</a>.</p>
|
||||
<p>This section can be accessed without going to the hidden tree by:</p>
|
||||
<ul>
|
||||
<li>Going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
selecting <em>Options</em>.</li>
|
||||
<li>Pressing the dedicated Options icon in the <a class="reference-link"
|
||||
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__lbMobileRoot">Mobile Launch Bar</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>This is very similar to the <em>Launch Bar</em>, but is dedicated for the
|
||||
mobile UI only.</p>
|
||||
<p>Accessing it outside the <em>Launch Bar</em> is the same as the Launch Bar,
|
||||
but needs to be done so from the mobile interface.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_hidden/_help__help">User Guide</a>
|
||||
</td>
|
||||
<td>This is where the note structure for the User Guide is actually stored.
|
||||
Only the metadata is stored, as the help itself is present as actual files
|
||||
in the application directory.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
@@ -1,46 +1,26 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note ID</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note ID</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Whereas some applications use file names to uniquely identify notes, Trilium
|
||||
uses the concept of Note ID.</p>
|
||||
<p>Generally, the Note ID is a 12-character long alphanumeric sequence (including
|
||||
both lower and upper case letter) that is randomly generated for each new
|
||||
note.</p>
|
||||
<h2>How does the import/export affect the note IDs</h2>
|
||||
<p>When notes are exported, their note ID is kept in the metadata of the
|
||||
export. However when they are imported back in, a new note ID is generated
|
||||
for all the notes. This also includes other entities that are part of the
|
||||
import/export process such as <a class="reference-link" href="#root/_help_0vhv7lsOLy82">Attachments</a>.</p>
|
||||
<h2>Note collisions</h2>
|
||||
<p>Since the Note ID is a fixed-width randomly generated number, due to the
|
||||
<a
|
||||
href="https://en.wikipedia.org/wiki/Pigeonhole_principle">pigeonhole principle</a>, there is a possibility that a newly created
|
||||
note will have the same ID as an existing note.</p>
|
||||
<p>Since the note ID is alphanumeric and the length is 12 we have
|
||||
<span
|
||||
class="math-tex">\(62^{12}\)</span> unique IDs. However since we are generating them
|
||||
randomly, we can use a collision calculator such as the one for <a href="https://alex7kom.github.io/nano-nanoid-cc/?alphabet=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&size=12&speed=1000&speedUnit=hour">Nano ID</a> to
|
||||
determine that we'd need to create 1000 notes per hour every hour for 9
|
||||
centuries in order to have at least 1% probability of a note collision.</p>
|
||||
<p>As such, Trilium does not take any explicit action against potential note
|
||||
collisions, similar to other software that makes uses of unique hashes
|
||||
such as <a href="https://stackoverflow.com/questions/10434326/hash-collision-in-git">Git</a>.
|
||||
If one would theoretically occur, what would most likely happen is that
|
||||
the existing note will be replaced by the new one.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Whereas some applications use file names to uniquely identify notes, Trilium
|
||||
uses the concept of Note ID.</p>
|
||||
<p>Generally, the Note ID is a 12-character long alphanumeric sequence (including
|
||||
both lower and upper case letter) that is randomly generated for each new
|
||||
note.</p>
|
||||
<h2>How does the import/export affect the note IDs</h2>
|
||||
<p>When notes are exported, their note ID is kept in the metadata of the
|
||||
export. However when they are imported back in, a new note ID is generated
|
||||
for all the notes. This also includes other entities that are part of the
|
||||
import/export process such as <a class="reference-link" href="#root/_help_0vhv7lsOLy82">Attachments</a>.</p>
|
||||
<h2>Note collisions</h2>
|
||||
<p>Since the Note ID is a fixed-width randomly generated number, due to the
|
||||
<a
|
||||
href="https://en.wikipedia.org/wiki/Pigeonhole_principle">pigeonhole principle</a>, there is a possibility that a newly created
|
||||
note will have the same ID as an existing note.</p>
|
||||
<p>Since the note ID is alphanumeric and the length is 12 we have
|
||||
<span
|
||||
class="math-tex">\(62^{12}\)</span> unique IDs. However since we are generating them
|
||||
randomly, we can use a collision calculator such as the one for <a href="https://alex7kom.github.io/nano-nanoid-cc/?alphabet=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&size=12&speed=1000&speedUnit=hour">Nano ID</a> to
|
||||
determine that we'd need to create 1000 notes per hour every hour for 9
|
||||
centuries in order to have at least 1% probability of a note collision.</p>
|
||||
<p>As such, Trilium does not take any explicit action against potential note
|
||||
collisions, similar to other software that makes uses of unique hashes
|
||||
such as <a href="https://stackoverflow.com/questions/10434326/hash-collision-in-git">Git</a>.
|
||||
If one would theoretically occur, what would most likely happen is that
|
||||
the existing note will be replaced by the new one.</p>
|
||||
@@ -1,50 +1,30 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note Map (Link map, Tree map)</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note Map (Link map, Tree map)</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Note map is a visualisation of connections between notes.</p>
|
||||
<p>This provides an insight into a structure ("web") of notes.</p>
|
||||
<p>There are two types of note map:</p>
|
||||
<ul>
|
||||
<li>Link Map, which shows relations between notes.</li>
|
||||
<li>Note Map, which shows the hierarchical tree structure.</li>
|
||||
</ul>
|
||||
<h2>Link Map</h2>
|
||||
<p>Shows <a href="#root/_help_zEY4DaJG4YT5">relations</a> between notes:</p>
|
||||
<p>
|
||||
<img src="1_Note Map (Link map, Tree m.png">
|
||||
</p>
|
||||
<h2>Tree Map</h2>
|
||||
<p>Shows hierarchical map of notes:</p>
|
||||
<p>
|
||||
<img src="Note Map (Link map, Tree m.png">
|
||||
</p>
|
||||
<h2>Dedicated note type</h2>
|
||||
<p>Apart from the note map feature which can be accessed from any note, it
|
||||
is also possible to create a dedicated note which will display the relations
|
||||
in full screen. See <a href="#root/_help_bdUJEHsAPYQR">Note Map</a> for
|
||||
more information.</p>
|
||||
<h2>See also</h2>
|
||||
<p><a href="#root/_help_iRwzGnHPzonm">Relation map</a> is a similar concept,
|
||||
with some differences:</p>
|
||||
<ul>
|
||||
<li>note map is automatically generated while relation map must be created
|
||||
manually</li>
|
||||
<li>relation map is a type of note while a link map is just virtual visualization</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Note map is a visualisation of connections between notes.</p>
|
||||
<p>This provides an insight into a structure ("web") of notes.</p>
|
||||
<p>There are two types of note map:</p>
|
||||
<ul>
|
||||
<li>Link Map, which shows relations between notes.</li>
|
||||
<li>Note Map, which shows the hierarchical tree structure.</li>
|
||||
</ul>
|
||||
<h2>Link Map</h2>
|
||||
<p>Shows <a href="#root/_help_zEY4DaJG4YT5">relations</a> between notes:</p>
|
||||
<p>
|
||||
<img src="1_Note Map (Link map, Tree m.png">
|
||||
</p>
|
||||
<h2>Tree Map</h2>
|
||||
<p>Shows hierarchical map of notes:</p>
|
||||
<p>
|
||||
<img src="Note Map (Link map, Tree m.png">
|
||||
</p>
|
||||
<h2>Dedicated note type</h2>
|
||||
<p>Apart from the note map feature which can be accessed from any note, it
|
||||
is also possible to create a dedicated note which will display the relations
|
||||
in full screen. See <a href="#root/_help_bdUJEHsAPYQR">Note Map</a> for
|
||||
more information.</p>
|
||||
<h2>See also</h2>
|
||||
<p><a href="#root/_help_iRwzGnHPzonm">Relation map</a> is a similar concept,
|
||||
with some differences:</p>
|
||||
<ul>
|
||||
<li>note map is automatically generated while relation map must be created
|
||||
manually</li>
|
||||
<li>relation map is a type of note while a link map is just virtual visualization</li>
|
||||
</ul>
|
||||
@@ -1,49 +1,34 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note source</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note source</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<h2>Understanding the source code of the different notes</h2>
|
||||
<p>Internally, the structure of the content of each note is different based
|
||||
on the <a class="reference-link" href="#root/_help_KSZ04uQ2D1St">Note Types</a>.</p>
|
||||
<p>For example:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> notes are
|
||||
represented internally as HTML, using the <a class="reference-link"
|
||||
href="#root/_help_MI26XDLSAlCD">CKEditor</a> representation. Note
|
||||
that due to the custom plugins, some HTML elements are specific to Trilium
|
||||
only, for example the admonitions.</li>
|
||||
<li><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes are
|
||||
plain text and are represented internally as-is.</li>
|
||||
<li><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a> notes
|
||||
contain only minimal information (viewport, zoom) as a JSON.</li>
|
||||
<li><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> notes
|
||||
are represented as JSON, with Trilium's own information alongside with
|
||||
<a
|
||||
class="reference-link" href="#root/_help_H0mM1lTxF9JI">Excalidraw</a>'s internal JSON representation format.</li>
|
||||
<li><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a> notes
|
||||
are represented as JSON, with the internal format of <a class="reference-link"
|
||||
href="#root/_help_N4IDkixaDG9C">MindElixir</a>.</li>
|
||||
</ul>
|
||||
<p>Note that some information is also stored as <a class="reference-link"
|
||||
href="#root/_help_0vhv7lsOLy82">Attachments</a>. For example <a class="reference-link"
|
||||
href="#root/_help_grjYqerjn243">Canvas</a> notes use the attachments
|
||||
feature to store the custom libraries, and alongside with <a class="reference-link"
|
||||
href="#root/_help_gBbsAeiuUxI5">Mind Map</a> and other similar note
|
||||
types it stores an SVG representation of the content for use in other features
|
||||
such as including in other notes, shared notes, etc.</p>
|
||||
<p>Here's part of the HTML representation of this note, as it's stored in
|
||||
the database (but prettified).</p><pre><code class="language-text-x-trilium-auto"><h2>
|
||||
<h2>Understanding the source code of the different notes</h2>
|
||||
<p>Internally, the structure of the content of each note is different based
|
||||
on the <a class="reference-link" href="#root/_help_KSZ04uQ2D1St">Note Types</a>.</p>
|
||||
<p>For example:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> notes are
|
||||
represented internally as HTML, using the <a class="reference-link"
|
||||
href="#root/_help_MI26XDLSAlCD">CKEditor</a> representation. Note
|
||||
that due to the custom plugins, some HTML elements are specific to Trilium
|
||||
only, for example the admonitions.</li>
|
||||
<li><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes are
|
||||
plain text and are represented internally as-is.</li>
|
||||
<li><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a> notes
|
||||
contain only minimal information (viewport, zoom) as a JSON.</li>
|
||||
<li><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> notes
|
||||
are represented as JSON, with Trilium's own information alongside with
|
||||
<a
|
||||
class="reference-link" href="#root/_help_H0mM1lTxF9JI">Excalidraw</a>'s internal JSON representation format.</li>
|
||||
<li><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a> notes
|
||||
are represented as JSON, with the internal format of <a class="reference-link"
|
||||
href="#root/_help_N4IDkixaDG9C">MindElixir</a>.</li>
|
||||
</ul>
|
||||
<p>Note that some information is also stored as <a class="reference-link"
|
||||
href="#root/_help_0vhv7lsOLy82">Attachments</a>. For example <a class="reference-link"
|
||||
href="#root/_help_grjYqerjn243">Canvas</a> notes use the attachments
|
||||
feature to store the custom libraries, and alongside with <a class="reference-link"
|
||||
href="#root/_help_gBbsAeiuUxI5">Mind Map</a> and other similar note
|
||||
types it stores an SVG representation of the content for use in other features
|
||||
such as including in other notes, shared notes, etc.</p>
|
||||
<p>Here's part of the HTML representation of this note, as it's stored in
|
||||
the database (but prettified).</p><pre><code class="language-text-x-trilium-auto"><h2>
|
||||
Understanding the source code of the different notes
|
||||
</h2>
|
||||
<p>
|
||||
@@ -53,36 +38,31 @@
|
||||
</a>
|
||||
.
|
||||
</p></code></pre>
|
||||
<h2>Viewing the source code</h2>
|
||||
<p>It is possible to view the source code of a note by pressing the contextual
|
||||
menu in <a class="reference-link" href="#root/_help_8YBEPzcpUgxw">Note buttons</a> and
|
||||
selecting <em>Note source</em>.</p>
|
||||
<p>
|
||||
<img src="Note source_image.png">
|
||||
</p>
|
||||
<p>The source code will be displayed in a new tab.</p>
|
||||
<p>For some note types, such as text notes, the source code is also formatted
|
||||
in order to be more easily readable.</p>
|
||||
<h2>Modifying the source code</h2>
|
||||
<p>It is possible to modify the source code of a note directly, however not
|
||||
via the <em>Note source</em> functionality. </p>
|
||||
<p>To do so:</p>
|
||||
<ol>
|
||||
<li>Change the note type from the real note type (e.g. Canvas, Geo Type) to
|
||||
Code (plain text) or the corresponding format such as JSON or HTML.</li>
|
||||
<li>Confirm the warning about changing the note type.</li>
|
||||
<li>The source code will appear, make the necessary modifications.</li>
|
||||
<li>Change the note type back to the real note type.</li>
|
||||
</ol>
|
||||
<aside class="admonition warning">
|
||||
<p>Depending on the changes made, there is a risk that the note will not
|
||||
render properly. It's best to save a revision before making any big changes.</p>
|
||||
<p>If the note does not render properly, modify the source code again or
|
||||
revert to a prior revision. Since the error handling for unexpected changes
|
||||
might not always be perfect, it be required to refresh the application.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>Viewing the source code</h2>
|
||||
<p>It is possible to view the source code of a note by pressing the contextual
|
||||
menu in <a class="reference-link" href="#root/_help_8YBEPzcpUgxw">Note buttons</a> and
|
||||
selecting <em>Note source</em>.</p>
|
||||
<p>
|
||||
<img src="Note source_image.png">
|
||||
</p>
|
||||
<p>The source code will be displayed in a new tab.</p>
|
||||
<p>For some note types, such as text notes, the source code is also formatted
|
||||
in order to be more easily readable.</p>
|
||||
<h2>Modifying the source code</h2>
|
||||
<p>It is possible to modify the source code of a note directly, however not
|
||||
via the <em>Note source</em> functionality. </p>
|
||||
<p>To do so:</p>
|
||||
<ol>
|
||||
<li>Change the note type from the real note type (e.g. Canvas, Geo Type) to
|
||||
Code (plain text) or the corresponding format such as JSON or HTML.</li>
|
||||
<li>Confirm the warning about changing the note type.</li>
|
||||
<li>The source code will appear, make the necessary modifications.</li>
|
||||
<li>Change the note type back to the real note type.</li>
|
||||
</ol>
|
||||
<aside class="admonition warning">
|
||||
<p>Depending on the changes made, there is a risk that the note will not
|
||||
render properly. It's best to save a revision before making any big changes.</p>
|
||||
<p>If the note does not render properly, modify the source code again or
|
||||
revert to a prior revision. Since the error handling for unexpected changes
|
||||
might not always be perfect, it be required to refresh the application.</p>
|
||||
</aside>
|
||||
@@ -1,212 +1,192 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Sharing</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Sharing</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium allows you to share selected notes as <strong>publicly accessible</strong> read-only
|
||||
documents. This feature is particularly useful for publishing content directly
|
||||
from your Trilium notes, making it accessible to others online.</p>
|
||||
<h2>Prerequisites</h2>
|
||||
<p>To use the sharing feature, you must have a <a class="reference-link"
|
||||
href="#root/_help_WOcw2SLH6tbX">Server Installation</a> of Trilium.
|
||||
This is necessary because the notes will be hosted from the server.</p>
|
||||
<h2>How to Share a Note</h2>
|
||||
<ol>
|
||||
<li>
|
||||
<p><strong>Enable Sharing</strong>: To share a note, toggle the <code>Shared</code> switch
|
||||
within the note's interface. Once sharing is enabled, an URL will appear,
|
||||
which you can click to access the shared note.</p>
|
||||
<p>
|
||||
<img src="Sharing_share-single-note.png" alt="Share Note">
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Access the Shared Note</strong>: 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 <code>localhost (127.0.0.1)</code>.</p>
|
||||
<p>
|
||||
<img src="Sharing_share-single-note-.png" alt="Shared Note Example">
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
<h2>Sharing a Note Subtree</h2>
|
||||
<p>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.</p>
|
||||
<p>
|
||||
<img src="Sharing_share-multiple-not.png" alt="Shared Subtree Example">
|
||||
</p>
|
||||
<h2>Viewing All Shared Notes</h2>
|
||||
<p>You can view a list of all shared notes by clicking on "Show Shared Notes
|
||||
Subtree." This allows you to manage and navigate through all the notes
|
||||
you have made public.</p>
|
||||
<h2>Security Considerations</h2>
|
||||
<p>Shared notes are published on the open internet and can be accessed by
|
||||
anyone with the URL. The URL's randomness does not provide security, so
|
||||
it is crucial not to share sensitive information through this feature.</p>
|
||||
<h3>Password Protection</h3>
|
||||
<p>To protect shared notes with a username and password, you can use the <code>#shareCredentials</code> attribute.
|
||||
Add this label to the note with the format <code>#shareCredentials="username:password"</code>.
|
||||
To protect an entire subtree, make sure the label is <a href="#root/_help_bwZpz2ajCEwO">inheritable</a>.</p>
|
||||
<h2>Advanced Sharing Options</h2>
|
||||
<h3>Customizing the Appearance of Shared Notes</h3>
|
||||
<p>The default shared page is basic in design, but you can customize it using
|
||||
your own CSS:</p>
|
||||
<ul>
|
||||
<li><strong>Custom CSS</strong>: Link a CSS <a class="reference-link"
|
||||
href="#root/_help_6f9hih2hXXZk">Code</a> note to the shared page by
|
||||
adding a <code>~shareCss</code> relation to the note. If you want this style
|
||||
to apply to the entire subtree, make the label inheritable. You can hide
|
||||
the CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li>
|
||||
<li><strong>Omitting Default CSS</strong>: For extensive styling changes,
|
||||
use the <code>#shareOmitDefaultCss</code> label to avoid conflicts with Trilium's
|
||||
<a
|
||||
href="#root/_help_Wy267RK4M69c">default stylesheet</a>.</li>
|
||||
</ul>
|
||||
<h3>Adding JavaScript</h3>
|
||||
<p>You can inject custom JavaScript into the shared note using the <code>~shareJs</code> relation.
|
||||
This allows you to access note attributes or traverse the note tree using
|
||||
the <code>fetchNote()</code> API, which retrieves note data based on its
|
||||
ID.</p>
|
||||
<p>Example:</p><pre><code class="language-application-javascript-env-backend">const currentNote = await fetchNote();
|
||||
<p>Trilium allows you to share selected notes as <strong>publicly accessible</strong> read-only
|
||||
documents. This feature is particularly useful for publishing content directly
|
||||
from your Trilium notes, making it accessible to others online.</p>
|
||||
<h2>Prerequisites</h2>
|
||||
<p>To use the sharing feature, you must have a <a class="reference-link"
|
||||
href="#root/_help_WOcw2SLH6tbX">Server Installation</a> of Trilium.
|
||||
This is necessary because the notes will be hosted from the server.</p>
|
||||
<h2>How to Share a Note</h2>
|
||||
<ol>
|
||||
<li>
|
||||
<p><strong>Enable Sharing</strong>: To share a note, toggle the <code>Shared</code> switch
|
||||
within the note's interface. Once sharing is enabled, an URL will appear,
|
||||
which you can click to access the shared note.</p>
|
||||
<p>
|
||||
<img src="Sharing_share-single-note.png" alt="Share Note">
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Access the Shared Note</strong>: 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 <code>localhost (127.0.0.1)</code>.</p>
|
||||
<p>
|
||||
<img src="Sharing_share-single-note-.png" alt="Shared Note Example">
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
<h2>Sharing a Note Subtree</h2>
|
||||
<p>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.</p>
|
||||
<p>
|
||||
<img src="Sharing_share-multiple-not.png" alt="Shared Subtree Example">
|
||||
</p>
|
||||
<h2>Viewing All Shared Notes</h2>
|
||||
<p>You can view a list of all shared notes by clicking on "Show Shared Notes
|
||||
Subtree." This allows you to manage and navigate through all the notes
|
||||
you have made public.</p>
|
||||
<h2>Security Considerations</h2>
|
||||
<p>Shared notes are published on the open internet and can be accessed by
|
||||
anyone with the URL. The URL's randomness does not provide security, so
|
||||
it is crucial not to share sensitive information through this feature.</p>
|
||||
<h3>Password Protection</h3>
|
||||
<p>To protect shared notes with a username and password, you can use the <code>#shareCredentials</code> attribute.
|
||||
Add this label to the note with the format <code>#shareCredentials="username:password"</code>.
|
||||
To protect an entire subtree, make sure the label is <a href="#root/_help_bwZpz2ajCEwO">inheritable</a>.</p>
|
||||
<h2>Advanced Sharing Options</h2>
|
||||
<h3>Customizing the Appearance of Shared Notes</h3>
|
||||
<p>The default shared page is basic in design, but you can customize it using
|
||||
your own CSS:</p>
|
||||
<ul>
|
||||
<li><strong>Custom CSS</strong>: Link a CSS <a class="reference-link"
|
||||
href="#root/_help_6f9hih2hXXZk">Code</a> note to the shared page by
|
||||
adding a <code>~shareCss</code> relation to the note. If you want this style
|
||||
to apply to the entire subtree, make the label inheritable. You can hide
|
||||
the CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li>
|
||||
<li><strong>Omitting Default CSS</strong>: For extensive styling changes,
|
||||
use the <code>#shareOmitDefaultCss</code> label to avoid conflicts with Trilium's
|
||||
<a
|
||||
href="#root/_help_Wy267RK4M69c">default stylesheet</a>.</li>
|
||||
</ul>
|
||||
<h3>Adding JavaScript</h3>
|
||||
<p>You can inject custom JavaScript into the shared note using the <code>~shareJs</code> relation.
|
||||
This allows you to access note attributes or traverse the note tree using
|
||||
the <code>fetchNote()</code> API, which retrieves note data based on its
|
||||
ID.</p>
|
||||
<p>Example:</p><pre><code class="language-application-javascript-env-backend">const currentNote = await fetchNote();
|
||||
const parentNote = await fetchNote(currentNote.parentNoteIds[0]);
|
||||
|
||||
for (const attr of parentNote.attributes) {
|
||||
console.log(attr.type, attr.name, attr.value);
|
||||
}</code></pre>
|
||||
<h3>Creating Human-Readable URL Aliases</h3>
|
||||
<p>Shared notes typically have URLs like <code>http://domain.tld/share/knvU8aJy4dJ7</code>,
|
||||
where the last part is the note's ID. You can make these URLs more user-friendly
|
||||
by adding the <code>#shareAlias</code> label to individual notes (e.g., <code>#shareAlias=highlighting</code>).
|
||||
This will change the URL to <code>http://domain.tld/share/highlighting</code>.</p>
|
||||
<p><strong>Important</strong>:</p>
|
||||
<ol>
|
||||
<li>Ensure that aliases are unique.</li>
|
||||
<li>Using slashes (<code>/</code>) within aliases to create subpaths is not
|
||||
supported.</li>
|
||||
</ol>
|
||||
<h3>Viewing and Managing Shared Notes</h3>
|
||||
<p>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.</p>
|
||||
<p>
|
||||
<img src="Sharing_shared-list.png" alt="Shared Notes List">
|
||||
</p>
|
||||
<h3>Setting a Custom Favicon</h3>
|
||||
<p>To customize the favicon for your shared pages, create a relation <code>~shareFavicon</code> pointing
|
||||
to a file note containing the favicon (e.g., in <code>.ico</code> format).</p>
|
||||
<h3>Sharing a Note as the Root</h3>
|
||||
<p>You can designate a specific note or folder as the root of your shared
|
||||
content by adding the <code>#shareRoot</code> label. This note will be linked
|
||||
when visiting <code>[http://domain.tld/share](http://domain/share)</code>,
|
||||
making it easier to use Trilium as a fully-fledged website. Consider combining
|
||||
this with the <code>#shareIndex</code> label, which will display a list of
|
||||
all shared notes.</p>
|
||||
<h2>Limitations</h2>
|
||||
<p>While the sharing feature is powerful, it has some limitations:</p>
|
||||
<ul>
|
||||
<li><strong>No Relation Map Support</strong>
|
||||
</li>
|
||||
<li><strong>Book Notes</strong>: Only show a list of child notes.</li>
|
||||
<li><strong>Code Notes</strong>: No syntax highlighting.</li>
|
||||
<li><strong>Static Note Tree</strong>
|
||||
</li>
|
||||
<li><strong>Protected Notes</strong>: Cannot be shared.</li>
|
||||
<li><strong>Include Notes</strong>: Not supported.</li>
|
||||
</ul>
|
||||
<p>Some of these limitations may be addressed in future updates.</p>
|
||||
<h2>Attribute reference</h2>
|
||||
<figure class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Attribute</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>shareHiddenFromTree</code>
|
||||
</td>
|
||||
<td>this note is hidden from left navigation tree, but still accessible with
|
||||
its URL</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareExternalLink</code>
|
||||
</td>
|
||||
<td>note will act as a link to an external website in the share tree</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareAlias</code>
|
||||
</td>
|
||||
<td>define an alias using which the note will be available under <code>https://your_trilium_host/share/[your_alias]</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareOmitDefaultCss</code>
|
||||
</td>
|
||||
<td>default share page CSS will be omitted. Use when you make extensive styling
|
||||
changes.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareRoot</code>
|
||||
</td>
|
||||
<td>marks note which is served on /share root.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareDescription</code>
|
||||
</td>
|
||||
<td>define text to be added to the HTML meta tag for description</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareRaw</code>
|
||||
</td>
|
||||
<td>Note will be served in its raw format, without HTML wrapper. See also
|
||||
<a
|
||||
class="reference-link" href="#root/_help_Qjt68inQ2bRj">Serving directly the content of a note</a> for an alternative method
|
||||
without setting an attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareDisallowRobotIndexing</code>
|
||||
</td>
|
||||
<td>
|
||||
<p>Indicates to web crawlers that the page should not be indexed of this
|
||||
note by:</p>
|
||||
<ul>
|
||||
<li>Setting the <code>X-Robots-Tag: noindex</code> HTTP header.</li>
|
||||
<li>Setting the <code>noindex, follow</code> meta tag.</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareCredentials</code>
|
||||
</td>
|
||||
<td>require credentials to access this shared note. Value is expected to be
|
||||
in format <code>username:password</code>. Don't forget to make this inheritable
|
||||
to apply to child-notes/images.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareIndex</code>
|
||||
</td>
|
||||
<td>Note with this label will list all roots of shared notes.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h3>Creating Human-Readable URL Aliases</h3>
|
||||
<p>Shared notes typically have URLs like <code>http://domain.tld/share/knvU8aJy4dJ7</code>,
|
||||
where the last part is the note's ID. You can make these URLs more user-friendly
|
||||
by adding the <code>#shareAlias</code> label to individual notes (e.g., <code>#shareAlias=highlighting</code>).
|
||||
This will change the URL to <code>http://domain.tld/share/highlighting</code>.</p>
|
||||
<p><strong>Important</strong>:</p>
|
||||
<ol>
|
||||
<li>Ensure that aliases are unique.</li>
|
||||
<li>Using slashes (<code>/</code>) within aliases to create subpaths is not
|
||||
supported.</li>
|
||||
</ol>
|
||||
<h3>Viewing and Managing Shared Notes</h3>
|
||||
<p>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.</p>
|
||||
<p>
|
||||
<img src="Sharing_shared-list.png" alt="Shared Notes List">
|
||||
</p>
|
||||
<h3>Setting a Custom Favicon</h3>
|
||||
<p>To customize the favicon for your shared pages, create a relation <code>~shareFavicon</code> pointing
|
||||
to a file note containing the favicon (e.g., in <code>.ico</code> format).</p>
|
||||
<h3>Sharing a Note as the Root</h3>
|
||||
<p>You can designate a specific note or folder as the root of your shared
|
||||
content by adding the <code>#shareRoot</code> label. This note will be linked
|
||||
when visiting <code>[http://domain.tld/share](http://domain/share)</code>,
|
||||
making it easier to use Trilium as a fully-fledged website. Consider combining
|
||||
this with the <code>#shareIndex</code> label, which will display a list of
|
||||
all shared notes.</p>
|
||||
<h2>Limitations</h2>
|
||||
<p>While the sharing feature is powerful, it has some limitations:</p>
|
||||
<ul>
|
||||
<li><strong>No Relation Map Support</strong>
|
||||
</li>
|
||||
<li><strong>Book Notes</strong>: Only show a list of child notes.</li>
|
||||
<li><strong>Code Notes</strong>: No syntax highlighting.</li>
|
||||
<li><strong>Static Note Tree</strong>
|
||||
</li>
|
||||
<li><strong>Protected Notes</strong>: Cannot be shared.</li>
|
||||
<li><strong>Include Notes</strong>: Not supported.</li>
|
||||
</ul>
|
||||
<p>Some of these limitations may be addressed in future updates.</p>
|
||||
<h2>Attribute reference</h2>
|
||||
<figure class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Attribute</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>shareHiddenFromTree</code>
|
||||
</td>
|
||||
<td>this note is hidden from left navigation tree, but still accessible with
|
||||
its URL</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareExternalLink</code>
|
||||
</td>
|
||||
<td>note will act as a link to an external website in the share tree</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareAlias</code>
|
||||
</td>
|
||||
<td>define an alias using which the note will be available under <code>https://your_trilium_host/share/[your_alias]</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareOmitDefaultCss</code>
|
||||
</td>
|
||||
<td>default share page CSS will be omitted. Use when you make extensive styling
|
||||
changes.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareRoot</code>
|
||||
</td>
|
||||
<td>marks note which is served on /share root.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareDescription</code>
|
||||
</td>
|
||||
<td>define text to be added to the HTML meta tag for description</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareRaw</code>
|
||||
</td>
|
||||
<td>Note will be served in its raw format, without HTML wrapper. See also
|
||||
<a
|
||||
class="reference-link" href="#root/_help_Qjt68inQ2bRj">Serving directly the content of a note</a> for an alternative method
|
||||
without setting an attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareDisallowRobotIndexing</code>
|
||||
</td>
|
||||
<td>
|
||||
<p>Indicates to web crawlers that the page should not be indexed of this
|
||||
note by:</p>
|
||||
<ul>
|
||||
<li>Setting the <code>X-Robots-Tag: noindex</code> HTTP header.</li>
|
||||
<li>Setting the <code>noindex, follow</code> meta tag.</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareCredentials</code>
|
||||
</td>
|
||||
<td>require credentials to access this shared note. Value is expected to be
|
||||
in format <code>username:password</code>. Don't forget to make this inheritable
|
||||
to apply to child-notes/images.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>shareIndex</code>
|
||||
</td>
|
||||
<td>Note with this label will list all roots of shared notes.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
@@ -1,52 +1,32 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Serving directly the content of a note</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Serving directly the content of a note</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>When accessing a shared note, Trilium will render it as a web page. Sometimes
|
||||
it's desirable to serve the content directly so that it can be used in
|
||||
a script or downloaded by the user.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>A note displayed as a web page (HTML)</th>
|
||||
<th>A note displayed as a raw format</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="1_Serving directly the conte.png">
|
||||
</td>
|
||||
<td>
|
||||
<img src="Serving directly the conte.png">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>When accessing a shared note, Trilium will render it as a web page. Sometimes
|
||||
it's desirable to serve the content directly so that it can be used in
|
||||
a script or downloaded by the user.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>A note displayed as a web page (HTML)</th>
|
||||
<th>A note displayed as a raw format</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="1_Serving directly the conte.png">
|
||||
</td>
|
||||
<td>
|
||||
<img src="Serving directly the conte.png">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2>By adding an attribute to the note</h2>
|
||||
<p>Simply add the <code>#shareRaw</code> attribute and the note will always
|
||||
be rendered <em>raw</em> when accessed from the share URL.</p>
|
||||
<h2>By altering the URL</h2>
|
||||
<p>Append <code>?raw</code> to the URL to display a note in its raw format
|
||||
regardless of whether the <code>#shareRaw</code> attribute is added on the
|
||||
note.</p>
|
||||
<p>
|
||||
<img src="Serving directly the conte.png">
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Simply add the <code>#shareRaw</code> attribute and the note will always
|
||||
be rendered <em>raw</em> when accessed from the share URL.</p>
|
||||
<h2>By altering the URL</h2>
|
||||
<p>Append <code>?raw</code> to the URL to display a note in its raw format
|
||||
regardless of whether the <code>#shareRaw</code> attribute is added on the
|
||||
note.</p>
|
||||
<p>
|
||||
<img src="Serving directly the conte.png">
|
||||
</p>
|
||||
@@ -1,27 +1,7 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Technologies used</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Technologies used</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>One core aspect of Trilium that allows it to have support for multiple
|
||||
<a
|
||||
href="#root/_help_KSZ04uQ2D1St">Note Types</a> is the fact that it makes use of various off-the-shelf
|
||||
or reusable libraries.</p>
|
||||
<p>The sub-pages showcase some of the technologies used, for a better understanding
|
||||
of how Trilium works but also to credit the developers of that particular
|
||||
technology.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>One core aspect of Trilium that allows it to have support for multiple
|
||||
<a
|
||||
href="#root/_help_KSZ04uQ2D1St">Note Types</a> is the fact that it makes use of various off-the-shelf
|
||||
or reusable libraries.</p>
|
||||
<p>The sub-pages showcase some of the technologies used, for a better understanding
|
||||
of how Trilium works but also to credit the developers of that particular
|
||||
technology.</p>
|
||||
@@ -1,65 +1,45 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>CKEditor</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>CKEditor</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<h2>Editor core</h2>
|
||||
<p>The CKEditor is the WYSIWYG (standing for What You See Is What You Get)
|
||||
editor behind <a href="#root/_help_iPIMuisry3hd">Text</a> notes.</p>
|
||||
<p>Their website is <a href="https://ckeditor.com/">ckeditor.com</a>.</p>
|
||||
<p>CKEditor by itself is a commercial product, but the core is open-source.
|
||||
As described in <a href="https://ckeditor.com/docs/ckeditor5/latest/features/index.html">its documentation</a>,
|
||||
the editor supports quite a large number of features. Do note that not
|
||||
all the features are enabled in Trilium.</p>
|
||||
<h2>Premium features</h2>
|
||||
<p>Some features are marked as premium in the CKEditor feature set. This
|
||||
means that they cannot be used without a license.</p>
|
||||
<p>Trilium cannot benefit from any of these premium features as they require
|
||||
a commercial license, however we are in discussions with the CKEditor team
|
||||
to allow us to use a subset of these premium features such as <a href="https://ckeditor.com/docs/ckeditor5/latest/features/slash-commands.html">Slash commands</a>.</p>
|
||||
<h2>Plugins</h2>
|
||||
<p>The CKEditor ecosystem is quite extensible, in the sense that custom plugins
|
||||
can be written to extend the functionality of the editor beyond its original
|
||||
scope.</p>
|
||||
<p>Trilium makes use of such features:</p>
|
||||
<ul>
|
||||
<li>The math feature is added by a version of <a href="https://github.com/isaul32/ckeditor5-math">isaul32/ckeditor5-math: Math feature for CKEditor 5.</a> modified
|
||||
by us to fit our needs.</li>
|
||||
<li>We also make use of modified upstream plugins such as <a href="https://github.com/ckeditor/ckeditor5-mermaid">ckeditor/ckeditor5-mermaid</a> to
|
||||
allow inline Mermaid code.</li>
|
||||
<li><a href="https://github.com/mlewand/ckeditor5-keyboard-marker">mlewand/ckeditor5-keyboard-marker: Plugin adds support for the keyboard input element (<code><kbd></code>) to CKEditor 5.</a>
|
||||
</li>
|
||||
<li>A modified version of <a href="https://github.com/ThomasAitken/ckeditor5-footnotes">ThomasAitken/ckeditor5-footnotes: Footnotes plugin for CKEditor5</a> to
|
||||
allow footnotes.</li>
|
||||
</ul>
|
||||
<p>Apart from that, Trilium also has its own set of specific plugins such
|
||||
as:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_2x0ZAX9ePtzV">Cut to subnote</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_nBAXQFj20hS1">Include Note</a>
|
||||
</li>
|
||||
<li>Mentions, for linking pages.</li>
|
||||
<li><a class="reference-link" href="#root/_help_Oau6X9rCuegd">Markdown</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_QEAPj01N5f7w">Reference links</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_NwBbFdNZ9h7O">Admonitions</a>, we ended up creating
|
||||
our own plugin but <a href="https://github.com/aarkue/ckeditor5-admonition">aarkue/ckeditor5-admonition</a> was
|
||||
a good inspiration (including the toolbar icon).</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>Editor core</h2>
|
||||
<p>The CKEditor is the WYSIWYG (standing for What You See Is What You Get)
|
||||
editor behind <a href="#root/_help_iPIMuisry3hd">Text</a> notes.</p>
|
||||
<p>Their website is <a href="https://ckeditor.com/">ckeditor.com</a>.</p>
|
||||
<p>CKEditor by itself is a commercial product, but the core is open-source.
|
||||
As described in <a href="https://ckeditor.com/docs/ckeditor5/latest/features/index.html">its documentation</a>,
|
||||
the editor supports quite a large number of features. Do note that not
|
||||
all the features are enabled in Trilium.</p>
|
||||
<h2>Premium features</h2>
|
||||
<p>Some features are marked as premium in the CKEditor feature set. This
|
||||
means that they cannot be used without a license.</p>
|
||||
<p>Trilium cannot benefit from any of these premium features as they require
|
||||
a commercial license, however we are in discussions with the CKEditor team
|
||||
to allow us to use a subset of these premium features such as <a href="https://ckeditor.com/docs/ckeditor5/latest/features/slash-commands.html">Slash commands</a>.</p>
|
||||
<h2>Plugins</h2>
|
||||
<p>The CKEditor ecosystem is quite extensible, in the sense that custom plugins
|
||||
can be written to extend the functionality of the editor beyond its original
|
||||
scope.</p>
|
||||
<p>Trilium makes use of such features:</p>
|
||||
<ul>
|
||||
<li>The math feature is added by a version of <a href="https://github.com/isaul32/ckeditor5-math">isaul32/ckeditor5-math: Math feature for CKEditor 5.</a> modified
|
||||
by us to fit our needs.</li>
|
||||
<li>We also make use of modified upstream plugins such as <a href="https://github.com/ckeditor/ckeditor5-mermaid">ckeditor/ckeditor5-mermaid</a> to
|
||||
allow inline Mermaid code.</li>
|
||||
<li><a href="https://github.com/mlewand/ckeditor5-keyboard-marker">mlewand/ckeditor5-keyboard-marker: Plugin adds support for the keyboard input element (<code><kbd></code>) to CKEditor 5.</a>
|
||||
</li>
|
||||
<li>A modified version of <a href="https://github.com/ThomasAitken/ckeditor5-footnotes">ThomasAitken/ckeditor5-footnotes: Footnotes plugin for CKEditor5</a> to
|
||||
allow footnotes.</li>
|
||||
</ul>
|
||||
<p>Apart from that, Trilium also has its own set of specific plugins such
|
||||
as:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_2x0ZAX9ePtzV">Cut to subnote</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_nBAXQFj20hS1">Include Note</a>
|
||||
</li>
|
||||
<li>Mentions, for linking pages.</li>
|
||||
<li><a class="reference-link" href="#root/_help_Oau6X9rCuegd">Markdown</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_QEAPj01N5f7w">Reference links</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_NwBbFdNZ9h7O">Admonitions</a>, we ended up creating
|
||||
our own plugin but <a href="https://github.com/aarkue/ckeditor5-admonition">aarkue/ckeditor5-admonition</a> was
|
||||
a good inspiration (including the toolbar icon).</li>
|
||||
</ul>
|
||||
@@ -1,25 +1,5 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Excalidraw</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Excalidraw</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p><a href="https://excalidraw.com/">Excalidraw</a> is the technology behind
|
||||
the <a href="#root/_help_grjYqerjn243">Canvas</a> notes. The
|
||||
source code of the library is available on <a href="https://github.com/excalidraw/excalidraw">GitHub</a>.</p>
|
||||
<p>We are using an unmodified version of it, so it shares the same <a href="https://github.com/excalidraw/excalidraw/issues">issues</a> as
|
||||
the original.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p><a href="https://excalidraw.com/">Excalidraw</a> is the technology behind
|
||||
the <a href="#root/_help_grjYqerjn243">Canvas</a> notes. The
|
||||
source code of the library is available on <a href="https://github.com/excalidraw/excalidraw">GitHub</a>.</p>
|
||||
<p>We are using an unmodified version of it, so it shares the same <a href="https://github.com/excalidraw/excalidraw/issues">issues</a> as
|
||||
the original.</p>
|
||||
@@ -1,28 +1,8 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Leaflet</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Leaflet</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Leaflet is the library behind <a href="#root/_help_81SGnPGMk7Xc">Geo map</a> notes.</p>
|
||||
<h2>Plugins</h2>
|
||||
<p>Leaflet is also highly customizable via external plugins.</p>
|
||||
<p>Currently we use:</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/mpetazzoni/leaflet-gpx">mpetazzoni/leaflet-gpx: A GPX track plugin for Leaflet.js</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Leaflet is the library behind <a href="#root/_help_81SGnPGMk7Xc">Geo map</a> notes.</p>
|
||||
<h2>Plugins</h2>
|
||||
<p>Leaflet is also highly customizable via external plugins.</p>
|
||||
<p>Currently we use:</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/mpetazzoni/leaflet-gpx">mpetazzoni/leaflet-gpx: A GPX track plugin for Leaflet.js</a>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1,29 +1,9 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>MindElixir</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>MindElixir</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>MindElixir is the library we are using for the <a href="#root/_help_gBbsAeiuUxI5">Mind Map</a> note
|
||||
types.</p>
|
||||
<p>The main library is available on <a href="https://github.com/SSShooter/mind-elixir-core/issues">GitHub as mind-elixir-core</a>.</p>
|
||||
<p>The library is embedded as-is without additional modifications.</p>
|
||||
<p>Issues with its functionality should generally be reported <a href="https://github.com/ssshooter/mind-elixir-core">upstream</a>.</p>
|
||||
<h2>Plugins</h2>
|
||||
<p>MindElixir supports plugins, and one such plugin we are making use of
|
||||
is <a href="https://github.com/SSShooter/node-menu">SSShooter/node-menu: A node menu plugin of mind-elixir</a>,
|
||||
which allows editing the fonts, colors, links of nodes.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>MindElixir is the library we are using for the <a href="#root/_help_gBbsAeiuUxI5">Mind Map</a> note
|
||||
types.</p>
|
||||
<p>The main library is available on <a href="https://github.com/SSShooter/mind-elixir-core/issues">GitHub as mind-elixir-core</a>.</p>
|
||||
<p>The library is embedded as-is without additional modifications.</p>
|
||||
<p>Issues with its functionality should generally be reported <a href="https://github.com/ssshooter/mind-elixir-core">upstream</a>.</p>
|
||||
<h2>Plugins</h2>
|
||||
<p>MindElixir supports plugins, and one such plugin we are making use of
|
||||
is <a href="https://github.com/SSShooter/node-menu">SSShooter/node-menu: A node menu plugin of mind-elixir</a>,
|
||||
which allows editing the fonts, colors, links of nodes.</p>
|
||||
@@ -1,74 +1,54 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Templates</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Templates</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>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:</p>
|
||||
<ol>
|
||||
<li><strong>Attribute Inheritance</strong>: All attributes from the template
|
||||
note are <a href="#root/_help_bwZpz2ajCEwO">inherited</a> by the instance
|
||||
notes. Even attributes with <code>#isInheritable=false</code> are inherited
|
||||
by the instance notes, although only inheritable attributes are further
|
||||
inherited by the children of the instance notes.</li>
|
||||
<li><strong>Content Duplication</strong>: The content of the template note
|
||||
is copied to the instance note, provided the instance note is empty at
|
||||
the time of template assignment.</li>
|
||||
<li><strong>Child Note Duplication</strong>: All child notes of the template
|
||||
are deep-duplicated to the instance note.</li>
|
||||
</ol>
|
||||
<h2>Example</h2>
|
||||
<p>A typical example would be a "Book" template note, which might include:</p>
|
||||
<ul>
|
||||
<li><strong>Promoted Attributes</strong>: Such as publication year, author,
|
||||
etc. (see <a href="#root/_help_OFXdgB2nNk1F">promoted attributes</a>).</li>
|
||||
<li><strong>Outline</strong>: An outline for a book review, including sections
|
||||
like themes, conclusion, etc.</li>
|
||||
<li><strong>Child Notes</strong>: Additional notes for highlights, summary,
|
||||
etc.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<img src="Templates_template.png" alt="Template Example">
|
||||
</p>
|
||||
<h2>Instance Note</h2>
|
||||
<p>An instance note is a note related to a template note. This relationship
|
||||
means the instance note's content is initialized from the template, and
|
||||
all attributes from the template are inherited.</p>
|
||||
<p>To create an instance note through the UI:</p>
|
||||
<p>
|
||||
<img src="Templates_template-create-.png" alt="show child note templates">
|
||||
</p>
|
||||
<p>For the template to appear in the menu, the template note must have the <code>#template</code> label.
|
||||
Do not confuse this with the <code>~template</code> relation, which links
|
||||
the instance note to the template note. If you use <a href="#root/_help_9sRHySam5fXb">workspaces</a>,
|
||||
you can also mark templates with <code>#workspaceTemplate</code> to display
|
||||
them only in the workspace.</p>
|
||||
<p>Templates can also be added or changed after note creation by creating
|
||||
a <code>~template</code> relation pointing to the desired template note.</p>
|
||||
<h2>Additional Notes</h2>
|
||||
<p>From a visual perspective, templates can define <code>#iconClass</code> and <code>#cssClass</code> attributes,
|
||||
allowing all instance notes (e.g., books) to display a specific icon and
|
||||
CSS style.</p>
|
||||
<p>Explore the concept further in the <a href="#root/_help_wX4HbRucYSDD">demo notes</a>,
|
||||
including examples like the <a href="#root/_help_iRwzGnHPzonm">Relation Map</a>,
|
||||
<a
|
||||
href="#root/_help_xYjQUYhpbUEW">Task Manager</a>, and <a href="#root/_help_l0tKav7yLHGF">Day Notes</a>.</p>
|
||||
<p>Additionally, see <a href="#root/_help_47ZrP6FNuoG8">default note title</a> for
|
||||
creating title templates. Note templates and title templates can be combined
|
||||
by creating a <code>#titleTemplate</code> for a template note.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>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:</p>
|
||||
<ol>
|
||||
<li><strong>Attribute Inheritance</strong>: All attributes from the template
|
||||
note are <a href="#root/_help_bwZpz2ajCEwO">inherited</a> by the instance
|
||||
notes. Even attributes with <code>#isInheritable=false</code> are inherited
|
||||
by the instance notes, although only inheritable attributes are further
|
||||
inherited by the children of the instance notes.</li>
|
||||
<li><strong>Content Duplication</strong>: The content of the template note
|
||||
is copied to the instance note, provided the instance note is empty at
|
||||
the time of template assignment.</li>
|
||||
<li><strong>Child Note Duplication</strong>: All child notes of the template
|
||||
are deep-duplicated to the instance note.</li>
|
||||
</ol>
|
||||
<h2>Example</h2>
|
||||
<p>A typical example would be a "Book" template note, which might include:</p>
|
||||
<ul>
|
||||
<li><strong>Promoted Attributes</strong>: Such as publication year, author,
|
||||
etc. (see <a href="#root/_help_OFXdgB2nNk1F">promoted attributes</a>).</li>
|
||||
<li><strong>Outline</strong>: An outline for a book review, including sections
|
||||
like themes, conclusion, etc.</li>
|
||||
<li><strong>Child Notes</strong>: Additional notes for highlights, summary,
|
||||
etc.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<img src="Templates_template.png" alt="Template Example">
|
||||
</p>
|
||||
<h2>Instance Note</h2>
|
||||
<p>An instance note is a note related to a template note. This relationship
|
||||
means the instance note's content is initialized from the template, and
|
||||
all attributes from the template are inherited.</p>
|
||||
<p>To create an instance note through the UI:</p>
|
||||
<p>
|
||||
<img src="Templates_template-create-.png" alt="show child note templates">
|
||||
</p>
|
||||
<p>For the template to appear in the menu, the template note must have the <code>#template</code> label.
|
||||
Do not confuse this with the <code>~template</code> relation, which links
|
||||
the instance note to the template note. If you use <a href="#root/_help_9sRHySam5fXb">workspaces</a>,
|
||||
you can also mark templates with <code>#workspaceTemplate</code> to display
|
||||
them only in the workspace.</p>
|
||||
<p>Templates can also be added or changed after note creation by creating
|
||||
a <code>~template</code> relation pointing to the desired template note.</p>
|
||||
<h2>Additional Notes</h2>
|
||||
<p>From a visual perspective, templates can define <code>#iconClass</code> and <code>#cssClass</code> attributes,
|
||||
allowing all instance notes (e.g., books) to display a specific icon and
|
||||
CSS style.</p>
|
||||
<p>Explore the concept further in the <a href="#root/_help_wX4HbRucYSDD">demo notes</a>,
|
||||
including examples like the <a href="#root/_help_iRwzGnHPzonm">Relation Map</a>,
|
||||
<a
|
||||
href="#root/_help_xYjQUYhpbUEW">Task Manager</a>, and <a href="#root/_help_l0tKav7yLHGF">Day Notes</a>.</p>
|
||||
<p>Additionally, see <a href="#root/_help_47ZrP6FNuoG8">default note title</a> for
|
||||
creating title templates. Note templates and title templates can be combined
|
||||
by creating a <code>#titleTemplate</code> for a template note.</p>
|
||||
@@ -1,36 +1,16 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Evernote</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Evernote</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium can import ENEX files which are used by Evernote for backup/export.
|
||||
One ENEX file represents content (notes and resources) of one notebook.</p>
|
||||
<h2>Export ENEX from Evernote</h2>
|
||||
<p>To export ENEX file, you need to have a <em>legacy</em> desktop version
|
||||
of Evernote (i.e. not web/mobile). Right click on notebook and select export
|
||||
and follow the wizard.</p>
|
||||
<h2>Import ENEX in Trilium</h2>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<h2>Limitations</h2>
|
||||
<p>All resources (except for images) are created as note's attachments.</p>
|
||||
<p>HTML inside ENEX files is not exactly valid so some formatting maybe broken
|
||||
or lost. You can report major problems into <a href="https://github.com/TriliumNext/Notes/issues">Trilium issue tracker</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Trilium can import ENEX files which are used by Evernote for backup/export.
|
||||
One ENEX file represents content (notes and resources) of one notebook.</p>
|
||||
<h2>Export ENEX from Evernote</h2>
|
||||
<p>To export ENEX file, you need to have a <em>legacy</em> desktop version
|
||||
of Evernote (i.e. not web/mobile). Right click on notebook and select export
|
||||
and follow the wizard.</p>
|
||||
<h2>Import ENEX in Trilium</h2>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<h2>Limitations</h2>
|
||||
<p>All resources (except for images) are created as note's attachments.</p>
|
||||
<p>HTML inside ENEX files is not exactly valid so some formatting maybe broken
|
||||
or lost. You can report major problems into <a href="https://github.com/TriliumNext/Notes/issues">Trilium issue tracker</a>.</p>
|
||||
@@ -1,80 +1,60 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Markdown</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Markdown</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium supports Markdown for both import and export, while trying to
|
||||
keep compatibility as high as possible.</p>
|
||||
<h2>Import</h2>
|
||||
<h3>Clipboard import</h3>
|
||||
<p>If you want to import just a chunk of markdown from clipboard, you can
|
||||
do it from editor block menu:</p>
|
||||
<p>
|
||||
<img src="Markdown_markdown-inline-i.gif">
|
||||
</p>
|
||||
<h3>File import</h3>
|
||||
<p>You can also import Markdown files from files:</p>
|
||||
<ul>
|
||||
<li>single markdown file (with .md extension)</li>
|
||||
<li>whole tree of markdown files (packaged into <a href="https://en.wikipedia.org/wiki/Tar_(computing)">.zip</a> archive)
|
||||
<ul>
|
||||
<li>Markdown files need to be packaged into ZIP archive because browser can't
|
||||
read directories, only single files.</li>
|
||||
<li>You can use e.g. <a href="https://www.7-zip.org">7-zip</a> to package directory
|
||||
of markdown files into the ZIP file</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>[[gifs/markdown-file-import.gif]]</p>
|
||||
<p>
|
||||
<img src="Markdown_markdown-file-imp.gif">
|
||||
</p>
|
||||
<h2>Export</h2>
|
||||
<h3>Subtree export</h3>
|
||||
<p>You can export whole subtree to ZIP archive which will have directory
|
||||
structured modelled after subtree structure:</p>
|
||||
<p>
|
||||
<img src="Markdown_markdown-export-s.gif">
|
||||
</p>
|
||||
<h3>Single note export</h3>
|
||||
<p>If you want to export just single note without its subtree, you can do
|
||||
it from Note actions menu:</p>
|
||||
<p>
|
||||
<img src="Markdown_markdown-export-n.gif">
|
||||
</p>
|
||||
<h3>Exporting protected notes</h3>
|
||||
<p>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.</p>
|
||||
<h2>Supported syntax</h2>
|
||||
<ul>
|
||||
<li><a href="https://github.github.com/gfm/">GitHub-Flavored Markdown</a> is
|
||||
the main syntax that Trilium is following.</li>
|
||||
<li>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.</li>
|
||||
<li>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.</li>
|
||||
<li><a class="reference-link" href="#root/_help_NwBbFdNZ9h7O">Admonitions</a> are
|
||||
supported using GitHub's format.</li>
|
||||
<li>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.</li>
|
||||
<li>Math equations are supported using <code>$</code> and <code>$$</code> syntaxes.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Trilium supports Markdown for both import and export, while trying to
|
||||
keep compatibility as high as possible.</p>
|
||||
<h2>Import</h2>
|
||||
<h3>Clipboard import</h3>
|
||||
<p>If you want to import just a chunk of markdown from clipboard, you can
|
||||
do it from editor block menu:</p>
|
||||
<p>
|
||||
<img src="Markdown_markdown-inline-i.gif">
|
||||
</p>
|
||||
<h3>File import</h3>
|
||||
<p>You can also import Markdown files from files:</p>
|
||||
<ul>
|
||||
<li>single markdown file (with .md extension)</li>
|
||||
<li>whole tree of markdown files (packaged into <a href="https://en.wikipedia.org/wiki/Tar_(computing)">.zip</a> archive)
|
||||
<ul>
|
||||
<li>Markdown files need to be packaged into ZIP archive because browser can't
|
||||
read directories, only single files.</li>
|
||||
<li>You can use e.g. <a href="https://www.7-zip.org">7-zip</a> to package directory
|
||||
of markdown files into the ZIP file</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>[[gifs/markdown-file-import.gif]]</p>
|
||||
<p>
|
||||
<img src="Markdown_markdown-file-imp.gif">
|
||||
</p>
|
||||
<h2>Export</h2>
|
||||
<h3>Subtree export</h3>
|
||||
<p>You can export whole subtree to ZIP archive which will have directory
|
||||
structured modelled after subtree structure:</p>
|
||||
<p>
|
||||
<img src="Markdown_markdown-export-s.gif">
|
||||
</p>
|
||||
<h3>Single note export</h3>
|
||||
<p>If you want to export just single note without its subtree, you can do
|
||||
it from Note actions menu:</p>
|
||||
<p>
|
||||
<img src="Markdown_markdown-export-n.gif">
|
||||
</p>
|
||||
<h3>Exporting protected notes</h3>
|
||||
<p>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.</p>
|
||||
<h2>Supported syntax</h2>
|
||||
<ul>
|
||||
<li><a href="https://github.github.com/gfm/">GitHub-Flavored Markdown</a> is
|
||||
the main syntax that Trilium is following.</li>
|
||||
<li>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.</li>
|
||||
<li>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.</li>
|
||||
<li><a class="reference-link" href="#root/_help_NwBbFdNZ9h7O">Admonitions</a> are
|
||||
supported using GitHub's format.</li>
|
||||
<li>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.</li>
|
||||
<li>Math equations are supported using <code>$</code> and <code>$$</code> syntaxes.</li>
|
||||
</ul>
|
||||
@@ -1,99 +1,79 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>OneNote</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>OneNote</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p><strong>This page describes a method to migrate via EverNote Legacy, but this app is no longer available/working.</strong>
|
||||
</p>
|
||||
<h2>Prep Onenote notes for best compatibility</h2>
|
||||
<ul>
|
||||
<li>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)</li>
|
||||
<li>Make sure to use Onenote headings where applicable (These will be carried
|
||||
over correctly into Trilium)</li>
|
||||
<li>Remove extra whitespace in Onenote (Whitespace seems to be more noticible
|
||||
in Trilium, so removing it now will make it look nicer in trilium)</li>
|
||||
<li>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.</li>
|
||||
<li>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).</li>
|
||||
</ul>
|
||||
<h2>Migration Procedure</h2>
|
||||
<h3>Import into Evernote from OneNote:</h3>
|
||||
<ul>
|
||||
<li>Install <a href="https://web.archive.org/web/20230327110646/https://help.evernote.com/hc/en-us/articles/360052560314">Evernote Legacy</a>.
|
||||
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!).</li>
|
||||
<li>In evernote navigate to File > Import > Onenote > Notebook >
|
||||
Section > OK</li>
|
||||
</ul>
|
||||
<p>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</p>
|
||||
<h3>Export from Evernote</h3>
|
||||
<ul>
|
||||
<li>Right click on the created notebook in Evernote and choose "Export Notes…"</li>
|
||||
<li>Use the default export format of .enex</li>
|
||||
</ul>
|
||||
<h3>Cleanup enex file (optional)</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>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:</p>
|
||||
<p>Find (using regex): <code>.<div.*><h1</code> Replace with: <code><h1</code>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Import into Trilium</h3>
|
||||
<ul>
|
||||
<li>In Trilium, right click on the root node and choose Import (all default
|
||||
options should be fine).</li>
|
||||
<li>Select the .enex file exported from Evernote</li>
|
||||
<li>Be patient. Large .enex files may take a few minutes to process</li>
|
||||
<li>Repeat import for each .enex file</li>
|
||||
</ul>
|
||||
<h2>Other importing notes:</h2>
|
||||
<ul>
|
||||
<li>Centered text in Onenote will be left-justified after importing into Trilium</li>
|
||||
<li>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)</li>
|
||||
<li>Text colors, highlights, and formatting generally carries over well</li>
|
||||
<li>Revision history will be lost, but any new revisions will be tracked in
|
||||
Trilium</li>
|
||||
<li>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).</li>
|
||||
<li>Evernote tags are created for each "section" in OneNote and these tags
|
||||
are carried over to Trilium as attributes
|
||||
<ul>
|
||||
<li>If the tags are not desired, you can turn them off in the Evernote export
|
||||
options.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>If the "Created with OneNote" text is not desired, do a find/replace in
|
||||
the enex files before importing to Trilium</li>
|
||||
<li>Some links will be disabled (not clickable) when importing from enex.</li>
|
||||
<li>Files, screenshots, and attachments are all preserved (This is the only
|
||||
one-note export option that seems to preserve all of these).</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p><strong>This page describes a method to migrate via EverNote Legacy, but this app is no longer available/working.</strong>
|
||||
</p>
|
||||
<h2>Prep Onenote notes for best compatibility</h2>
|
||||
<ul>
|
||||
<li>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)</li>
|
||||
<li>Make sure to use Onenote headings where applicable (These will be carried
|
||||
over correctly into Trilium)</li>
|
||||
<li>Remove extra whitespace in Onenote (Whitespace seems to be more noticible
|
||||
in Trilium, so removing it now will make it look nicer in trilium)</li>
|
||||
<li>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.</li>
|
||||
<li>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).</li>
|
||||
</ul>
|
||||
<h2>Migration Procedure</h2>
|
||||
<h3>Import into Evernote from OneNote:</h3>
|
||||
<ul>
|
||||
<li>Install <a href="https://web.archive.org/web/20230327110646/https://help.evernote.com/hc/en-us/articles/360052560314">Evernote Legacy</a>.
|
||||
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!).</li>
|
||||
<li>In evernote navigate to File > Import > Onenote > Notebook >
|
||||
Section > OK</li>
|
||||
</ul>
|
||||
<p>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</p>
|
||||
<h3>Export from Evernote</h3>
|
||||
<ul>
|
||||
<li>Right click on the created notebook in Evernote and choose "Export Notes…"</li>
|
||||
<li>Use the default export format of .enex</li>
|
||||
</ul>
|
||||
<h3>Cleanup enex file (optional)</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>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:</p>
|
||||
<p>Find (using regex): <code>.<div.*><h1</code> Replace with: <code><h1</code>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Import into Trilium</h3>
|
||||
<ul>
|
||||
<li>In Trilium, right click on the root node and choose Import (all default
|
||||
options should be fine).</li>
|
||||
<li>Select the .enex file exported from Evernote</li>
|
||||
<li>Be patient. Large .enex files may take a few minutes to process</li>
|
||||
<li>Repeat import for each .enex file</li>
|
||||
</ul>
|
||||
<h2>Other importing notes:</h2>
|
||||
<ul>
|
||||
<li>Centered text in Onenote will be left-justified after importing into Trilium</li>
|
||||
<li>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)</li>
|
||||
<li>Text colors, highlights, and formatting generally carries over well</li>
|
||||
<li>Revision history will be lost, but any new revisions will be tracked in
|
||||
Trilium</li>
|
||||
<li>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).</li>
|
||||
<li>Evernote tags are created for each "section" in OneNote and these tags
|
||||
are carried over to Trilium as attributes
|
||||
<ul>
|
||||
<li>If the tags are not desired, you can turn them off in the Evernote export
|
||||
options.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>If the "Created with OneNote" text is not desired, do a find/replace in
|
||||
the enex files before importing to Trilium</li>
|
||||
<li>Some links will be disabled (not clickable) when importing from enex.</li>
|
||||
<li>Files, screenshots, and attachments are all preserved (This is the only
|
||||
one-note export option that seems to preserve all of these).</li>
|
||||
</ul>
|
||||
@@ -1,133 +1,113 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Keyboard Shortcuts</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Keyboard Shortcuts</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>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).</p>
|
||||
<p>It is also possible to configure most keyboard shortcuts in Options ->
|
||||
Keyboard shortcuts. Using <code>global:</code> prefix, you can assign a shortcut
|
||||
which will work even without Trilium being in focus (requires app restart
|
||||
to take effect).</p>
|
||||
<h2>Note navigation</h2>
|
||||
<ul>
|
||||
<li><kbd><span>↑</span></kbd>, <kbd><span>↓</span></kbd> - go up/down in the
|
||||
list of notes, <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd><span>↑</span></kbd> and <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd><span>↓</span></kbd> work
|
||||
also from editor</li>
|
||||
<li><kbd><span>←</span></kbd>, <kbd><span>→</span></kbd> - collapse/expand node</li>
|
||||
<li><kbd>Alt</kbd> + <kbd><span>←</span></kbd>, <kbd>Alt</kbd> + <kbd><span>→</span></kbd> -
|
||||
go back / forwards in the history</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>J</kbd> - show <a href="#root/_help_MMiBEQljMQh2">"Jump to" dialog</a>
|
||||
</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>.</kbd> - scroll to current note (useful when you
|
||||
scroll away from your note or your focus is currently in the editor)</li>
|
||||
<li><kbd><span>Backspace</span></kbd> - jumps to parent note</li>
|
||||
<li><kbd>Alt</kbd> + <kbd>C</kbd> - collapse whole note tree</li>
|
||||
<li><kbd>Alt</kbd> + <kbd>-</kbd> (alt with minus sign) - collapse subtree (if
|
||||
some subtree takes too much space on tree pane you can collapse it)</li>
|
||||
<li>you can define a <a href="#root/_help_zEY4DaJG4YT5">label</a> <code>#keyboardShortcut</code> with
|
||||
e.g. value <kbd>Ctrl</kbd> + <kbd>I</kbd> . Pressing this keyboard combination
|
||||
will then bring you to the note on which it is defined. Note that Trilium
|
||||
must be reloaded/restarted (<kbd>Ctrl</kbd> + <kbd>R</kbd> ) for changes to
|
||||
be in effect.</li>
|
||||
</ul>
|
||||
<p>See demo of some of these features in <a href="#root/_help_MMiBEQljMQh2">note navigation</a>.</p>
|
||||
<h2>Tabs</h2>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>🖱 Left click</kbd> - (or middle mouse click) on note
|
||||
link opens note in a new tab</li>
|
||||
</ul>
|
||||
<p>Only in desktop (electron build):</p>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>T</kbd> - opens empty tab</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>W</kbd> - closes active tab</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>Tab</kbd> - activates next tab</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> - activates previous tab</li>
|
||||
</ul>
|
||||
<h2>Creating notes</h2>
|
||||
<ul>
|
||||
<li><code>CTRL+O</code> - creates new note after the current note</li>
|
||||
<li><code>CTRL+P</code> - creates new sub-note into current note</li>
|
||||
<li><code>F2</code> - edit <a href="#root/_help_MMiBEQljMQh2">prefix</a> of current
|
||||
note clone</li>
|
||||
</ul>
|
||||
<h2>Moving / cloning notes</h2>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd> + <kbd><span>↑</span></kbd> , Ctrl + <kbd><span>↓</span></kbd> -
|
||||
move note up/down in the note list</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd><span>←</span></kbd> - move note up in the note tree</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd><span>→</span></kbd> - move note down in the note
|
||||
tree</li>
|
||||
<li><kbd>Shift</kbd>+<kbd><span>↑</span></kbd>, <kbd>Shift</kbd><code>+</code><kbd><span>↓</span></kbd> -
|
||||
multi-select note above/below</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>A</kbd> - select all notes in the current level</li>
|
||||
<li><kbd>Shift</kbd>+<kbd>🖱 Left click</kbd> - multi select note which you
|
||||
clicked on</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>C</kbd> - copies current note (or current selection)
|
||||
into clipboard (used for <a href="#root/_help_IakOLONlIfGI">cloning</a>
|
||||
</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>X</kbd> - cuts current (or current selection) note
|
||||
into clipboard (used for moving notes)</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>V</kbd> - pastes note(s) as sub-note into current
|
||||
note (which is either move or clone depending on whether it was copied
|
||||
or cut into clipboard)</li>
|
||||
<li><kbd>Del</kbd> - delete note / sub-tree</li>
|
||||
</ul>
|
||||
<h2>Editing notes</h2>
|
||||
<ul>
|
||||
<li>For <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> notes,
|
||||
refer to <a class="reference-link" href="#root/_help_oiVPnW8QfnvS">Keyboard shortcuts</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_help_QrtTYPmdd1qq">Markdown-like formatting</a>.</li>
|
||||
<li><kbd>Alt</kbd>-<kbd>F10</kbd> - bring up inline formatting toolbar (arrow
|
||||
keys <kbd><span>←</span></kbd>,<kbd><span>→</span></kbd> to navigate, <kbd>Enter</kbd> to
|
||||
apply)</li>
|
||||
<li><kbd>Alt</kbd>-<kbd>F10</kbd> - again to bring up block formatting toolbar</li>
|
||||
<li><kbd>Enter</kbd> in tree pane switches from tree pane into note title.
|
||||
Enter from note title switches focus to text editor. <kbd>Ctrl</kbd>+<kbd>.</kbd> switches
|
||||
back from editor to tree pane.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>K</kbd> - create / edit <a href="#root/_help_QEAPj01N5f7w">external link</a>
|
||||
</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>L</kbd> - create <a href="#root/_help_QEAPj01N5f7w">internal (note) link</a>
|
||||
</li>
|
||||
<li><kbd>Alt</kbd>+<kbd>T</kbd> - inserts current date and time at caret position</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>.</kbd> - jump away from the editor to tree pane and
|
||||
scroll to current note</li>
|
||||
</ul>
|
||||
<h2>Runtime shortcuts</h2>
|
||||
<p>These are hooked in Electron to be similar to native browser keyboard
|
||||
shortcuts.</p>
|
||||
<ul>
|
||||
<li><kbd>F5</kbd>, <kbd>Ctrl</kbd>-<kbd>R</kbd> - reloads Trilium front-end</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd> - show developer tools</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>F</kbd> - show search dialog</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>-</kbd> - zoom out</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>=</kbd> - zoom in</li>
|
||||
</ul>
|
||||
<h2>Other</h2>
|
||||
<ul>
|
||||
<li><kbd>Alt</kbd>+<kbd>O</kbd> - show SQL console (use only if you know what
|
||||
you're doing)</li>
|
||||
<li><kbd>Alt</kbd>+<kbd>M</kbd> - distraction-free mode - display only note
|
||||
editor, everything else is hidden</li>
|
||||
<li><kbd>F11</kbd> - toggle full screen</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>S</kbd> - toggle <a href="#root/_help_eIg8jdvaoNNd">search</a> form
|
||||
in tree pane</li>
|
||||
<li><kbd>Alt</kbd> +<kbd>A</kbd> - show note <a href="#root/_help_zEY4DaJG4YT5">attributes</a> dialog</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>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).</p>
|
||||
<p>It is also possible to configure most keyboard shortcuts in Options ->
|
||||
Keyboard shortcuts. Using <code>global:</code> prefix, you can assign a shortcut
|
||||
which will work even without Trilium being in focus (requires app restart
|
||||
to take effect).</p>
|
||||
<h2>Note navigation</h2>
|
||||
<ul>
|
||||
<li><kbd><span>↑</span></kbd>, <kbd><span>↓</span></kbd> - go up/down in the
|
||||
list of notes, <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd><span>↑</span></kbd> and <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd><span>↓</span></kbd> work
|
||||
also from editor</li>
|
||||
<li><kbd><span>←</span></kbd>, <kbd><span>→</span></kbd> - collapse/expand node</li>
|
||||
<li><kbd>Alt</kbd> + <kbd><span>←</span></kbd>, <kbd>Alt</kbd> + <kbd><span>→</span></kbd> -
|
||||
go back / forwards in the history</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>J</kbd> - show <a href="#root/_help_MMiBEQljMQh2">"Jump to" dialog</a>
|
||||
</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>.</kbd> - scroll to current note (useful when you
|
||||
scroll away from your note or your focus is currently in the editor)</li>
|
||||
<li><kbd><span>Backspace</span></kbd> - jumps to parent note</li>
|
||||
<li><kbd>Alt</kbd> + <kbd>C</kbd> - collapse whole note tree</li>
|
||||
<li><kbd>Alt</kbd> + <kbd>-</kbd> (alt with minus sign) - collapse subtree (if
|
||||
some subtree takes too much space on tree pane you can collapse it)</li>
|
||||
<li>you can define a <a href="#root/_help_zEY4DaJG4YT5">label</a> <code>#keyboardShortcut</code> with
|
||||
e.g. value <kbd>Ctrl</kbd> + <kbd>I</kbd> . Pressing this keyboard combination
|
||||
will then bring you to the note on which it is defined. Note that Trilium
|
||||
must be reloaded/restarted (<kbd>Ctrl</kbd> + <kbd>R</kbd> ) for changes to
|
||||
be in effect.</li>
|
||||
</ul>
|
||||
<p>See demo of some of these features in <a href="#root/_help_MMiBEQljMQh2">note navigation</a>.</p>
|
||||
<h2>Tabs</h2>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>🖱 Left click</kbd> - (or middle mouse click) on note
|
||||
link opens note in a new tab</li>
|
||||
</ul>
|
||||
<p>Only in desktop (electron build):</p>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>T</kbd> - opens empty tab</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>W</kbd> - closes active tab</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>Tab</kbd> - activates next tab</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> - activates previous tab</li>
|
||||
</ul>
|
||||
<h2>Creating notes</h2>
|
||||
<ul>
|
||||
<li><code>CTRL+O</code> - creates new note after the current note</li>
|
||||
<li><code>CTRL+P</code> - creates new sub-note into current note</li>
|
||||
<li><code>F2</code> - edit <a href="#root/_help_MMiBEQljMQh2">prefix</a> of current
|
||||
note clone</li>
|
||||
</ul>
|
||||
<h2>Moving / cloning notes</h2>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd> + <kbd><span>↑</span></kbd> , Ctrl + <kbd><span>↓</span></kbd> -
|
||||
move note up/down in the note list</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd><span>←</span></kbd> - move note up in the note tree</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd><span>→</span></kbd> - move note down in the note
|
||||
tree</li>
|
||||
<li><kbd>Shift</kbd>+<kbd><span>↑</span></kbd>, <kbd>Shift</kbd><code>+</code><kbd><span>↓</span></kbd> -
|
||||
multi-select note above/below</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>A</kbd> - select all notes in the current level</li>
|
||||
<li><kbd>Shift</kbd>+<kbd>🖱 Left click</kbd> - multi select note which you
|
||||
clicked on</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>C</kbd> - copies current note (or current selection)
|
||||
into clipboard (used for <a href="#root/_help_IakOLONlIfGI">cloning</a>
|
||||
</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>X</kbd> - cuts current (or current selection) note
|
||||
into clipboard (used for moving notes)</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>V</kbd> - pastes note(s) as sub-note into current
|
||||
note (which is either move or clone depending on whether it was copied
|
||||
or cut into clipboard)</li>
|
||||
<li><kbd>Del</kbd> - delete note / sub-tree</li>
|
||||
</ul>
|
||||
<h2>Editing notes</h2>
|
||||
<ul>
|
||||
<li>For <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> notes,
|
||||
refer to <a class="reference-link" href="#root/_help_oiVPnW8QfnvS">Keyboard shortcuts</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_help_QrtTYPmdd1qq">Markdown-like formatting</a>.</li>
|
||||
<li><kbd>Alt</kbd>-<kbd>F10</kbd> - bring up inline formatting toolbar (arrow
|
||||
keys <kbd><span>←</span></kbd>,<kbd><span>→</span></kbd> to navigate, <kbd>Enter</kbd> to
|
||||
apply)</li>
|
||||
<li><kbd>Alt</kbd>-<kbd>F10</kbd> - again to bring up block formatting toolbar</li>
|
||||
<li><kbd>Enter</kbd> in tree pane switches from tree pane into note title.
|
||||
Enter from note title switches focus to text editor. <kbd>Ctrl</kbd>+<kbd>.</kbd> switches
|
||||
back from editor to tree pane.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>K</kbd> - create / edit <a href="#root/_help_QEAPj01N5f7w">external link</a>
|
||||
</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>L</kbd> - create <a href="#root/_help_QEAPj01N5f7w">internal (note) link</a>
|
||||
</li>
|
||||
<li><kbd>Alt</kbd>+<kbd>T</kbd> - inserts current date and time at caret position</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>.</kbd> - jump away from the editor to tree pane and
|
||||
scroll to current note</li>
|
||||
</ul>
|
||||
<h2>Runtime shortcuts</h2>
|
||||
<p>These are hooked in Electron to be similar to native browser keyboard
|
||||
shortcuts.</p>
|
||||
<ul>
|
||||
<li><kbd>F5</kbd>, <kbd>Ctrl</kbd>-<kbd>R</kbd> - reloads Trilium front-end</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd> - show developer tools</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>F</kbd> - show search dialog</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>-</kbd> - zoom out</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>=</kbd> - zoom in</li>
|
||||
</ul>
|
||||
<h2>Other</h2>
|
||||
<ul>
|
||||
<li><kbd>Alt</kbd>+<kbd>O</kbd> - show SQL console (use only if you know what
|
||||
you're doing)</li>
|
||||
<li><kbd>Alt</kbd>+<kbd>M</kbd> - distraction-free mode - display only note
|
||||
editor, everything else is hidden</li>
|
||||
<li><kbd>F11</kbd> - toggle full screen</li>
|
||||
<li><kbd>Ctrl</kbd> + <kbd>S</kbd> - toggle <a href="#root/_help_eIg8jdvaoNNd">search</a> form
|
||||
in tree pane</li>
|
||||
<li><kbd>Alt</kbd> +<kbd>A</kbd> - show note <a href="#root/_help_zEY4DaJG4YT5">attributes</a> dialog</li>
|
||||
</ul>
|
||||
@@ -1,32 +1,12 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Bookmarks</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Bookmarks</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>To easily access selected notes, you can bookmark them. See demo:</p>
|
||||
<p>
|
||||
<img src="Bookmarks_bookmarks.gif">
|
||||
</p>
|
||||
<h2>Bookmark folder</h2>
|
||||
<p>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:</p>
|
||||
<p>
|
||||
<img src="Bookmarks_bookmark-folder.png">
|
||||
</p>
|
||||
<p>To do this, you need to add a <code>#bookmarkFolder</code> label to the
|
||||
note.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>To easily access selected notes, you can bookmark them. See demo:</p>
|
||||
<p>
|
||||
<img src="Bookmarks_bookmarks.gif">
|
||||
</p>
|
||||
<h2>Bookmark folder</h2>
|
||||
<p>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:</p>
|
||||
<p>
|
||||
<img src="Bookmarks_bookmark-folder.png">
|
||||
</p>
|
||||
<p>To do this, you need to add a <code>#bookmarkFolder</code> label to the
|
||||
note.</p>
|
||||
@@ -1,53 +1,33 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Jump to Note</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Jump to Note</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:991/403;" src="Jump to Note_image.png" width="991"
|
||||
height="403">
|
||||
</figure>
|
||||
<p>The <em>Jump to Note</em> 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.</p>
|
||||
<h2>Entering jump to note</h2>
|
||||
<ul>
|
||||
<li>In the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>,
|
||||
press
|
||||
<img src="1_Jump to Note_image.png">button.</li>
|
||||
<li>Using the keyboard, press <kbd>Ctrl</kbd> + <kbd>J</kbd>.</li>
|
||||
</ul>
|
||||
<h2>Recent notes</h2>
|
||||
<p>Jump to note also has the ability to show the list of recently viewed
|
||||
/ edited notes and quickly jump to it.</p>
|
||||
<p>To access this functionality, click on <code>Jump to</code> button on the
|
||||
top. By default, (when nothing is entered into autocomplete), this dialog
|
||||
will show the list of recent notes.</p>
|
||||
<p>Alternatively you can click on the "time" icon on the right.</p>
|
||||
<img src="Jump to Note_recent-notes.gif"
|
||||
width="812" height="585">
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:991/403;" src="Jump to Note_image.png" width="991"
|
||||
height="403">
|
||||
</figure>
|
||||
<p>The <em>Jump to Note</em> 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.</p>
|
||||
<h2>Entering jump to note</h2>
|
||||
<ul>
|
||||
<li>In the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>,
|
||||
press
|
||||
<img src="1_Jump to Note_image.png">button.</li>
|
||||
<li>Using the keyboard, press <kbd>Ctrl</kbd> + <kbd>J</kbd>.</li>
|
||||
</ul>
|
||||
<h2>Recent notes</h2>
|
||||
<p>Jump to note also has the ability to show the list of recently viewed
|
||||
/ edited notes and quickly jump to it.</p>
|
||||
<p>To access this functionality, click on <code>Jump to</code> button on the
|
||||
top. By default, (when nothing is entered into autocomplete), this dialog
|
||||
will show the list of recent notes.</p>
|
||||
<p>Alternatively you can click on the "time" icon on the right.</p>
|
||||
<img src="Jump to Note_recent-notes.gif"
|
||||
width="812" height="585">
|
||||
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>By default, when there is no text entered it will display the most recent
|
||||
notes.</li>
|
||||
<li>Using the keyboard, use the up or down arrow keys to navigate between
|
||||
items. Press <kbd>Enter</kbd> to open the desired note.</li>
|
||||
<li>If the note doesn't exist, it's possible to create it by typing the desired
|
||||
note title and selecting the <em>Create and link child note</em> option.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<ul>
|
||||
<li>By default, when there is no text entered it will display the most recent
|
||||
notes.</li>
|
||||
<li>Using the keyboard, use the up or down arrow keys to navigate between
|
||||
items. Press <kbd>Enter</kbd> to open the desired note.</li>
|
||||
<li>If the note doesn't exist, it's possible to create it by typing the desired
|
||||
note title and selecting the <em>Create and link child note</em> option.</li>
|
||||
</ul>
|
||||
@@ -1,31 +1,11 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note Hoisting</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note Hoisting</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>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:</p>
|
||||
<p>
|
||||
<img src="Note Hoisting_note-hoistin.gif">
|
||||
</p>
|
||||
<p>In addition to showing only this subtree, this also narrows both full
|
||||
text search and <a href="#root/_help_MMiBEQljMQh2">“jump to note”</a> to
|
||||
just notes present in hoisted subtree.</p>
|
||||
<p>See also <a href="#root/_help_9sRHySam5fXb">Workspace</a> which extends
|
||||
this feature.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>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:</p>
|
||||
<p>
|
||||
<img src="Note Hoisting_note-hoistin.gif">
|
||||
</p>
|
||||
<p>In addition to showing only this subtree, this also narrows both full
|
||||
text search and <a href="#root/_help_MMiBEQljMQh2">“jump to note”</a> to
|
||||
just notes present in hoisted subtree.</p>
|
||||
<p>See also <a href="#root/_help_9sRHySam5fXb">Workspace</a> which extends
|
||||
this feature.</p>
|
||||
@@ -1,36 +1,16 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note Navigation</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note Navigation</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>One of the Trilium's goals is to provide fast and comfortable navigation
|
||||
between notes.</p>
|
||||
<h2>Backwards and forward</h2>
|
||||
<p>You can use alt-left and alt-right to move back and forward in history
|
||||
of viewed pages.</p>
|
||||
<p>This works identically to browser backwards / forwards, it's actually
|
||||
using built-in browser support for this.</p>
|
||||
<p>
|
||||
<img src="Note Navigation_image.png">
|
||||
</p>
|
||||
<h2>Jump to note</h2>
|
||||
<p>This is useful to quickly find and view arbitrary notes - click on <code>Jump to</code> 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.</p>
|
||||
<p>See <a class="reference-link" href="#root/_help_F1r9QtzQLZqm">Jump to Note</a> for
|
||||
more information.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>One of the Trilium's goals is to provide fast and comfortable navigation
|
||||
between notes.</p>
|
||||
<h2>Backwards and forward</h2>
|
||||
<p>You can use alt-left and alt-right to move back and forward in history
|
||||
of viewed pages.</p>
|
||||
<p>This works identically to browser backwards / forwards, it's actually
|
||||
using built-in browser support for this.</p>
|
||||
<p>
|
||||
<img src="Note Navigation_image.png">
|
||||
</p>
|
||||
<h2>Jump to note</h2>
|
||||
<p>This is useful to quickly find and view arbitrary notes - click on <code>Jump to</code> 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.</p>
|
||||
<p>See <a class="reference-link" href="#root/_help_F1r9QtzQLZqm">Jump to Note</a> for
|
||||
more information.</p>
|
||||
@@ -1,43 +1,23 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Quick search</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Quick search</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:659/256;" src="Quick search_image.png" width="659"
|
||||
height="256">
|
||||
</figure>
|
||||
<p>The <em>Quick search</em> 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.</p>
|
||||
<p>The alternative to the quick search is the <a class="reference-link"
|
||||
href="#root/_help_eIg8jdvaoNNd">Search</a> function, which opens in
|
||||
a dedicated tab and has support for advanced queries.</p>
|
||||
<p>For even faster navigation, it's possible to use <a class="reference-link"
|
||||
href="#root/_help_F1r9QtzQLZqm">Jump to Note</a> which will only search
|
||||
through the note titles instead of the content.</p>
|
||||
<h2>Layout</h2>
|
||||
<p>Based on the <a class="reference-link" href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a>,
|
||||
the quick search is placed:</p>
|
||||
<ul>
|
||||
<li>On the vertical layout, it is displayed right above the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>On the horizontal layout, it is displayed in the <a class="reference-link"
|
||||
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>, where it can be positioned
|
||||
just like any other icon.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:659/256;" src="Quick search_image.png" width="659"
|
||||
height="256">
|
||||
</figure>
|
||||
<p>The <em>Quick search</em> 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.</p>
|
||||
<p>The alternative to the quick search is the <a class="reference-link"
|
||||
href="#root/_help_eIg8jdvaoNNd">Search</a> function, which opens in
|
||||
a dedicated tab and has support for advanced queries.</p>
|
||||
<p>For even faster navigation, it's possible to use <a class="reference-link"
|
||||
href="#root/_help_F1r9QtzQLZqm">Jump to Note</a> which will only search
|
||||
through the note titles instead of the content.</p>
|
||||
<h2>Layout</h2>
|
||||
<p>Based on the <a class="reference-link" href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a>,
|
||||
the quick search is placed:</p>
|
||||
<ul>
|
||||
<li>On the vertical layout, it is displayed right above the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>On the horizontal layout, it is displayed in the <a class="reference-link"
|
||||
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>, where it can be positioned
|
||||
just like any other icon.</li>
|
||||
</ul>
|
||||
@@ -1,68 +1,48 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Search in note</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Search in note</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<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>
|
||||
<p>Local search allows you to search within the currently displayed note. </p>
|
||||
<h2>Alternatives</h2>
|
||||
<ul>
|
||||
<li>Pressing Ctrl+F while in a browser while not focused in a <a class="reference-link"
|
||||
href="#root/_help_iPIMuisry3hd">Text</a> or a <a class="reference-link"
|
||||
href="#root/_help_6f9hih2hXXZk">Code</a> note will trigger the browser's
|
||||
native search. This will also find text that is part of Trilium's UI.</li>
|
||||
<li>Pressing Ctrl+F in a <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> note
|
||||
will reveal <a class="reference-link" href="#root/_help_MI26XDLSAlCD">CKEditor</a>'s
|
||||
search functionality.</li>
|
||||
</ul>
|
||||
<h2>Accessing the search</h2>
|
||||
<ul>
|
||||
<li>On desktop, press<kbd>Ctrl</kbd> + <kbd>F</kbd>
|
||||
</li>
|
||||
<li>From the <a class="reference-link" href="#root/_help_8YBEPzcpUgxw">Note buttons</a>,
|
||||
look for the context menu and select <em>Search in note</em>.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>Finding:
|
||||
<ul>
|
||||
<li>Fill in the <em>Find in text…</em> with the text to search for.</li>
|
||||
<li>The search will be executed automatically in the background.</li>
|
||||
<li>Use up and down arrows of the text box to navigate between results.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Replacing:
|
||||
<ul>
|
||||
<li>Fill in the <em>Find in text</em>… field with the text to replace.</li>
|
||||
<li>Fill in the <em>Replace with…</em> field the text to replace it with.</li>
|
||||
<li>Press <em>Replace</em> to replace only the current result.</li>
|
||||
<li>Press <em>Replace all</em> to replace all of them at once.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Options:
|
||||
<ul>
|
||||
<li><em>Case sensitive</em> – the search will distinguish upper case characters
|
||||
from lower case (e.g. searching for Hello will not match <code>hello</code>).</li>
|
||||
<li><em>Match words</em> - the search will find only exact word matches (e.g.
|
||||
searching for <code>Java</code> will not match <code>JavaScript</code>).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<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>
|
||||
<p>Local search allows you to search within the currently displayed note. </p>
|
||||
<h2>Alternatives</h2>
|
||||
<ul>
|
||||
<li>Pressing Ctrl+F while in a browser while not focused in a <a class="reference-link"
|
||||
href="#root/_help_iPIMuisry3hd">Text</a> or a <a class="reference-link"
|
||||
href="#root/_help_6f9hih2hXXZk">Code</a> note will trigger the browser's
|
||||
native search. This will also find text that is part of Trilium's UI.</li>
|
||||
<li>Pressing Ctrl+F in a <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> note
|
||||
will reveal <a class="reference-link" href="#root/_help_MI26XDLSAlCD">CKEditor</a>'s
|
||||
search functionality.</li>
|
||||
</ul>
|
||||
<h2>Accessing the search</h2>
|
||||
<ul>
|
||||
<li>On desktop, press<kbd>Ctrl</kbd> + <kbd>F</kbd>
|
||||
</li>
|
||||
<li>From the <a class="reference-link" href="#root/_help_8YBEPzcpUgxw">Note buttons</a>,
|
||||
look for the context menu and select <em>Search in note</em>.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>Finding:
|
||||
<ul>
|
||||
<li>Fill in the <em>Find in text…</em> with the text to search for.</li>
|
||||
<li>The search will be executed automatically in the background.</li>
|
||||
<li>Use up and down arrows of the text box to navigate between results.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Replacing:
|
||||
<ul>
|
||||
<li>Fill in the <em>Find in text</em>… field with the text to replace.</li>
|
||||
<li>Fill in the <em>Replace with…</em> field the text to replace it with.</li>
|
||||
<li>Press <em>Replace</em> to replace only the current result.</li>
|
||||
<li>Press <em>Replace all</em> to replace all of them at once.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Options:
|
||||
<ul>
|
||||
<li><em>Case sensitive</em> – the search will distinguish upper case characters
|
||||
from lower case (e.g. searching for Hello will not match <code>hello</code>).</li>
|
||||
<li><em>Match words</em> - the search will find only exact word matches (e.g.
|
||||
searching for <code>Java</code> will not match <code>JavaScript</code>).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1,263 +1,243 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Search</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Search</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image">
|
||||
<img style="aspect-ratio:987/725;" src="Search_image.png" width="987"
|
||||
height="725">
|
||||
</figure>
|
||||
<p>Note search enables you to find notes by searching for text in the title,
|
||||
content, or <a href="#root/_help_zEY4DaJG4YT5">attributes</a> of the notes.
|
||||
You also have the option to save your searches, which will create a special
|
||||
search note which is visible on your navigation tree and contains the search
|
||||
results as sub-items.</p>
|
||||
<h2>Accessing the search</h2>
|
||||
<figure class="image">
|
||||
<img style="aspect-ratio:987/725;" src="Search_image.png" width="987"
|
||||
height="725">
|
||||
</figure>
|
||||
<p>Note search enables you to find notes by searching for text in the title,
|
||||
content, or <a href="#root/_help_zEY4DaJG4YT5">attributes</a> of the notes.
|
||||
You also have the option to save your searches, which will create a special
|
||||
search note which is visible on your navigation tree and contains the search
|
||||
results as sub-items.</p>
|
||||
<h2>Accessing the search</h2>
|
||||
<ul>
|
||||
<li>From the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>,
|
||||
look for the dedicated search button.</li>
|
||||
<li>To limit the search to a note and its children, select <em>Search from subtree</em> from
|
||||
the <a class="reference-link" href="#root/_help_YtSN43OrfzaA">Note tree contextual menu</a> or
|
||||
press <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>S</kbd>.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<p>To search for notes, click on the magnifying glass icon on the toolbar
|
||||
or press the keyboard <a href="#root/_help_A9Oc6YKKc65v">shortcut</a>.</p>
|
||||
<ol>
|
||||
<li>Set the text to search for in the <em>Search string</em> field.
|
||||
<ol>
|
||||
<li>Apart from searching for words ad-literam, there is also the possibility
|
||||
to search for attributes or properties of notes.</li>
|
||||
<li>See the examples below for more information.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>To limit the search to a note and its sub-children, set a note in <em>Ancestor</em>.
|
||||
<ol>
|
||||
<li>This value is also pre-filled if the search is triggered from a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or
|
||||
a <a href="#root/_help_9sRHySam5fXb">workspace</a>.</li>
|
||||
<li>To search the entire database, keep the value empty.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>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 <em>depth</em> field to one
|
||||
of the provided values.</li>
|
||||
<li>In addition to that, the search can be configured via the <em>Add search options</em> buttons,
|
||||
as described in the follow-up section.</li>
|
||||
<li>Press <em>Search</em> to trigger the search. The results are displayed below
|
||||
the search configuration pane.</li>
|
||||
<li>The <em>Search & Execute actions</em> button is only relevant if at
|
||||
least one action has been added (as described in the section below).</li>
|
||||
<li>The <em>Save to note</em> will create a new note with the search configuration.
|
||||
For more information, see <a class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>.</li>
|
||||
</ol>
|
||||
<h2>Search options</h2>
|
||||
<p>Click on which search option to apply from the Add search option section.</p>
|
||||
<ul>
|
||||
<li>For each search option selected, the search configuration will update
|
||||
to reveal the entry. Each search option will have its own configuration.</li>
|
||||
<li>To remove a search option, simply press the X button to the right of it.</li>
|
||||
</ul>
|
||||
<p>The options available are:</p>
|
||||
<ol>
|
||||
<li>Search script
|
||||
<ol>
|
||||
<li>This feature allows writing a <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> note
|
||||
that will handle the search on its own.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Fast search
|
||||
<ol>
|
||||
<li>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).</li>
|
||||
<li>This method can speed up the search considerably for large <a href="#root/_help_wX4HbRucYSDD">databases</a>.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Include archived
|
||||
<ol>
|
||||
<li><a class="reference-link" href="#root/_help_MKmLg5x6xkor">Archived Notes</a> will
|
||||
also be included in the results, whereas otherwise they would be ignored.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Order by
|
||||
<ol>
|
||||
<li>Allows changing the criteria for ordering the results, for example to
|
||||
order by creation date or alphabetically instead of by relevancy (default).</li>
|
||||
<li>It's also possible to change the order (ascending or descending) of the
|
||||
results.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Limit
|
||||
<ol>
|
||||
<li>Limits the results to a given maximum.</li>
|
||||
<li>This can help if the number of results would otherwise be high, at the
|
||||
cost of not being able to view all the results.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Debug
|
||||
<ol>
|
||||
<li>This will print additional information in the server log (see
|
||||
<a
|
||||
class="reference-link" href="#root/_help_qzNzp9LYQyPT">Error logs</a>), regarding how the search expression was parsed.</li>
|
||||
<li>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.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Action
|
||||
<ol>
|
||||
<li>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.</li>
|
||||
<li>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).</li>
|
||||
<li>The actions given are the same as the ones in <a class="reference-link"
|
||||
href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>, which is an alternative
|
||||
for operating directly with notes within the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>After defining the actions, first press <em>Search</em> to check the matched
|
||||
notes and then press <em>Search & Execute actions</em> to trigger the
|
||||
actions.</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<h3>Simple Note Search Examples</h3>
|
||||
<ul>
|
||||
<li><code>rings tolkien</code>: Full-text search to find notes containing
|
||||
both "rings" and "tolkien".</li>
|
||||
<li><code>"The Lord of the Rings" Tolkien</code>: Full-text search where "The
|
||||
Lord of the Rings" must match exactly.</li>
|
||||
<li><code>note.content *=* rings OR note.content *=* tolkien</code>: Find
|
||||
notes containing "rings" or "tolkien" in their content.</li>
|
||||
<li><code>towers #book</code>: Combine full-text and attribute search to find
|
||||
notes containing "towers" and having the "book" label.</li>
|
||||
<li><code>towers #book or #author</code>: Search for notes containing "towers"
|
||||
and having either the "book" or "author" label.</li>
|
||||
<li><code>towers #!book</code>: Search for notes containing "towers" and not
|
||||
having the "book" label.</li>
|
||||
<li><code>#book #publicationYear = 1954</code>: Find notes with the "book"
|
||||
label and "publicationYear" set to 1954.</li>
|
||||
<li><code>#genre *=* fan</code>: Find notes with the "genre" label containing
|
||||
the substring "fan". Additional operators include <code>*=*</code> for "contains", <code>=*</code> for
|
||||
"starts with", <code>*=</code> for "ends with", and <code>!=</code> for "is
|
||||
not equal to".</li>
|
||||
<li><code>#book #publicationYear >= 1950 #publicationYear < 1960</code>:
|
||||
Use numeric operators to find all books published in the 1950s.</li>
|
||||
<li><code>#dateNote >= TODAY-30</code>: 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.</li>
|
||||
<li><code>~author.title *=* Tolkien</code>: Find notes related to an author
|
||||
whose title contains "Tolkien".</li>
|
||||
<li><code>#publicationYear %= '19[0-9]{2}'</code>: Use the '%=' operator to
|
||||
match a regular expression (regex). This feature has been available since
|
||||
Trilium 0.52.</li>
|
||||
</ul>
|
||||
<h3>Advanced Use Cases</h3>
|
||||
<ul>
|
||||
<li><code>~author.relations.son.title = 'Christopher Tolkien'</code>: Search
|
||||
for notes with an "author" relation to a note that has a "son" relation
|
||||
to "Christopher Tolkien". This can be modeled with the following note structure:
|
||||
<ul>
|
||||
<li>Books
|
||||
<ul>
|
||||
<li>From the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>,
|
||||
look for the dedicated search button.</li>
|
||||
<li>To limit the search to a note and its children, select <em>Search from subtree</em> from
|
||||
the <a class="reference-link" href="#root/_help_YtSN43OrfzaA">Note tree contextual menu</a> or
|
||||
press <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>S</kbd>.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<p>To search for notes, click on the magnifying glass icon on the toolbar
|
||||
or press the keyboard <a href="#root/_help_A9Oc6YKKc65v">shortcut</a>.</p>
|
||||
<ol>
|
||||
<li>Set the text to search for in the <em>Search string</em> field.
|
||||
<ol>
|
||||
<li>Apart from searching for words ad-literam, there is also the possibility
|
||||
to search for attributes or properties of notes.</li>
|
||||
<li>See the examples below for more information.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>To limit the search to a note and its sub-children, set a note in <em>Ancestor</em>.
|
||||
<ol>
|
||||
<li>This value is also pre-filled if the search is triggered from a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or
|
||||
a <a href="#root/_help_9sRHySam5fXb">workspace</a>.</li>
|
||||
<li>To search the entire database, keep the value empty.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>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 <em>depth</em> field to one
|
||||
of the provided values.</li>
|
||||
<li>In addition to that, the search can be configured via the <em>Add search options</em> buttons,
|
||||
as described in the follow-up section.</li>
|
||||
<li>Press <em>Search</em> to trigger the search. The results are displayed below
|
||||
the search configuration pane.</li>
|
||||
<li>The <em>Search & Execute actions</em> button is only relevant if at
|
||||
least one action has been added (as described in the section below).</li>
|
||||
<li>The <em>Save to note</em> will create a new note with the search configuration.
|
||||
For more information, see <a class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>.</li>
|
||||
</ol>
|
||||
<h2>Search options</h2>
|
||||
<p>Click on which search option to apply from the Add search option section.</p>
|
||||
<ul>
|
||||
<li>For each search option selected, the search configuration will update
|
||||
to reveal the entry. Each search option will have its own configuration.</li>
|
||||
<li>To remove a search option, simply press the X button to the right of it.</li>
|
||||
</ul>
|
||||
<p>The options available are:</p>
|
||||
<ol>
|
||||
<li>Search script
|
||||
<ol>
|
||||
<li>This feature allows writing a <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> note
|
||||
that will handle the search on its own.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Fast search
|
||||
<ol>
|
||||
<li>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).</li>
|
||||
<li>This method can speed up the search considerably for large <a href="#root/_help_wX4HbRucYSDD">databases</a>.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Include archived
|
||||
<ol>
|
||||
<li><a class="reference-link" href="#root/_help_MKmLg5x6xkor">Archived Notes</a> will
|
||||
also be included in the results, whereas otherwise they would be ignored.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Order by
|
||||
<ol>
|
||||
<li>Allows changing the criteria for ordering the results, for example to
|
||||
order by creation date or alphabetically instead of by relevancy (default).</li>
|
||||
<li>It's also possible to change the order (ascending or descending) of the
|
||||
results.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Limit
|
||||
<ol>
|
||||
<li>Limits the results to a given maximum.</li>
|
||||
<li>This can help if the number of results would otherwise be high, at the
|
||||
cost of not being able to view all the results.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Debug
|
||||
<ol>
|
||||
<li>This will print additional information in the server log (see
|
||||
<a
|
||||
class="reference-link" href="#root/_help_qzNzp9LYQyPT">Error logs</a>), regarding how the search expression was parsed.</li>
|
||||
<li>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.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Action
|
||||
<ol>
|
||||
<li>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.</li>
|
||||
<li>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).</li>
|
||||
<li>The actions given are the same as the ones in <a class="reference-link"
|
||||
href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>, which is an alternative
|
||||
for operating directly with notes within the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>After defining the actions, first press <em>Search</em> to check the matched
|
||||
notes and then press <em>Search & Execute actions</em> to trigger the
|
||||
actions.</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<h3>Simple Note Search Examples</h3>
|
||||
<ul>
|
||||
<li><code>rings tolkien</code>: Full-text search to find notes containing
|
||||
both "rings" and "tolkien".</li>
|
||||
<li><code>"The Lord of the Rings" Tolkien</code>: Full-text search where "The
|
||||
Lord of the Rings" must match exactly.</li>
|
||||
<li><code>note.content *=* rings OR note.content *=* tolkien</code>: Find
|
||||
notes containing "rings" or "tolkien" in their content.</li>
|
||||
<li><code>towers #book</code>: Combine full-text and attribute search to find
|
||||
notes containing "towers" and having the "book" label.</li>
|
||||
<li><code>towers #book or #author</code>: Search for notes containing "towers"
|
||||
and having either the "book" or "author" label.</li>
|
||||
<li><code>towers #!book</code>: Search for notes containing "towers" and not
|
||||
having the "book" label.</li>
|
||||
<li><code>#book #publicationYear = 1954</code>: Find notes with the "book"
|
||||
label and "publicationYear" set to 1954.</li>
|
||||
<li><code>#genre *=* fan</code>: Find notes with the "genre" label containing
|
||||
the substring "fan". Additional operators include <code>*=*</code> for "contains", <code>=*</code> for
|
||||
"starts with", <code>*=</code> for "ends with", and <code>!=</code> for "is
|
||||
not equal to".</li>
|
||||
<li><code>#book #publicationYear >= 1950 #publicationYear < 1960</code>:
|
||||
Use numeric operators to find all books published in the 1950s.</li>
|
||||
<li><code>#dateNote >= TODAY-30</code>: 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.</li>
|
||||
<li><code>~author.title *=* Tolkien</code>: Find notes related to an author
|
||||
whose title contains "Tolkien".</li>
|
||||
<li><code>#publicationYear %= '19[0-9]{2}'</code>: Use the '%=' operator to
|
||||
match a regular expression (regex). This feature has been available since
|
||||
Trilium 0.52.</li>
|
||||
</ul>
|
||||
<h3>Advanced Use Cases</h3>
|
||||
<ul>
|
||||
<li><code>~author.relations.son.title = 'Christopher Tolkien'</code>: Search
|
||||
for notes with an "author" relation to a note that has a "son" relation
|
||||
to "Christopher Tolkien". This can be modeled with the following note structure:
|
||||
<li>Lord of the Rings
|
||||
<ul>
|
||||
<li>Books
|
||||
<ul>
|
||||
<li>Lord of the Rings
|
||||
<ul>
|
||||
<li>label: “book”</li>
|
||||
<li>relation: “author” points to “J. R. R. Tolkien” note</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>People
|
||||
<ul>
|
||||
<li>J. R. R. Tolkien
|
||||
<ul>
|
||||
<li>relation: “son” points to "Christopher Tolkien" note</li>
|
||||
<li>Christopher Tolkien</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>label: “book”</li>
|
||||
<li>relation: “author” points to “J. R. R. Tolkien” note</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>~author.title *= Tolkien OR (#publicationDate >= 1954 AND #publicationDate <= 1960)</code>:
|
||||
Use boolean expressions and parentheses to group expressions. Note that
|
||||
expressions starting with a parenthesis need an "expression separator sign"
|
||||
(# or ~) prepended.</li>
|
||||
<li><code>note.parents.title = 'Books'</code>: Find notes with a parent named
|
||||
"Books".</li>
|
||||
<li><code>note.parents.parents.title = 'Books'</code>: Find notes with a grandparent
|
||||
named "Books".</li>
|
||||
<li><code>note.ancestors.title = 'Books'</code>: Find notes with an ancestor
|
||||
named "Books".</li>
|
||||
<li><code>note.children.title = 'sub-note'</code>: Find notes with a child
|
||||
named "sub-note".</li>
|
||||
</ul>
|
||||
<h3>Search with Note Properties</h3>
|
||||
<p>Notes have properties that can be used in searches, such as <code>noteId</code>, <code>dateModified</code>, <code>dateCreated</code>, <code>isProtected</code>, <code>type</code>, <code>title</code>, <code>text</code>, <code>content</code>, <code>rawContent</code>, <code>ownedLabelCount</code>, <code>labelCount</code>, <code>ownedRelationCount</code>, <code>relationCount</code>, <code>ownedRelationCountIncludingLinks</code>, <code>relationCountIncludingLinks</code>, <code>ownedAttributeCount</code>, <code>attributeCount</code>, <code>targetRelationCount</code>, <code>targetRelationCountIncludingLinks</code>, <code>parentCount</code>, <code>childrenCount</code>, <code>isArchived</code>, <code>contentSize</code>, <code>noteSize</code>,
|
||||
and <code>revisionCount</code>.</p>
|
||||
<p>These properties can be accessed via the <code>note.</code> prefix, e.g., <code>note.type = code AND note.mime = 'application/json'</code>.</p>
|
||||
<h3>Order by and Limit</h3><pre><code class="language-text-x-trilium-auto">#author=Tolkien orderBy #publicationDate desc, note.title limit 10</code></pre>
|
||||
<p>This example will:</p>
|
||||
<ol>
|
||||
<li>Find notes with the author label "Tolkien".</li>
|
||||
<li>Order the results by <code>publicationDate</code> in descending order.</li>
|
||||
<li>Use <code>note.title</code> as a secondary ordering if publication dates
|
||||
are equal.</li>
|
||||
<li>Limit the results to the first 10 notes.</li>
|
||||
</ol>
|
||||
<h3>Negation</h3>
|
||||
<p>Some queries can only be expressed with negation:</p><pre><code class="language-text-x-trilium-auto">#book AND not(note.ancestor.title = 'Tolkien')</code></pre>
|
||||
<p>This query finds all book notes not in the "Tolkien" subtree.</p>
|
||||
<h2>Under the Hood</h2>
|
||||
<h3>Label and Relation Shortcuts</h3>
|
||||
<p>The "full" syntax for searching by labels is:</p><pre><code class="language-text-x-trilium-auto">note.labels.publicationYear = 1954</code></pre>
|
||||
<p>For relations:</p><pre><code class="language-text-x-trilium-auto">note.relations.author.title *=* Tolkien</code></pre>
|
||||
<p>However, common label and relation searches have shortcut syntax:</p><pre><code class="language-text-x-trilium-auto">#publicationYear = 1954
|
||||
</li>
|
||||
<li>People
|
||||
<ul>
|
||||
<li>J. R. R. Tolkien
|
||||
<ul>
|
||||
<li>relation: “son” points to "Christopher Tolkien" note</li>
|
||||
<li>Christopher Tolkien</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>~author.title *= Tolkien OR (#publicationDate >= 1954 AND #publicationDate <= 1960)</code>:
|
||||
Use boolean expressions and parentheses to group expressions. Note that
|
||||
expressions starting with a parenthesis need an "expression separator sign"
|
||||
(# or ~) prepended.</li>
|
||||
<li><code>note.parents.title = 'Books'</code>: Find notes with a parent named
|
||||
"Books".</li>
|
||||
<li><code>note.parents.parents.title = 'Books'</code>: Find notes with a grandparent
|
||||
named "Books".</li>
|
||||
<li><code>note.ancestors.title = 'Books'</code>: Find notes with an ancestor
|
||||
named "Books".</li>
|
||||
<li><code>note.children.title = 'sub-note'</code>: Find notes with a child
|
||||
named "sub-note".</li>
|
||||
</ul>
|
||||
<h3>Search with Note Properties</h3>
|
||||
<p>Notes have properties that can be used in searches, such as <code>noteId</code>, <code>dateModified</code>, <code>dateCreated</code>, <code>isProtected</code>, <code>type</code>, <code>title</code>, <code>text</code>, <code>content</code>, <code>rawContent</code>, <code>ownedLabelCount</code>, <code>labelCount</code>, <code>ownedRelationCount</code>, <code>relationCount</code>, <code>ownedRelationCountIncludingLinks</code>, <code>relationCountIncludingLinks</code>, <code>ownedAttributeCount</code>, <code>attributeCount</code>, <code>targetRelationCount</code>, <code>targetRelationCountIncludingLinks</code>, <code>parentCount</code>, <code>childrenCount</code>, <code>isArchived</code>, <code>contentSize</code>, <code>noteSize</code>,
|
||||
and <code>revisionCount</code>.</p>
|
||||
<p>These properties can be accessed via the <code>note.</code> prefix, e.g., <code>note.type = code AND note.mime = 'application/json'</code>.</p>
|
||||
<h3>Order by and Limit</h3><pre><code class="language-text-x-trilium-auto">#author=Tolkien orderBy #publicationDate desc, note.title limit 10</code></pre>
|
||||
<p>This example will:</p>
|
||||
<ol>
|
||||
<li>Find notes with the author label "Tolkien".</li>
|
||||
<li>Order the results by <code>publicationDate</code> in descending order.</li>
|
||||
<li>Use <code>note.title</code> as a secondary ordering if publication dates
|
||||
are equal.</li>
|
||||
<li>Limit the results to the first 10 notes.</li>
|
||||
</ol>
|
||||
<h3>Negation</h3>
|
||||
<p>Some queries can only be expressed with negation:</p><pre><code class="language-text-x-trilium-auto">#book AND not(note.ancestor.title = 'Tolkien')</code></pre>
|
||||
<p>This query finds all book notes not in the "Tolkien" subtree.</p>
|
||||
<h2>Under the Hood</h2>
|
||||
<h3>Label and Relation Shortcuts</h3>
|
||||
<p>The "full" syntax for searching by labels is:</p><pre><code class="language-text-x-trilium-auto">note.labels.publicationYear = 1954</code></pre>
|
||||
<p>For relations:</p><pre><code class="language-text-x-trilium-auto">note.relations.author.title *=* Tolkien</code></pre>
|
||||
<p>However, common label and relation searches have shortcut syntax:</p><pre><code class="language-text-x-trilium-auto">#publicationYear = 1954
|
||||
#author.title *=* Tolkien</code></pre>
|
||||
<h3>Separating Full-Text and Attribute Parts</h3>
|
||||
<p>Search syntax allows combining full-text search with attribute-based search
|
||||
seamlessly. For example, <code>tolkien #book</code> contains:</p>
|
||||
<ol>
|
||||
<li>Full-text tokens - <code>tolkien</code>
|
||||
</li>
|
||||
<li>Attribute expressions - <code>#book</code>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Trilium detects the separation between full text search and attribute/property
|
||||
search by looking for certain special characters or words that denote attributes
|
||||
and properties (e.g., #, ~, note.). If you need to include these in full-text
|
||||
search, escape them with a backslash so they are processed as regular text:</p><pre><code class="language-text-x-trilium-auto">"note.txt"
|
||||
<h3>Separating Full-Text and Attribute Parts</h3>
|
||||
<p>Search syntax allows combining full-text search with attribute-based search
|
||||
seamlessly. For example, <code>tolkien #book</code> contains:</p>
|
||||
<ol>
|
||||
<li>Full-text tokens - <code>tolkien</code>
|
||||
</li>
|
||||
<li>Attribute expressions - <code>#book</code>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Trilium detects the separation between full text search and attribute/property
|
||||
search by looking for certain special characters or words that denote attributes
|
||||
and properties (e.g., #, ~, note.). If you need to include these in full-text
|
||||
search, escape them with a backslash so they are processed as regular text:</p><pre><code class="language-text-x-trilium-auto">"note.txt"
|
||||
\#hash
|
||||
#myLabel = 'Say "Hello World"'</code></pre>
|
||||
<h3>Escaping Special Characters</h3>
|
||||
<p>Special characters can be enclosed in quotes or escaped with a backslash
|
||||
to be used in full-text search:</p><pre><code class="language-text-x-trilium-auto">"note.txt"
|
||||
<h3>Escaping Special Characters</h3>
|
||||
<p>Special characters can be enclosed in quotes or escaped with a backslash
|
||||
to be used in full-text search:</p><pre><code class="language-text-x-trilium-auto">"note.txt"
|
||||
\#hash
|
||||
#myLabel = 'Say "Hello World"'</code></pre>
|
||||
<p>Three types of quotes are supported: single, double, and backtick.</p>
|
||||
<h3>Type Coercion</h3>
|
||||
<p>Label values are technically strings but can be coerced for numeric comparisons:</p><pre><code class="language-text-x-trilium-auto">note.dateCreated =* '2019-05'</code></pre>
|
||||
<p>This finds notes created in May 2019. Numeric operators like <code>#publicationYear >= 1960</code> convert
|
||||
string values to numbers for comparison.</p>
|
||||
<h2>Auto-Trigger Search from URL</h2>
|
||||
<p>You can open Trilium and automatically trigger a search by including the
|
||||
search <a href="https://meyerweb.com/eric/tools/dencoder/">url encoded</a> string
|
||||
in the URL:</p>
|
||||
<p><code>http://localhost:8080/#?searchString=abc</code>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Three types of quotes are supported: single, double, and backtick.</p>
|
||||
<h3>Type Coercion</h3>
|
||||
<p>Label values are technically strings but can be coerced for numeric comparisons:</p><pre><code class="language-text-x-trilium-auto">note.dateCreated =* '2019-05'</code></pre>
|
||||
<p>This finds notes created in May 2019. Numeric operators like <code>#publicationYear >= 1960</code> convert
|
||||
string values to numbers for comparison.</p>
|
||||
<h2>Auto-Trigger Search from URL</h2>
|
||||
<p>You can open Trilium and automatically trigger a search by including the
|
||||
search <a href="https://meyerweb.com/eric/tools/dencoder/">url encoded</a> string
|
||||
in the URL:</p>
|
||||
<p><code>http://localhost:8080/#?searchString=abc</code>
|
||||
</p>
|
||||
@@ -1,35 +1,15 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Similar Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Similar Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1626/540;" src="Similar Notes_image.png" width="1626"
|
||||
height="540">
|
||||
</figure>
|
||||
<p>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.</p>
|
||||
<p>To access the list of similar notes, press the “Similar Notes” tab in
|
||||
the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.</p>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>Hover over a note to see a short preview of the note.</li>
|
||||
<li>Click over a note to open it in the current view.</li>
|
||||
<li><kbd>Ctrl</kbd> + click a note to open it in a separate tab.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1626/540;" src="Similar Notes_image.png" width="1626"
|
||||
height="540">
|
||||
</figure>
|
||||
<p>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.</p>
|
||||
<p>To access the list of similar notes, press the “Similar Notes” tab in
|
||||
the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.</p>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>Hover over a note to see a short preview of the note.</li>
|
||||
<li>Click over a note to open it in the current view.</li>
|
||||
<li><kbd>Ctrl</kbd> + click a note to open it in a separate tab.</li>
|
||||
</ul>
|
||||
@@ -1,46 +1,26 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Tree Concepts</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Tree Concepts</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>This page explains the basic concepts related to the tree structure of
|
||||
notes in TriliumNext.</p>
|
||||
<h2>Note</h2>
|
||||
<p>A note is the central entity in TriliumNext. For more details, see <a href="#root/_help_BFs8mudNFgCS">Note</a>.</p>
|
||||
<h2>Branch</h2>
|
||||
<p>A branch describes the placement of a note within the note tree. Essentially,
|
||||
it is a tuple of <code>parentNoteId</code> and <code>noteId</code>, indicating
|
||||
that the given note is placed as a child under the specified parent note.</p>
|
||||
<p>Each note can have multiple branches, meaning any note can be placed in
|
||||
multiple locations within the tree. This concept is referred to as "
|
||||
<a
|
||||
href="#root/_help_IakOLONlIfGI">cloning</a>."</p>
|
||||
<h2>Prefix</h2>
|
||||
<p>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.</p>
|
||||
<p>To edit a prefix, right-click on the note in the tree pane and select
|
||||
"Edit branch prefix."</p>
|
||||
<p>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.</p>
|
||||
<h2>Subtree</h2>
|
||||
<p>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.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>This page explains the basic concepts related to the tree structure of
|
||||
notes in TriliumNext.</p>
|
||||
<h2>Note</h2>
|
||||
<p>A note is the central entity in TriliumNext. For more details, see <a href="#root/_help_BFs8mudNFgCS">Note</a>.</p>
|
||||
<h2>Branch</h2>
|
||||
<p>A branch describes the placement of a note within the note tree. Essentially,
|
||||
it is a tuple of <code>parentNoteId</code> and <code>noteId</code>, indicating
|
||||
that the given note is placed as a child under the specified parent note.</p>
|
||||
<p>Each note can have multiple branches, meaning any note can be placed in
|
||||
multiple locations within the tree. This concept is referred to as "
|
||||
<a
|
||||
href="#root/_help_IakOLONlIfGI">cloning</a>."</p>
|
||||
<h2>Prefix</h2>
|
||||
<p>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.</p>
|
||||
<p>To edit a prefix, right-click on the note in the tree pane and select
|
||||
"Edit branch prefix."</p>
|
||||
<p>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.</p>
|
||||
<h2>Subtree</h2>
|
||||
<p>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.</p>
|
||||
@@ -1,100 +1,80 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Workspaces</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Workspaces</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Workspace is a concept built up on top of <a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a>.
|
||||
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.</p>
|
||||
<p>So far workspace consists of these features:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a> - you can "zoom" into
|
||||
a workspace subtree to focus only on the relevant notes</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>easy entering of workspace: </p>
|
||||
<p>
|
||||
<img src="1_Workspaces_image.png">
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>visual identification of workspace in tabs:
|
||||
<br>
|
||||
<img src="Workspaces_image.png">
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Configuration</h3>
|
||||
<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 <a class="reference-link" href="#root/_help_l0tKav7yLHGF">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>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Workspace is a concept built up on top of <a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a>.
|
||||
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.</p>
|
||||
<p>So far workspace consists of these features:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a> - you can "zoom" into
|
||||
a workspace subtree to focus only on the relevant notes</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>easy entering of workspace: </p>
|
||||
<p>
|
||||
<img src="1_Workspaces_image.png">
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>visual identification of workspace in tabs:
|
||||
<br>
|
||||
<img src="Workspaces_image.png">
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Configuration</h3>
|
||||
<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 <a class="reference-link" href="#root/_help_l0tKav7yLHGF">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>
|
||||
@@ -1,70 +1,50 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Note is a central entity in Trilium. Main attributes of note are title
|
||||
and content.</p>
|
||||
<h3>Note types</h3>
|
||||
<p>The main note type is a rich-text note type called <a class="reference-link"
|
||||
href="#root/_help_iPIMuisry3hd">Text</a>. For diagrams and drawing there
|
||||
is <a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>.</p>
|
||||
<p>There are also more complex note types such as <a class="reference-link"
|
||||
href="#root/_help_m523cpzocqaD">Saved Search</a>, <a class="reference-link"
|
||||
href="#root/_help_HcABDtFCkbFN">Render Note</a> that usually go hand-in-hand
|
||||
with <a class="reference-link" href="#root/_help_CdNpE2pqjmI6">Scripting</a>.</p>
|
||||
<p>In Trilium there's no specific "folder" note type. Any note can have children
|
||||
and thus be a folder.</p>
|
||||
<h3>Root note</h3>
|
||||
<p>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.</p>
|
||||
<h3>Tree structure</h3>
|
||||
<p>Importantly, note itself doesn't carry information on its placement in
|
||||
note tree. See <a class="reference-link" href="#root/_help_IakOLONlIfGI">Cloning Notes</a> for
|
||||
details.</p>
|
||||
<p>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.</p>
|
||||
<h3>Deleting / undeleting notes</h3>
|
||||
<p>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.</p>
|
||||
<p>Within (by default) 7 days, it is possible to undelete these soft-deleted
|
||||
notes - open the <a class="reference-link" href="#root/_help_r5JGHN99bVKn">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.</p>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<p>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="#root/_help_ODY7qQn5m2FT">Backup</a>).</p>
|
||||
<h2>See also</h2>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_CoFPLs3dRlXc">Read-Only Notes</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Note is a central entity in Trilium. Main attributes of note are title
|
||||
and content.</p>
|
||||
<h3>Note types</h3>
|
||||
<p>The main note type is a rich-text note type called <a class="reference-link"
|
||||
href="#root/_help_iPIMuisry3hd">Text</a>. For diagrams and drawing there
|
||||
is <a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>.</p>
|
||||
<p>There are also more complex note types such as <a class="reference-link"
|
||||
href="#root/_help_m523cpzocqaD">Saved Search</a>, <a class="reference-link"
|
||||
href="#root/_help_HcABDtFCkbFN">Render Note</a> that usually go hand-in-hand
|
||||
with <a class="reference-link" href="#root/_help_CdNpE2pqjmI6">Scripting</a>.</p>
|
||||
<p>In Trilium there's no specific "folder" note type. Any note can have children
|
||||
and thus be a folder.</p>
|
||||
<h3>Root note</h3>
|
||||
<p>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.</p>
|
||||
<h3>Tree structure</h3>
|
||||
<p>Importantly, note itself doesn't carry information on its placement in
|
||||
note tree. See <a class="reference-link" href="#root/_help_IakOLONlIfGI">Cloning Notes</a> for
|
||||
details.</p>
|
||||
<p>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.</p>
|
||||
<h3>Deleting / undeleting notes</h3>
|
||||
<p>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.</p>
|
||||
<p>Within (by default) 7 days, it is possible to undelete these soft-deleted
|
||||
notes - open the <a class="reference-link" href="#root/_help_r5JGHN99bVKn">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.</p>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<p>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="#root/_help_ODY7qQn5m2FT">Backup</a>).</p>
|
||||
<h2>See also</h2>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_CoFPLs3dRlXc">Read-Only Notes</a>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1,31 +1,11 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Archived Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Archived Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Archived notes are notes which have <code>archived</code> <a href="#root/_help_zEY4DaJG4YT5">attribute</a> -
|
||||
either directly or <a href="#root/_help_bwZpz2ajCEwO">inherited</a>.</p>
|
||||
<p>Such notes are then by default not shown in the autocomplete and in the
|
||||
full text <a href="#root/_help_eIg8jdvaoNNd">search</a>.</p>
|
||||
<p>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.</p>
|
||||
<p>You can control whether archived notes are displayed in the note tree
|
||||
with a setting:</p>
|
||||
<p>
|
||||
<img src="Archived Notes_hide-archiv.png">
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Archived notes are notes which have <code>archived</code> <a href="#root/_help_zEY4DaJG4YT5">attribute</a> -
|
||||
either directly or <a href="#root/_help_bwZpz2ajCEwO">inherited</a>.</p>
|
||||
<p>Such notes are then by default not shown in the autocomplete and in the
|
||||
full text <a href="#root/_help_eIg8jdvaoNNd">search</a>.</p>
|
||||
<p>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.</p>
|
||||
<p>You can control whether archived notes are displayed in the note tree
|
||||
with a setting:</p>
|
||||
<p>
|
||||
<img src="Archived Notes_hide-archiv.png">
|
||||
</p>
|
||||
@@ -1,50 +1,30 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Attachments</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Attachments</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>A <a href="#root/_help_BFs8mudNFgCS">note</a> in Trilium can <em>own</em> one
|
||||
or more attachments, which can be either images or files. These attachments
|
||||
can be displayed or linked within the note that owns them.</p>
|
||||
<p>This can be especially useful to include dependencies for your <a href="#root/_help_CdNpE2pqjmI6">scripts</a>.
|
||||
The <a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a> shows
|
||||
how to use <a href="https://chartjs.org/">chartjs</a> which is attached to
|
||||
the script note.</p>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<h2>Converting notes to attachments</h2>
|
||||
<p><a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a> notes
|
||||
can be easily converted to attachments of the parent note.</p>
|
||||
<p>To do so:</p>
|
||||
<ul>
|
||||
<li>For a single note, press the context menu from the <a class="reference-link"
|
||||
href="#root/_help_8YBEPzcpUgxw">Note buttons</a> and select <em>Convert into attachment</em>.</li>
|
||||
<li>For multiple notes, select the given notes in the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>, right click → Advanced →
|
||||
Convert to attachment.</li>
|
||||
</ul>
|
||||
<h2>Attachment previews</h2>
|
||||
<p>Attachments share the same content preview for images, videos, PDFs, etc.
|
||||
as the <a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a> note
|
||||
type.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>A <a href="#root/_help_BFs8mudNFgCS">note</a> in Trilium can <em>own</em> one
|
||||
or more attachments, which can be either images or files. These attachments
|
||||
can be displayed or linked within the note that owns them.</p>
|
||||
<p>This can be especially useful to include dependencies for your <a href="#root/_help_CdNpE2pqjmI6">scripts</a>.
|
||||
The <a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a> shows
|
||||
how to use <a href="https://chartjs.org/">chartjs</a> which is attached to
|
||||
the script note.</p>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<h2>Converting notes to attachments</h2>
|
||||
<p><a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a> notes
|
||||
can be easily converted to attachments of the parent note.</p>
|
||||
<p>To do so:</p>
|
||||
<ul>
|
||||
<li>For a single note, press the context menu from the <a class="reference-link"
|
||||
href="#root/_help_8YBEPzcpUgxw">Note buttons</a> and select <em>Convert into attachment</em>.</li>
|
||||
<li>For multiple notes, select the given notes in the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>, right click → Advanced →
|
||||
Convert to attachment.</li>
|
||||
</ul>
|
||||
<h2>Attachment previews</h2>
|
||||
<p>Attachments share the same content preview for images, videos, PDFs, etc.
|
||||
as the <a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a> note
|
||||
type.</p>
|
||||
@@ -1,122 +1,102 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Cloning Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Cloning Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<h2>Motivation</h2>
|
||||
<p>Trilium's core feature is the ability to structure your notes into hierarchical
|
||||
tree-like structure.</p>
|
||||
<p>It is expected then that you'll have an elaborate and deep note hierarchy
|
||||
- each subtree will represent a more refined and specialized view of your
|
||||
knowledge base.</p>
|
||||
<p>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:</p>
|
||||
<h2>Motivation</h2>
|
||||
<p>Trilium's core feature is the ability to structure your notes into hierarchical
|
||||
tree-like structure.</p>
|
||||
<p>It is expected then that you'll have an elaborate and deep note hierarchy
|
||||
- each subtree will represent a more refined and specialized view of your
|
||||
knowledge base.</p>
|
||||
<p>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:</p>
|
||||
<ul>
|
||||
<li>Technology
|
||||
<ul>
|
||||
<li>Programming
|
||||
<ul>
|
||||
<li>Technology
|
||||
<li>Kotlin</li>
|
||||
<li>JavaScript</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Operating systems
|
||||
<ul>
|
||||
<li>Linux</li>
|
||||
<li>Windows</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Now, I'm starting to learn about <a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)">Bash</a> 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.</p>
|
||||
<h2>Solution</h2>
|
||||
<p>The solution to the problem shown above is to allow notes to have multiple
|
||||
parents.</p>
|
||||
<p>I call these "clones", but that is a bit misleading - there's no original
|
||||
and cloned note - the notes in both of the parents categories are identical.</p>
|
||||
<p>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.</p>
|
||||
<p>Here's the final structure with cloning:</p>
|
||||
<ul>
|
||||
<li>Technology
|
||||
<ul>
|
||||
<li>Programming
|
||||
<ul>
|
||||
<li>Kotlin</li>
|
||||
<li>JavaScript</li>
|
||||
<li>Bash
|
||||
<ul>
|
||||
<li>Programming
|
||||
<ul>
|
||||
<li>Kotlin</li>
|
||||
<li>JavaScript</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Operating systems
|
||||
<ul>
|
||||
<li>Linux</li>
|
||||
<li>Windows</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>some sub-notes ...</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Now, I'm starting to learn about <a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)">Bash</a> 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.</p>
|
||||
<h2>Solution</h2>
|
||||
<p>The solution to the problem shown above is to allow notes to have multiple
|
||||
parents.</p>
|
||||
<p>I call these "clones", but that is a bit misleading - there's no original
|
||||
and cloned note - the notes in both of the parents categories are identical.</p>
|
||||
<p>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.</p>
|
||||
<p>Here's the final structure with cloning:</p>
|
||||
</li>
|
||||
<li>Operating systems
|
||||
<ul>
|
||||
<li>Technology
|
||||
<li>Linux
|
||||
<ul>
|
||||
<li>Programming
|
||||
<li>Bash
|
||||
<ul>
|
||||
<li>Kotlin</li>
|
||||
<li>JavaScript</li>
|
||||
<li>Bash
|
||||
<ul>
|
||||
<li>some sub-notes ...</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Operating systems
|
||||
<ul>
|
||||
<li>Linux
|
||||
<ul>
|
||||
<li>Bash
|
||||
<ul>
|
||||
<li>some sub-notes ...</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Windows</li>
|
||||
<li>some sub-notes ...</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Windows</li>
|
||||
</ul>
|
||||
<p>So now the "Bash" subtree appears on multiple locations in the hierarchy.
|
||||
Both the Bash subtrees are the same and contain the same sub-categories
|
||||
and notes.</p>
|
||||
<h3>Demo</h3>
|
||||
<p>
|
||||
<img src="Cloning Notes_create-clone.gif">
|
||||
</p>
|
||||
<p>In the demo, you can see how a clone can be created using the context
|
||||
menu. It's possible to do this also using the Add Link dialog or with <kbd>Ctrl</kbd>+<kbd>C</kbd> and <kbd>Ctrl</kbd>+<kbd>V</kbd>
|
||||
<a
|
||||
href="#root/_help_A9Oc6YKKc65v">keyboard shortcuts</a>.</p>
|
||||
<p>As seen in the demo, you can view the list of all available clones in
|
||||
the "Note Paths" tab in the Ribbon toolbar.</p>
|
||||
<p>Titles of cloned notes in the tree view have an asterisk to the right
|
||||
to easily see that the note is also placed into some other location.</p>
|
||||
<h2>Deleting notes/clones</h2>
|
||||
<p>With clones, it might not be immediately obvious how deleting works.</p>
|
||||
<p>If you try to delete a note, it works like this:</p>
|
||||
<ol>
|
||||
<li>if the note has multiple clones, delete just this clone and leave the
|
||||
actual note (and its other clones) as it is.</li>
|
||||
<li>if this note doesn't have any other clones, delete the note
|
||||
<ul>
|
||||
<li>Run the whole process starting with 1. on all note's children notes</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>So now the "Bash" subtree appears on multiple locations in the hierarchy.
|
||||
Both the Bash subtrees are the same and contain the same sub-categories
|
||||
and notes.</p>
|
||||
<h3>Demo</h3>
|
||||
<p>
|
||||
<img src="Cloning Notes_create-clone.gif">
|
||||
</p>
|
||||
<p>In the demo, you can see how a clone can be created using the context
|
||||
menu. It's possible to do this also using the Add Link dialog or with <kbd>Ctrl</kbd>+<kbd>C</kbd> and <kbd>Ctrl</kbd>+<kbd>V</kbd>
|
||||
<a
|
||||
href="#root/_help_A9Oc6YKKc65v">keyboard shortcuts</a>.</p>
|
||||
<p>As seen in the demo, you can view the list of all available clones in
|
||||
the "Note Paths" tab in the Ribbon toolbar.</p>
|
||||
<p>Titles of cloned notes in the tree view have an asterisk to the right
|
||||
to easily see that the note is also placed into some other location.</p>
|
||||
<h2>Deleting notes/clones</h2>
|
||||
<p>With clones, it might not be immediately obvious how deleting works.</p>
|
||||
<p>If you try to delete a note, it works like this:</p>
|
||||
<ol>
|
||||
<li>if the note has multiple clones, delete just this clone and leave the
|
||||
actual note (and its other clones) as it is.</li>
|
||||
<li>if this note doesn't have any other clones, delete the note
|
||||
<ul>
|
||||
<li>Run the whole process starting with 1. on all note's children notes</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
@@ -1,29 +1,9 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Branch prefix</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Branch prefix</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Since a single note can appear into multiple places in the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> via a process called
|
||||
<a
|
||||
class="reference-link" href="#root/_help_IakOLONlIfGI">Cloning Notes</a>, it's recommended to choose a generalized name that
|
||||
fits into all locations instead of something more specific to avoid confusion.</p>
|
||||
<p>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.</p>
|
||||
<p>The prefix is location-specific, so it's displayed only in the note tree.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Since a single note can appear into multiple places in the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> via a process called
|
||||
<a
|
||||
class="reference-link" href="#root/_help_IakOLONlIfGI">Cloning Notes</a>, it's recommended to choose a generalized name that
|
||||
fits into all locations instead of something more specific to avoid confusion.</p>
|
||||
<p>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.</p>
|
||||
<p>The prefix is location-specific, so it's displayed only in the note tree.</p>
|
||||
@@ -1,62 +1,42 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Export as PDF</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Export as PDF</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>
|
||||
<img src="Export as PDF_image.png">
|
||||
</p>
|
||||
<p>Screenshot of the note contextual menu indicating the “Export as PDF”
|
||||
option.</p>
|
||||
<p>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.</p>
|
||||
<p>To print a note, select the
|
||||
<img src="1_Export as PDF_image.png">button to the right of the note and select <em>Export as PDF</em>.</p>
|
||||
<p>Afterwards you will be prompted to select where to save the PDF file.</p>
|
||||
<h2>Automatic opening of the file</h2>
|
||||
<p>When the PDF is exported, it is automatically opened with the system default
|
||||
application for easy preview.</p>
|
||||
<p>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.</p>
|
||||
<p>To solve this, you can change the recommended application for PDFs via
|
||||
this command line. First, list the available applications via <code>gio mime application/pdf</code> and
|
||||
then set the desired one. For example to use GNOME's Evince:</p><pre><code class="language-text-x-trilium-auto">gio mime application/pdf</code></pre>
|
||||
<h2>Reporting issues with the rendering</h2>
|
||||
<p>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
|
||||
<a
|
||||
href="#root/_help_wy8So3yZZlH9">report the issue</a>. In this case, it's best to offer a sample note (click
|
||||
on the
|
||||
<img src="1_Export as PDF_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.</p>
|
||||
<h2>Landscape mode</h2>
|
||||
<p>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 <code>#printLandscape</code> attribute
|
||||
to it (see <a class="reference-link" href="#root/_help_zEY4DaJG4YT5">Attributes</a>).</p>
|
||||
<h2>Page size</h2>
|
||||
<p>By default, the resulting PDF will be in Letter format. It is possible
|
||||
to adjust it to another page size via the <code>#printPageSize</code> attribute,
|
||||
with one of the following values: <code>A0</code>, <code>A1</code>, <code>A2</code>, <code>A3</code>, <code>A4</code>, <code>A5</code>, <code>A6</code>, <code>Legal</code>, <code>Letter</code>, <code>Tabloid</code>, <code>Ledger</code>.</p>
|
||||
<h2>Keyboard shortcut</h2>
|
||||
<p>It's possible to trigger the export to PDF from the keyboard by going
|
||||
to <em>Keyboard shortcuts</em> in <a class="reference-link"
|
||||
href="#root/_help_4TIF1oA4VQRO">Options</a> and assigning a key combination
|
||||
for the <code>exportAsPdf</code> action.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>
|
||||
<img src="Export as PDF_image.png">
|
||||
</p>
|
||||
<p>Screenshot of the note contextual menu indicating the “Export as PDF”
|
||||
option.</p>
|
||||
<p>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.</p>
|
||||
<p>To print a note, select the
|
||||
<img src="1_Export as PDF_image.png">button to the right of the note and select <em>Export as PDF</em>.</p>
|
||||
<p>Afterwards you will be prompted to select where to save the PDF file.</p>
|
||||
<h2>Automatic opening of the file</h2>
|
||||
<p>When the PDF is exported, it is automatically opened with the system default
|
||||
application for easy preview.</p>
|
||||
<p>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.</p>
|
||||
<p>To solve this, you can change the recommended application for PDFs via
|
||||
this command line. First, list the available applications via <code>gio mime application/pdf</code> and
|
||||
then set the desired one. For example to use GNOME's Evince:</p><pre><code class="language-text-x-trilium-auto">gio mime application/pdf</code></pre>
|
||||
<h2>Reporting issues with the rendering</h2>
|
||||
<p>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
|
||||
<a
|
||||
href="#root/_help_wy8So3yZZlH9">report the issue</a>. In this case, it's best to offer a sample note (click
|
||||
on the
|
||||
<img src="1_Export as PDF_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.</p>
|
||||
<h2>Landscape mode</h2>
|
||||
<p>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 <code>#printLandscape</code> attribute
|
||||
to it (see <a class="reference-link" href="#root/_help_zEY4DaJG4YT5">Attributes</a>).</p>
|
||||
<h2>Page size</h2>
|
||||
<p>By default, the resulting PDF will be in Letter format. It is possible
|
||||
to adjust it to another page size via the <code>#printPageSize</code> attribute,
|
||||
with one of the following values: <code>A0</code>, <code>A1</code>, <code>A2</code>, <code>A3</code>, <code>A4</code>, <code>A5</code>, <code>A6</code>, <code>Legal</code>, <code>Letter</code>, <code>Tabloid</code>, <code>Ledger</code>.</p>
|
||||
<h2>Keyboard shortcut</h2>
|
||||
<p>It's possible to trigger the export to PDF from the keyboard by going
|
||||
to <em>Keyboard shortcuts</em> in <a class="reference-link"
|
||||
href="#root/_help_4TIF1oA4VQRO">Options</a> and assigning a key combination
|
||||
for the <code>exportAsPdf</code> action.</p>
|
||||
@@ -1,32 +1,12 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note Icons</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note Icons</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Icons are useful for distinguishing notes. At the technical level, they
|
||||
are set by the <code>iconClass</code> attribute which adds a CSS class to
|
||||
the note. For example <code>#iconClass="bx bx-calendar"</code> 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:</p>
|
||||
<p>
|
||||
<img src="Note Icons_note-icon-chang.png" alt="change note icon">
|
||||
</p>
|
||||
<p>
|
||||
<img src="Note Icons_note-icon-galle.png" alt="note icon gallery">
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Icons are useful for distinguishing notes. At the technical level, they
|
||||
are set by the <code>iconClass</code> attribute which adds a CSS class to
|
||||
the note. For example <code>#iconClass="bx bx-calendar"</code> 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:</p>
|
||||
<p>
|
||||
<img src="Note Icons_note-icon-chang.png" alt="change note icon">
|
||||
</p>
|
||||
<p>
|
||||
<img src="Note Icons_note-icon-galle.png" alt="note icon gallery">
|
||||
</p>
|
||||
@@ -1,77 +1,57 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note List</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note List</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>When a note has one or more child notes, they will be listed at the end
|
||||
of the note for easy navigation.</p>
|
||||
<h2>Configuration</h2>
|
||||
<ul>
|
||||
<li>To hide the note list for a particular note, simply apply the <code>hideChildrenOverview</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">label</a>.</li>
|
||||
<li>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 <code>pageSize</code> to
|
||||
the desired number.</li>
|
||||
</ul>
|
||||
<h2>View types</h2>
|
||||
<p>By default, the notes will be displayed in a grid, however there are also
|
||||
some other view types available.</p>
|
||||
<aside class="admonition tip">
|
||||
<p>Generally the view type can only be changed in a <a class="reference-link"
|
||||
href="#root/_help_GTwFsgaA0lCt">Book</a> note from the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>, but it can also be changed
|
||||
manually on any type of note using the <code>#viewType</code> attribute.</p>
|
||||
</aside>
|
||||
<h3>Grid view</h3>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1025/655;" src="1_Note List_image.png" width="1025"
|
||||
height="655">
|
||||
</figure>
|
||||
<p>This view presents the child notes in a grid format, allowing for a more
|
||||
visual navigation experience.</p>
|
||||
<ul>
|
||||
<li>For <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> notes,
|
||||
the text can be slighly scrollable via the mouse wheel to reveal more context.</li>
|
||||
<li>For <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes,
|
||||
syntax highlighting is applied.</li>
|
||||
<li>For <a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a> notes,
|
||||
a preview is made available for audio, video and PDF notes.</li>
|
||||
<li>If the note does not have a content, a list of its child notes will be
|
||||
displayed instead.</li>
|
||||
</ul>
|
||||
<p>This is the default view type.</p>
|
||||
<h3>List view</h3>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1013/526;" src="Note List_image.png" width="1013"
|
||||
height="526">
|
||||
</figure>
|
||||
<p>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).</p>
|
||||
<h3>Calendar view</h3>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1090/598;" src="2_Note List_image.png" width="1090"
|
||||
height="598">
|
||||
</figure>
|
||||
<p>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="#root/_help_xWbu3jpNWapp">Calendar View</a> for more information.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>When a note has one or more child notes, they will be listed at the end
|
||||
of the note for easy navigation.</p>
|
||||
<h2>Configuration</h2>
|
||||
<ul>
|
||||
<li>To hide the note list for a particular note, simply apply the <code>hideChildrenOverview</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">label</a>.</li>
|
||||
<li>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 <code>pageSize</code> to
|
||||
the desired number.</li>
|
||||
</ul>
|
||||
<h2>View types</h2>
|
||||
<p>By default, the notes will be displayed in a grid, however there are also
|
||||
some other view types available.</p>
|
||||
<aside class="admonition tip">
|
||||
<p>Generally the view type can only be changed in a <a class="reference-link"
|
||||
href="#root/_help_GTwFsgaA0lCt">Book</a> note from the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>, but it can also be changed
|
||||
manually on any type of note using the <code>#viewType</code> attribute.</p>
|
||||
</aside>
|
||||
<h3>Grid view</h3>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1025/655;" src="1_Note List_image.png" width="1025"
|
||||
height="655">
|
||||
</figure>
|
||||
<p>This view presents the child notes in a grid format, allowing for a more
|
||||
visual navigation experience.</p>
|
||||
<ul>
|
||||
<li>For <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> notes,
|
||||
the text can be slighly scrollable via the mouse wheel to reveal more context.</li>
|
||||
<li>For <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes,
|
||||
syntax highlighting is applied.</li>
|
||||
<li>For <a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a> notes,
|
||||
a preview is made available for audio, video and PDF notes.</li>
|
||||
<li>If the note does not have a content, a list of its child notes will be
|
||||
displayed instead.</li>
|
||||
</ul>
|
||||
<p>This is the default view type.</p>
|
||||
<h3>List view</h3>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1013/526;" src="Note List_image.png" width="1013"
|
||||
height="526">
|
||||
</figure>
|
||||
<p>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).</p>
|
||||
<h3>Calendar view</h3>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1090/598;" src="2_Note List_image.png" width="1090"
|
||||
height="598">
|
||||
</figure>
|
||||
<p>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="#root/_help_xWbu3jpNWapp">Calendar View</a> for more information.</p>
|
||||
@@ -1,387 +1,367 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Calendar View</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Calendar View</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:767/606;" src="4_Calendar View_image.png" width="767"
|
||||
height="606">
|
||||
</figure>
|
||||
<p>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.</p>
|
||||
<p>The Calendar view has multiple display modes:</p>
|
||||
<ul>
|
||||
<li>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.</li>
|
||||
<li>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.</li>
|
||||
<li>Year view, which displays the entire year for quick reference.</li>
|
||||
<li>List view, which displays all the events of a given month in sequence.</li>
|
||||
</ul>
|
||||
<p>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.</p>
|
||||
<h2>Creating a calendar</h2>
|
||||
<figure class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
<th> </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>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:767/606;" src="4_Calendar View_image.png" width="767"
|
||||
height="606">
|
||||
</figure>
|
||||
<p>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.</p>
|
||||
<p>The Calendar view has multiple display modes:</p>
|
||||
<ul>
|
||||
<li>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.</li>
|
||||
<li>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.</li>
|
||||
<li>Year view, which displays the entire year for quick reference.</li>
|
||||
<li>List view, which displays all the events of a given month in sequence.</li>
|
||||
</ul>
|
||||
<p>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.</p>
|
||||
<h2>Creating a calendar</h2>
|
||||
<figure class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
<th> </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>
|
||||
|
||||
<h2>Creating a new event/note</h2>
|
||||
<ul>
|
||||
<li>Clicking on a day will create a new child note and assign it to that particular
|
||||
day.
|
||||
<ul>
|
||||
<li>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.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>It's possible to drag across multiple days to set both the start and end
|
||||
date of a particular note.
|
||||
<br>
|
||||
<img src="Calendar View_image.png">
|
||||
</li>
|
||||
<li>Creating new notes from the calendar will respect the <code>~child:template</code> relation
|
||||
if set on the book note.</li>
|
||||
</ul>
|
||||
<h2>Interacting with events</h2>
|
||||
<ul>
|
||||
<li>Hovering the mouse over an event will display information about the note.
|
||||
<br>
|
||||
<img src="7_Calendar View_image.png">
|
||||
</li>
|
||||
<li>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.</li>
|
||||
<li>Drag and drop an event on the calendar to move it to another day.</li>
|
||||
<li>The length of an event can be changed by placing the mouse to the right
|
||||
edge of the event and dragging the mouse around.</li>
|
||||
</ul>
|
||||
<h2>Configuring the calendar</h2>
|
||||
<p>The following attributes can be added to the book type:</p>
|
||||
<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>
|
||||
<p>In addition, the first day of the week can be either Sunday or Monday
|
||||
and can be adjusted from the application settings.</p>
|
||||
<h2>Configuring the calendar events</h2>
|
||||
<p>For each note of the calendar, the following attributes can be used:</p>
|
||||
<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:
|
||||
<br>
|
||||
<br>
|
||||
<img src="9_Calendar View_image.png">
|
||||
<br>
|
||||
<br><code>#weight="70" #Mood="Good" #calendar:displayedAttributes="weight,Mood"</code>
|
||||
<br>
|
||||
<br>It can also be used with relations, case in which it will display the
|
||||
title of the target note:
|
||||
<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>
|
||||
<ul>
|
||||
<li>Clicking on a day will create a new child note and assign it to that particular
|
||||
day.
|
||||
<ul>
|
||||
<li>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.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>It's possible to drag across multiple days to set both the start and end
|
||||
date of a particular note.
|
||||
<br>
|
||||
<img src="Calendar View_image.png">
|
||||
</li>
|
||||
<li>Creating new notes from the calendar will respect the <code>~child:template</code> relation
|
||||
if set on the book note.</li>
|
||||
</ul>
|
||||
<h2>Interacting with events</h2>
|
||||
<ul>
|
||||
<li>Hovering the mouse over an event will display information about the note.
|
||||
<br>
|
||||
<img src="7_Calendar View_image.png">
|
||||
</li>
|
||||
<li>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.</li>
|
||||
<li>Drag and drop an event on the calendar to move it to another day.</li>
|
||||
<li>The length of an event can be changed by placing the mouse to the right
|
||||
edge of the event and dragging the mouse around.</li>
|
||||
</ul>
|
||||
<h2>Configuring the calendar</h2>
|
||||
<p>The following attributes can be added to the book type:</p>
|
||||
<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>
|
||||
<p>In addition, the first day of the week can be either Sunday or Monday
|
||||
and can be adjusted from the application settings.</p>
|
||||
<h2>Configuring the calendar events</h2>
|
||||
<p>For each note of the calendar, the following attributes can be used:</p>
|
||||
<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:
|
||||
<br>
|
||||
<br>
|
||||
<img src="9_Calendar View_image.png">
|
||||
<br>
|
||||
<br><code>#weight="70" #Mood="Good" #calendar:displayedAttributes="weight,Mood"</code>
|
||||
<br>
|
||||
<br>It can also be used with relations, case in which it will display the
|
||||
title of the target note:
|
||||
<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>
|
||||
|
||||
<h2>How the calendar works</h2>
|
||||
<p>
|
||||
<img src="11_Calendar View_image.png">
|
||||
</p>
|
||||
<p>The calendar displays all the child notes of the book that have a <code>#startDate</code>.
|
||||
An <code>#endDate</code> can optionally be added.</p>
|
||||
<p>If editing the start date and end date from the note itself is desirable,
|
||||
the following attributes can be added to the book note:</p><pre><code class="language-text-x-trilium-auto">#viewType=calendar #label:startDate(inheritable)="promoted,alias=Start Date,single,date"
|
||||
<p>
|
||||
<img src="11_Calendar View_image.png">
|
||||
</p>
|
||||
<p>The calendar displays all the child notes of the book that have a <code>#startDate</code>.
|
||||
An <code>#endDate</code> can optionally be added.</p>
|
||||
<p>If editing the start date and end date from the note itself is desirable,
|
||||
the following attributes can be added to the book note:</p><pre><code class="language-text-x-trilium-auto">#viewType=calendar #label:startDate(inheritable)="promoted,alias=Start Date,single,date"
|
||||
#label:endDate(inheritable)="promoted,alias=End Date,single,date"
|
||||
#hidePromotedAttributes </code></pre>
|
||||
<p>This will result in:</p>
|
||||
<p>
|
||||
<img src="10_Calendar View_image.png">
|
||||
</p>
|
||||
<p>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.</p>
|
||||
<h2>Use-cases</h2>
|
||||
<h3>Using with the Journal / calendar</h3>
|
||||
<p>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.</p>
|
||||
<p>Based on the <code>#calendarRoot</code> (or <code>#workspaceCalendarRoot</code>)
|
||||
attribute, the calendar will know that it's in a calendar and apply the
|
||||
following:</p>
|
||||
<ul>
|
||||
<li>The calendar events are now rendered based on their <code>dateNote</code> attribute
|
||||
rather than <code>startDate</code>.</li>
|
||||
<li>Interactive editing such as dragging over an empty era or resizing an
|
||||
event is no longer possible.</li>
|
||||
<li>Clicking on the empty space on a date will automatically open that day's
|
||||
note or create it if it does not exist.</li>
|
||||
<li>Direct children of a day note will be displayed on the calendar despite
|
||||
not having a <code>dateNote</code> attribute. Children of the child notes
|
||||
will not be displayed.</li>
|
||||
</ul>
|
||||
<img src="8_Calendar View_image.png" width="1217" height="724">
|
||||
<p>This will result in:</p>
|
||||
<p>
|
||||
<img src="10_Calendar View_image.png">
|
||||
</p>
|
||||
<p>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.</p>
|
||||
<h2>Use-cases</h2>
|
||||
<h3>Using with the Journal / calendar</h3>
|
||||
<p>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.</p>
|
||||
<p>Based on the <code>#calendarRoot</code> (or <code>#workspaceCalendarRoot</code>)
|
||||
attribute, the calendar will know that it's in a calendar and apply the
|
||||
following:</p>
|
||||
<ul>
|
||||
<li>The calendar events are now rendered based on their <code>dateNote</code> attribute
|
||||
rather than <code>startDate</code>.</li>
|
||||
<li>Interactive editing such as dragging over an empty era or resizing an
|
||||
event is no longer possible.</li>
|
||||
<li>Clicking on the empty space on a date will automatically open that day's
|
||||
note or create it if it does not exist.</li>
|
||||
<li>Direct children of a day note will be displayed on the calendar despite
|
||||
not having a <code>dateNote</code> attribute. Children of the child notes
|
||||
will not be displayed.</li>
|
||||
</ul>
|
||||
<img src="8_Calendar View_image.png" width="1217" height="724">
|
||||
|
||||
<h3>Using a different attribute as event title</h3>
|
||||
<p>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.</p>
|
||||
<p>To do so, assign <code>#calendar:title</code> to the child note (not the
|
||||
calendar/book note), with the value being <code>name</code> where <code>name</code> can
|
||||
be any label (make not to add the <code>#</code> 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.</p>
|
||||
<figure
|
||||
class="table" style="width:100%;">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </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> </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>
|
||||
<p>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.</p>
|
||||
<p>To do so, assign <code>#calendar:title</code> to the child note (not the
|
||||
calendar/book note), with the value being <code>name</code> where <code>name</code> can
|
||||
be any label (make not to add the <code>#</code> 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.</p>
|
||||
<figure
|
||||
class="table" style="width:100%;">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </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> </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>
|
||||
|
||||
<h3>Using a relation attribute as event title</h3>
|
||||
<p>Similarly to using an attribute, use <code>#calendar:title</code> and set
|
||||
it to <code>name</code> where <code>name</code> is the name of the relation
|
||||
to use.</p>
|
||||
<p>Moreover, if there are more relations of the same name, they will be displayed
|
||||
as multiple events coming from the same note.</p>
|
||||
<figure class="table"
|
||||
style="width:100%;">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </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>
|
||||
<p>Note that it's even possible to have a <code>#calendar:title</code> 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).</p>
|
||||
<figure class="table" style="width:100%;">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </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>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Similarly to using an attribute, use <code>#calendar:title</code> and set
|
||||
it to <code>name</code> where <code>name</code> is the name of the relation
|
||||
to use.</p>
|
||||
<p>Moreover, if there are more relations of the same name, they will be displayed
|
||||
as multiple events coming from the same note.</p>
|
||||
<figure class="table"
|
||||
style="width:100%;">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </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>
|
||||
<p>Note that it's even possible to have a <code>#calendar:title</code> 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).</p>
|
||||
<figure class="table" style="width:100%;">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </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>
|
||||
@@ -1,44 +1,24 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note Revisions</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note Revisions</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium supports seamless versioning of notes by storing snapshots ("revisions")
|
||||
of notes at regular intervals.</p>
|
||||
<h2>Note Revisions Snapshot Interval</h2>
|
||||
<p>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.</p>
|
||||
<p>To turn off note versioning for a particular note (or subtree), add <code>disableVersioning</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">label</a>to the note.</p>
|
||||
<h2>Note Revision Snapshots Limit</h2>
|
||||
<p>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 <code>versioningLimit=X</code> label.</p>
|
||||
<p>The note limit will not take effect immediately; it will only apply when
|
||||
the note is modified.</p>
|
||||
<p>You can click the <strong>Erase excess revision snapshots now</strong> button
|
||||
to apply the changes immediately.</p>
|
||||
<p>Note revisions can be accessed through the button on the right of ribbon
|
||||
toolbar.</p>
|
||||
<p>
|
||||
<img src="Note Revisions_note-revisi.png">
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Trilium supports seamless versioning of notes by storing snapshots ("revisions")
|
||||
of notes at regular intervals.</p>
|
||||
<h2>Note Revisions Snapshot Interval</h2>
|
||||
<p>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.</p>
|
||||
<p>To turn off note versioning for a particular note (or subtree), add <code>disableVersioning</code>
|
||||
<a
|
||||
href="#root/_help_zEY4DaJG4YT5">label</a>to the note.</p>
|
||||
<h2>Note Revision Snapshots Limit</h2>
|
||||
<p>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 <code>versioningLimit=X</code> label.</p>
|
||||
<p>The note limit will not take effect immediately; it will only apply when
|
||||
the note is modified.</p>
|
||||
<p>You can click the <strong>Erase excess revision snapshots now</strong> button
|
||||
to apply the changes immediately.</p>
|
||||
<p>Note revisions can be accessed through the button on the right of ribbon
|
||||
toolbar.</p>
|
||||
<p>
|
||||
<img src="Note Revisions_note-revisi.png">
|
||||
</p>
|
||||
@@ -1,109 +1,89 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Protected Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Protected Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>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:</p>
|
||||
<ul>
|
||||
<li><strong>Encryption:</strong> 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 <a href="#root/_help_wX4HbRucYSDD">database</a>, they won't
|
||||
be able to read your encrypted notes.</li>
|
||||
<li><strong>Time-limited access:</strong> 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.
|
||||
<ul>
|
||||
<li>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.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Protection scope:</strong> 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.</li>
|
||||
</ul>
|
||||
<h2>Using Protected Notes</h2>
|
||||
<p>By default, notes are unprotected. To protect a note, simply click on
|
||||
the shield icon next to the note's title, as shown here:</p>
|
||||
<p>
|
||||
<img src="Protected Notes_protecting.gif" alt="example animation of unlocking protected notes">
|
||||
</p>
|
||||
<h2>What is Encrypted?</h2>
|
||||
<p>Trilium encrypts the data within protected notes but not their metadata.
|
||||
Specifically:</p>
|
||||
<p><strong>Encrypted:</strong>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Note title</li>
|
||||
<li>Note content</li>
|
||||
<li>Images</li>
|
||||
<li>File attachments</li>
|
||||
</ul>
|
||||
<p><strong>Not encrypted:</strong>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Note structure (i.e., it remains visible that there are protected notes)</li>
|
||||
<li>Metadata, such as the last modified date</li>
|
||||
<li><a href="#root/_help_zEY4DaJG4YT5">Attributes</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Encryption Details</h2>
|
||||
<p>The following steps outline how encryption and decryption work in Trilium:</p>
|
||||
<ol>
|
||||
<li>The user enters a password.</li>
|
||||
<li>The password is passed through the <a href="https://en.wikipedia.org/wiki/Scrypt">scrypt</a> algorithm
|
||||
along with a "password verification" <a href="https://en.wikipedia.org/wiki/Salt_(cryptography)">salt</a> to
|
||||
confirm that the password is correct.</li>
|
||||
<li>The password is then processed again through scrypt with an "encryption"
|
||||
salt, which generates a hash.
|
||||
<ul>
|
||||
<li>Scrypt is used for <a href="https://en.wikipedia.org/wiki/Key_stretching">key stretching</a> to
|
||||
make the password harder to guess.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>The generated hash is used to decrypt the actual <em>data encryption key</em>.
|
||||
<ul>
|
||||
<li>The data encryption key is encrypted using <a href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES-128</a> with
|
||||
a random <a href="https://en.wikipedia.org/wiki/Initialization_vector">IV</a>.</li>
|
||||
<li>The data encryption key is randomly generated during the <a href="#root/_help_wX4HbRucYSDD">database</a> initialization
|
||||
and remains constant throughout the document’s lifetime. When the password
|
||||
is changed, only this key is re-encrypted.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>The data encryption key is then used to decrypt the actual content of
|
||||
the note, including its title and body.
|
||||
<ul>
|
||||
<li>The encryption algorithm used is AES-128 with <a href="https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation">CBC mode</a>,
|
||||
where a unique IV is generated for each encryption operation and stored
|
||||
with the cipher text.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
<h2>Sharing Protected Notes</h2>
|
||||
<p>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.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>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:</p>
|
||||
<ul>
|
||||
<li><strong>Encryption:</strong> 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 <a href="#root/_help_wX4HbRucYSDD">database</a>, they won't
|
||||
be able to read your encrypted notes.</li>
|
||||
<li><strong>Time-limited access:</strong> 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.
|
||||
<ul>
|
||||
<li>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.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Protection scope:</strong> 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.</li>
|
||||
</ul>
|
||||
<h2>Using Protected Notes</h2>
|
||||
<p>By default, notes are unprotected. To protect a note, simply click on
|
||||
the shield icon next to the note's title, as shown here:</p>
|
||||
<p>
|
||||
<img src="Protected Notes_protecting.gif" alt="example animation of unlocking protected notes">
|
||||
</p>
|
||||
<h2>What is Encrypted?</h2>
|
||||
<p>Trilium encrypts the data within protected notes but not their metadata.
|
||||
Specifically:</p>
|
||||
<p><strong>Encrypted:</strong>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Note title</li>
|
||||
<li>Note content</li>
|
||||
<li>Images</li>
|
||||
<li>File attachments</li>
|
||||
</ul>
|
||||
<p><strong>Not encrypted:</strong>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Note structure (i.e., it remains visible that there are protected notes)</li>
|
||||
<li>Metadata, such as the last modified date</li>
|
||||
<li><a href="#root/_help_zEY4DaJG4YT5">Attributes</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Encryption Details</h2>
|
||||
<p>The following steps outline how encryption and decryption work in Trilium:</p>
|
||||
<ol>
|
||||
<li>The user enters a password.</li>
|
||||
<li>The password is passed through the <a href="https://en.wikipedia.org/wiki/Scrypt">scrypt</a> algorithm
|
||||
along with a "password verification" <a href="https://en.wikipedia.org/wiki/Salt_(cryptography)">salt</a> to
|
||||
confirm that the password is correct.</li>
|
||||
<li>The password is then processed again through scrypt with an "encryption"
|
||||
salt, which generates a hash.
|
||||
<ul>
|
||||
<li>Scrypt is used for <a href="https://en.wikipedia.org/wiki/Key_stretching">key stretching</a> to
|
||||
make the password harder to guess.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>The generated hash is used to decrypt the actual <em>data encryption key</em>.
|
||||
<ul>
|
||||
<li>The data encryption key is encrypted using <a href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES-128</a> with
|
||||
a random <a href="https://en.wikipedia.org/wiki/Initialization_vector">IV</a>.</li>
|
||||
<li>The data encryption key is randomly generated during the <a href="#root/_help_wX4HbRucYSDD">database</a> initialization
|
||||
and remains constant throughout the document’s lifetime. When the password
|
||||
is changed, only this key is re-encrypted.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>The data encryption key is then used to decrypt the actual content of
|
||||
the note, including its title and body.
|
||||
<ul>
|
||||
<li>The encryption algorithm used is AES-128 with <a href="https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation">CBC mode</a>,
|
||||
where a unique IV is generated for each encryption operation and stored
|
||||
with the cipher text.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
<h2>Sharing Protected Notes</h2>
|
||||
<p>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.</p>
|
||||
@@ -1,77 +1,57 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Read-Only Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Read-Only Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Some note types such as <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_help_6f9hih2hXXZk">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.</p>
|
||||
<h2>Automatic read-only mode</h2>
|
||||
<p>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.</p>
|
||||
<p>This behavior can be disabled on a per-note basis, by following the instructions
|
||||
of the next section.</p>
|
||||
<p>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="#root/_help_4TIF1oA4VQRO">Options</a> by going to the options
|
||||
for <a class="reference-link" href="#root/_hidden/_options/_help__optionsTextNotes">Text Notes</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_hidden/_options/_help__optionsCodeNotes">Code Notes</a>.</p>
|
||||
<h2>Changing a note's read-only behavior</h2>
|
||||
<p>Via the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>,
|
||||
by going to the <em>Basic Properties</em> tab and looking for the <em>Editable</em> selection.
|
||||
The following options are possible:</p>
|
||||
<ul>
|
||||
<li><strong>Auto</strong>
|
||||
<br>This is the default behavior in which the note will be editable by default,
|
||||
unless it becomes large enough to trigger read-only mode.</li>
|
||||
<li><strong>Read-only</strong>
|
||||
<br>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.</li>
|
||||
<li><strong>Always Editable</strong>
|
||||
<br>This option will bypass the automatic read-only activation for this particular
|
||||
note. It's useful for large notes that are frequently edited.</li>
|
||||
</ul>
|
||||
<p>If the <em>Editable</em> section is missing from the ribbon, then the note
|
||||
type does not support read-only mode.</p>
|
||||
<h3>Manually setting the options</h3>
|
||||
<p>Apart from using the ribbon as previously mentioned, it's also possible
|
||||
to use <a href="#root/_help_zEY4DaJG4YT5">labels</a> to change the behavior:</p>
|
||||
<ul>
|
||||
<li>To set as read-only, apply the <code>readOnly</code> label to the note.</li>
|
||||
<li>To disable automatic read-only (always editable), apply the <code>autoReadOnlyDisabled</code> label.</li>
|
||||
</ul>
|
||||
<h2>Temporarily editing a read-only note</h2>
|
||||
<p>When accessing a read-only note, it's possible to temporarily edit it
|
||||
by using the
|
||||
<img src="Read-Only Notes_image.png">button in the <a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a> area.</p>
|
||||
<p>When pressed, the note will become editable but will become read-only
|
||||
again after navigating to a different note.</p>
|
||||
<h2>Special read-only behavior</h2>
|
||||
<p>Some note types have a special behavior based on whether the read-only
|
||||
mode is enabled:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_s1aBHPd79XYj">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="#root/_help_XpOYSgsLkTJy">Floating buttons</a> area.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Some note types such as <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_help_6f9hih2hXXZk">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.</p>
|
||||
<h2>Automatic read-only mode</h2>
|
||||
<p>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.</p>
|
||||
<p>This behavior can be disabled on a per-note basis, by following the instructions
|
||||
of the next section.</p>
|
||||
<p>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="#root/_help_4TIF1oA4VQRO">Options</a> by going to the options
|
||||
for <a class="reference-link" href="#root/_hidden/_options/_help__optionsTextNotes">Text Notes</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_hidden/_options/_help__optionsCodeNotes">Code Notes</a>.</p>
|
||||
<h2>Changing a note's read-only behavior</h2>
|
||||
<p>Via the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>,
|
||||
by going to the <em>Basic Properties</em> tab and looking for the <em>Editable</em> selection.
|
||||
The following options are possible:</p>
|
||||
<ul>
|
||||
<li><strong>Auto</strong>
|
||||
<br>This is the default behavior in which the note will be editable by default,
|
||||
unless it becomes large enough to trigger read-only mode.</li>
|
||||
<li><strong>Read-only</strong>
|
||||
<br>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.</li>
|
||||
<li><strong>Always Editable</strong>
|
||||
<br>This option will bypass the automatic read-only activation for this particular
|
||||
note. It's useful for large notes that are frequently edited.</li>
|
||||
</ul>
|
||||
<p>If the <em>Editable</em> section is missing from the ribbon, then the note
|
||||
type does not support read-only mode.</p>
|
||||
<h3>Manually setting the options</h3>
|
||||
<p>Apart from using the ribbon as previously mentioned, it's also possible
|
||||
to use <a href="#root/_help_zEY4DaJG4YT5">labels</a> to change the behavior:</p>
|
||||
<ul>
|
||||
<li>To set as read-only, apply the <code>readOnly</code> label to the note.</li>
|
||||
<li>To disable automatic read-only (always editable), apply the <code>autoReadOnlyDisabled</code> label.</li>
|
||||
</ul>
|
||||
<h2>Temporarily editing a read-only note</h2>
|
||||
<p>When accessing a read-only note, it's possible to temporarily edit it
|
||||
by using the
|
||||
<img src="Read-Only Notes_image.png">button in the <a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a> area.</p>
|
||||
<p>When pressed, the note will become editable but will become read-only
|
||||
again after navigating to a different note.</p>
|
||||
<h2>Special read-only behavior</h2>
|
||||
<p>Some note types have a special behavior based on whether the read-only
|
||||
mode is enabled:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_s1aBHPd79XYj">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="#root/_help_XpOYSgsLkTJy">Floating buttons</a> area.</li>
|
||||
</ul>
|
||||
@@ -1,72 +1,52 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Sorting Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Sorting Notes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<h2>Manual sorting</h2>
|
||||
<p>You can sort notes by right-clicking the parent note in the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">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.</p>
|
||||
<p>The sorting dialog allows:</p>
|
||||
<ul>
|
||||
<li>Sorting by title, creation or modification date.</li>
|
||||
<li>Changing sorting direction can also be adjusted (ascending or descending).</li>
|
||||
<li>Ensuring folders are displayed at the top.</li>
|
||||
<li>Natural sort, based on the sorting rules of a particular language.</li>
|
||||
</ul>
|
||||
<h2>Automatic/Permanent Sorting</h2>
|
||||
<p>Child notes can be automatically sorted by attaching specific <a href="#root/_help_zEY4DaJG4YT5">labels</a> to
|
||||
the parent note:</p>
|
||||
<ul>
|
||||
<li><code>#sorted</code>: Enables sorting. Can optionally include the name
|
||||
of the note's property/label for sorting criteria (details below).</li>
|
||||
<li><code>#sortDirection</code>: By default, sorting is ascending. Set this
|
||||
to <code>desc</code> to sort in descending order.</li>
|
||||
<li><code>#sortFoldersFirst</code>: Notes with children will be sorted to
|
||||
the top.</li>
|
||||
</ul>
|
||||
<p>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.</p>
|
||||
<ol>
|
||||
<li><strong>Top Label Sorting</strong>: Child notes with the <code>#top</code> label
|
||||
will appear at the top of the folder.</li>
|
||||
<li><strong>Bottom Label Sorting</strong>: (Introduced in Trilium 0.62) Child
|
||||
notes with the <code>#bottom</code> label will appear at the bottom of the
|
||||
folder.</li>
|
||||
<li><strong>Property/Label-Based Sorting</strong>: Sorting is based on the
|
||||
parent note's <code>#sorted</code> label:
|
||||
<ul>
|
||||
<li><strong>Default Sorting</strong>: If <code>#sorted</code> has no value,
|
||||
notes are sorted alphabetically.</li>
|
||||
<li><strong>Property Sorting</strong>: If <code>#sorted</code> is set to <code>title</code>, <code>dateModified</code>,
|
||||
or <code>dateCreated</code>, notes are sorted based on the specified property.</li>
|
||||
<li><strong>Label Sorting</strong>: If <code>#sorted</code> 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 <code>#sorted=myOrder</code> on
|
||||
the parent note and using <code>#myOrder=001</code>, <code>#myOrder=002</code>,
|
||||
etc., on child notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Alphabetical Sorting</strong>: Used as a last resort when other
|
||||
criteria result in equality.</li>
|
||||
</ol>
|
||||
<p>All comparisons are made string-wise (e.g., "1" < "2" or "2020-10-10"
|
||||
< "2021-01-15", but also "2" > "10").</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>Manual sorting</h2>
|
||||
<p>You can sort notes by right-clicking the parent note in the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">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.</p>
|
||||
<p>The sorting dialog allows:</p>
|
||||
<ul>
|
||||
<li>Sorting by title, creation or modification date.</li>
|
||||
<li>Changing sorting direction can also be adjusted (ascending or descending).</li>
|
||||
<li>Ensuring folders are displayed at the top.</li>
|
||||
<li>Natural sort, based on the sorting rules of a particular language.</li>
|
||||
</ul>
|
||||
<h2>Automatic/Permanent Sorting</h2>
|
||||
<p>Child notes can be automatically sorted by attaching specific <a href="#root/_help_zEY4DaJG4YT5">labels</a> to
|
||||
the parent note:</p>
|
||||
<ul>
|
||||
<li><code>#sorted</code>: Enables sorting. Can optionally include the name
|
||||
of the note's property/label for sorting criteria (details below).</li>
|
||||
<li><code>#sortDirection</code>: By default, sorting is ascending. Set this
|
||||
to <code>desc</code> to sort in descending order.</li>
|
||||
<li><code>#sortFoldersFirst</code>: Notes with children will be sorted to
|
||||
the top.</li>
|
||||
</ul>
|
||||
<p>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.</p>
|
||||
<ol>
|
||||
<li><strong>Top Label Sorting</strong>: Child notes with the <code>#top</code> label
|
||||
will appear at the top of the folder.</li>
|
||||
<li><strong>Bottom Label Sorting</strong>: (Introduced in Trilium 0.62) Child
|
||||
notes with the <code>#bottom</code> label will appear at the bottom of the
|
||||
folder.</li>
|
||||
<li><strong>Property/Label-Based Sorting</strong>: Sorting is based on the
|
||||
parent note's <code>#sorted</code> label:
|
||||
<ul>
|
||||
<li><strong>Default Sorting</strong>: If <code>#sorted</code> has no value,
|
||||
notes are sorted alphabetically.</li>
|
||||
<li><strong>Property Sorting</strong>: If <code>#sorted</code> is set to <code>title</code>, <code>dateModified</code>,
|
||||
or <code>dateCreated</code>, notes are sorted based on the specified property.</li>
|
||||
<li><strong>Label Sorting</strong>: If <code>#sorted</code> 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 <code>#sorted=myOrder</code> on
|
||||
the parent note and using <code>#myOrder=001</code>, <code>#myOrder=002</code>,
|
||||
etc., on child notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Alphabetical Sorting</strong>: Used as a last resort when other
|
||||
criteria result in equality.</li>
|
||||
</ol>
|
||||
<p>All comparisons are made string-wise (e.g., "1" < "2" or "2020-10-10"
|
||||
< "2021-01-15", but also "2" > "10").</p>
|
||||
@@ -1,37 +1,22 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Themes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Themes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<h2>Default Themes</h2>
|
||||
<p>Trilium comes with a couple pre-installed color themes, with the default
|
||||
being a light theme. To switch to a dark theme or any other available theme,
|
||||
navigate to the Options menu (accessible via the app icon in the top-left
|
||||
corner), select the Appearance tab, and choose your preferred theme.</p>
|
||||
<p>
|
||||
<img src="Themes_dark-theme.png" alt="Dark Theme">
|
||||
</p>
|
||||
<h2>Creating Custom CSS Themes</h2>
|
||||
<p>Trilium supports custom user themes, allowing you to personalize the application's
|
||||
appearance. To create a custom theme, follow these steps:</p>
|
||||
<ol>
|
||||
<li><strong>Create a CSS Code Note</strong>: Start by creating a new <a href="#root/_help_6f9hih2hXXZk">code note</a> with
|
||||
the <code>CSS</code> type.</li>
|
||||
<li><strong>Annotate with</strong> <code>#appTheme</code>: Add the <a href="#root/_help_zEY4DaJG4YT5">attribute</a> <code>#appTheme=my-theme-name</code> to
|
||||
your note, where <code>my-theme-name</code> is the name of your custom theme.</li>
|
||||
<li><strong>Define Your Styles</strong>: Write your custom CSS within the
|
||||
note. Below is an example of a custom theme:</li>
|
||||
</ol><pre><code class="language-text-x-trilium-auto">@font-face {
|
||||
<h2>Default Themes</h2>
|
||||
<p>Trilium comes with a couple pre-installed color themes, with the default
|
||||
being a light theme. To switch to a dark theme or any other available theme,
|
||||
navigate to the Options menu (accessible via the app icon in the top-left
|
||||
corner), select the Appearance tab, and choose your preferred theme.</p>
|
||||
<p>
|
||||
<img src="Themes_dark-theme.png" alt="Dark Theme">
|
||||
</p>
|
||||
<h2>Creating Custom CSS Themes</h2>
|
||||
<p>Trilium supports custom user themes, allowing you to personalize the application's
|
||||
appearance. To create a custom theme, follow these steps:</p>
|
||||
<ol>
|
||||
<li><strong>Create a CSS Code Note</strong>: Start by creating a new <a href="#root/_help_6f9hih2hXXZk">code note</a> with
|
||||
the <code>CSS</code> type.</li>
|
||||
<li><strong>Annotate with</strong> <code>#appTheme</code>: Add the <a href="#root/_help_zEY4DaJG4YT5">attribute</a> <code>#appTheme=my-theme-name</code> to
|
||||
your note, where <code>my-theme-name</code> is the name of your custom theme.</li>
|
||||
<li><strong>Define Your Styles</strong>: Write your custom CSS within the
|
||||
note. Below is an example of a custom theme:</li>
|
||||
</ol><pre><code class="language-text-x-trilium-auto">@font-face {
|
||||
font-family: 'Raleway';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
@@ -84,74 +69,69 @@ body .note-detail-text {
|
||||
body .CodeMirror {
|
||||
filter: invert(100%) hue-rotate(180deg);
|
||||
}</code></pre>
|
||||
<h3>Activating Your Custom Theme</h3>
|
||||
<p>Once you've created your custom theme:</p>
|
||||
<ol>
|
||||
<li>Go to "Menu" -> "Options" -> "Appearance."</li>
|
||||
<li>In the theme selection dropdown, you should see your custom theme listed
|
||||
under the name you provided with the <code>#appTheme</code> <a href="#root/_help_zEY4DaJG4YT5">label</a>.</li>
|
||||
<li>Select your custom theme to activate it.</li>
|
||||
</ol>
|
||||
<p>If you make changes to your theme, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to
|
||||
reload the frontend and apply your updates.</p>
|
||||
<h3>Sharing and Importing Themes</h3>
|
||||
<p>Custom themes can be exported as <code>.tar</code> archives, which can be
|
||||
shared with other users. However, be cautious when importing themes from
|
||||
untrusted sources, as they may contain executable scripts that could pose
|
||||
security risks.</p>
|
||||
<p>An example user theme, <em>Steel Blue</em>, is available in the demo document.</p>
|
||||
<p>
|
||||
<img src="Themes_steel-blue.png" alt="Steel Blue Theme">
|
||||
</p>
|
||||
<h3>Using Custom CSS for Specific Purposes</h3>
|
||||
<p>In addition to full themes, Trilium allows for custom CSS that isn't tied
|
||||
to a theme. This can be particularly useful in scripting contexts, where
|
||||
you might want to modify specific UI elements, such as changing the colors
|
||||
of notes in the tree view.</p>
|
||||
<h3>Applying Custom CSS</h3>
|
||||
<p>To use custom CSS:</p>
|
||||
<ol>
|
||||
<li><strong>Create a CSS Code Note</strong>: Create a new <a class="reference-link"
|
||||
href="#root/_help_6f9hih2hXXZk">Code</a> note with the <code>CSS</code> type.</li>
|
||||
<li><strong>Add the</strong> <code>appCss</code> <strong>Label</strong>: Annotate
|
||||
the note with the <code>#appCss</code> <a href="#root/_help_zEY4DaJG4YT5">label</a>.</li>
|
||||
<li><strong>Write Your CSS</strong>: Add your custom CSS rules to the note.</li>
|
||||
</ol>
|
||||
<p>For example:</p><pre><code class="language-text-x-trilium-auto">/* Custom CSS to style specific elements */
|
||||
<h3>Activating Your Custom Theme</h3>
|
||||
<p>Once you've created your custom theme:</p>
|
||||
<ol>
|
||||
<li>Go to "Menu" -> "Options" -> "Appearance."</li>
|
||||
<li>In the theme selection dropdown, you should see your custom theme listed
|
||||
under the name you provided with the <code>#appTheme</code> <a href="#root/_help_zEY4DaJG4YT5">label</a>.</li>
|
||||
<li>Select your custom theme to activate it.</li>
|
||||
</ol>
|
||||
<p>If you make changes to your theme, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to
|
||||
reload the frontend and apply your updates.</p>
|
||||
<h3>Sharing and Importing Themes</h3>
|
||||
<p>Custom themes can be exported as <code>.tar</code> archives, which can be
|
||||
shared with other users. However, be cautious when importing themes from
|
||||
untrusted sources, as they may contain executable scripts that could pose
|
||||
security risks.</p>
|
||||
<p>An example user theme, <em>Steel Blue</em>, is available in the demo document.</p>
|
||||
<p>
|
||||
<img src="Themes_steel-blue.png" alt="Steel Blue Theme">
|
||||
</p>
|
||||
<h3>Using Custom CSS for Specific Purposes</h3>
|
||||
<p>In addition to full themes, Trilium allows for custom CSS that isn't tied
|
||||
to a theme. This can be particularly useful in scripting contexts, where
|
||||
you might want to modify specific UI elements, such as changing the colors
|
||||
of notes in the tree view.</p>
|
||||
<h3>Applying Custom CSS</h3>
|
||||
<p>To use custom CSS:</p>
|
||||
<ol>
|
||||
<li><strong>Create a CSS Code Note</strong>: Create a new <a class="reference-link"
|
||||
href="#root/_help_6f9hih2hXXZk">Code</a> note with the <code>CSS</code> type.</li>
|
||||
<li><strong>Add the</strong> <code>appCss</code> <strong>Label</strong>: Annotate
|
||||
the note with the <code>#appCss</code> <a href="#root/_help_zEY4DaJG4YT5">label</a>.</li>
|
||||
<li><strong>Write Your CSS</strong>: Add your custom CSS rules to the note.</li>
|
||||
</ol>
|
||||
<p>For example:</p><pre><code class="language-text-x-trilium-auto">/* Custom CSS to style specific elements */
|
||||
.tree-item {
|
||||
color: #ff6347; /* Change tree item color */
|
||||
}</code></pre>
|
||||
<p>When Trilium's frontend starts, all notes labeled with <code>appCss</code> are
|
||||
automatically included in the style element of the HTML page.</p>
|
||||
<p>After making changes, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to reload the frontend
|
||||
and apply your new styles.</p>
|
||||
<p>
|
||||
<img src="Themes_image.png">
|
||||
</p>
|
||||
<h3>Styling Specific Notes in the Tree</h3>
|
||||
<p>To apply specific styles to certain notes in the tree:</p>
|
||||
<ul>
|
||||
<li><strong>Use the</strong> <code>cssClass</code> <strong>Attribute</strong>:
|
||||
Add the <code>cssClass</code> <a href="#root/_help_zEY4DaJG4YT5">attribute</a> to
|
||||
a note, and assign it a value representing the desired CSS class.</li>
|
||||
<li><strong>Define an</strong> <code>iconClass</code>: You can also define
|
||||
a custom icon for a note using the <code>iconClass</code> attribute, selecting
|
||||
from <a href="https://boxicons.com">Box Icons</a> or your own custom classes.</li>
|
||||
</ul>
|
||||
<p>For example, if you want to style notes of a specific type, such as notes
|
||||
containing PNG images, you can target them with classes like <code>type-image mime-image-png</code>.</p>
|
||||
<h3>User-Provided Themes</h3>
|
||||
<p>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="#root/_help_VbjZvtUek0Ln">Theme Gallery</a>.</p>
|
||||
<h3>Asset Path Management</h3>
|
||||
<p>When referencing built-in assets like images in your custom themes or
|
||||
CSS, you can avoid hardcoding version numbers by using the <code>vX</code> alias.
|
||||
For example, instead of specifying <code>/assets/v0.57.0-beta/images/icon-grey.png</code>,
|
||||
you can use <code>/assets/vX/images/icon-grey.png</code> to keep your theme
|
||||
compatible with future versions of Trilium.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>When Trilium's frontend starts, all notes labeled with <code>appCss</code> are
|
||||
automatically included in the style element of the HTML page.</p>
|
||||
<p>After making changes, press <kbd>Ctrl</kbd> + <kbd>R</kbd> to reload the frontend
|
||||
and apply your new styles.</p>
|
||||
<p>
|
||||
<img src="Themes_image.png">
|
||||
</p>
|
||||
<h3>Styling Specific Notes in the Tree</h3>
|
||||
<p>To apply specific styles to certain notes in the tree:</p>
|
||||
<ul>
|
||||
<li><strong>Use the</strong> <code>cssClass</code> <strong>Attribute</strong>:
|
||||
Add the <code>cssClass</code> <a href="#root/_help_zEY4DaJG4YT5">attribute</a> to
|
||||
a note, and assign it a value representing the desired CSS class.</li>
|
||||
<li><strong>Define an</strong> <code>iconClass</code>: You can also define
|
||||
a custom icon for a note using the <code>iconClass</code> attribute, selecting
|
||||
from <a href="https://boxicons.com">Box Icons</a> or your own custom classes.</li>
|
||||
</ul>
|
||||
<p>For example, if you want to style notes of a specific type, such as notes
|
||||
containing PNG images, you can target them with classes like <code>type-image mime-image-png</code>.</p>
|
||||
<h3>User-Provided Themes</h3>
|
||||
<p>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="#root/_help_VbjZvtUek0Ln">Theme Gallery</a>.</p>
|
||||
<h3>Asset Path Management</h3>
|
||||
<p>When referencing built-in assets like images in your custom themes or
|
||||
CSS, you can avoid hardcoding version numbers by using the <code>vX</code> alias.
|
||||
For example, instead of specifying <code>/assets/v0.57.0-beta/images/icon-grey.png</code>,
|
||||
you can use <code>/assets/vX/images/icon-grey.png</code> to keep your theme
|
||||
compatible with future versions of Trilium.</p>
|
||||
@@ -1,146 +1,126 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Theme Gallery</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Theme Gallery</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>These are user-created themes which were made publicly available:</p>
|
||||
<h2>Legacy Themes</h2>
|
||||
<p>These themes may or may not be compatible with the latest versions of
|
||||
TriliumNext and are based on the original/legacy theme.</p>
|
||||
<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>
|
||||
<aside class="admonition tip">
|
||||
<p>If you would like to add your theme to this gallery, write a new post
|
||||
in <a href="https://github.com/TriliumNext/Notes/discussions/categories/show-and-tell">👐 Show and tell</a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>These are user-created themes which were made publicly available:</p>
|
||||
<h2>Legacy Themes</h2>
|
||||
<p>These themes may or may not be compatible with the latest versions of
|
||||
TriliumNext and are based on the original/legacy theme.</p>
|
||||
<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>
|
||||
<aside class="admonition tip">
|
||||
<p>If you would like to add your theme to this gallery, write a new post
|
||||
in <a href="https://github.com/TriliumNext/Notes/discussions/categories/show-and-tell">👐 Show and tell</a>.</p>
|
||||
</aside>
|
||||
@@ -1,41 +1,21 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Floating buttons</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Floating buttons</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:893/144;" src="Floating buttons_image.png" width="893"
|
||||
height="144">
|
||||
</figure>
|
||||
<p>Depending on the current note, a panel will appear near the top-right
|
||||
of the note, right underneath the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.
|
||||
These buttons offer additional interaction that is specific to that particular
|
||||
note.</p>
|
||||
<p>For example:</p>
|
||||
<ul>
|
||||
<li>For <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_help_grjYqerjn243">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="#root/_help_iPIMuisry3hd">Text</a> note.</li>
|
||||
<li>For <a href="#root/_help_CoFPLs3dRlXc">read-only notes</a>, there is a
|
||||
button to temporarily edit the note for quick modifications.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<p>The floating button area can be collapsed by pressing the two right arrows
|
||||
at the end of the section.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:893/144;" src="Floating buttons_image.png" width="893"
|
||||
height="144">
|
||||
</figure>
|
||||
<p>Depending on the current note, a panel will appear near the top-right
|
||||
of the note, right underneath the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.
|
||||
These buttons offer additional interaction that is specific to that particular
|
||||
note.</p>
|
||||
<p>For example:</p>
|
||||
<ul>
|
||||
<li>For <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a> and
|
||||
<a
|
||||
class="reference-link" href="#root/_help_grjYqerjn243">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="#root/_help_iPIMuisry3hd">Text</a> note.</li>
|
||||
<li>For <a href="#root/_help_CoFPLs3dRlXc">read-only notes</a>, there is a
|
||||
button to temporarily edit the note for quick modifications.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<p>The floating button area can be collapsed by pressing the two right arrows
|
||||
at the end of the section.</p>
|
||||
@@ -1,29 +1,9 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Global menu</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Global menu</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>The global menu configures the current window (zoom, keeping the window
|
||||
on top) and offers access to some more advanced options.</p>
|
||||
<p>
|
||||
<img src="Global menu_image.png">
|
||||
</p>
|
||||
<h2>Accessing the global menu</h2>
|
||||
<p>See <a href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a> since
|
||||
the position of the global menu is changed based on which layout has been
|
||||
selected.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>The global menu configures the current window (zoom, keeping the window
|
||||
on top) and offers access to some more advanced options.</p>
|
||||
<p>
|
||||
<img src="Global menu_image.png">
|
||||
</p>
|
||||
<h2>Accessing the global menu</h2>
|
||||
<p>See <a href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a> since
|
||||
the position of the global menu is changed based on which layout has been
|
||||
selected.</p>
|
||||
@@ -1,111 +1,91 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Launch Bar</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Launch Bar</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<h2>Position of the Launch bar</h2>
|
||||
<p>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 <a href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a> for
|
||||
more information.</p>
|
||||
<h2>Terminology</h2>
|
||||
<ul>
|
||||
<li><strong>Launcher</strong>: a button that can be (or is) displayed on the
|
||||
launch bar.</li>
|
||||
<li><strong>Available Launcher</strong>: a launcher that is not displayed
|
||||
on the launch bar, but can be added.</li>
|
||||
<li><strong>Visible Launcher</strong>: a launcher that is currently displayed
|
||||
on the launch bar.</li>
|
||||
</ul>
|
||||
<h2>Configuring the Launch bar</h2>
|
||||
<p>There are two ways to configure the launch bar:</p>
|
||||
<ul>
|
||||
<li>Right click in the empty space between launchers on the launch bar and
|
||||
select <em>Configure Launchbar.</em>
|
||||
</li>
|
||||
<li>Click on the <a href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
select <em>Configure Launchbar</em>.</li>
|
||||
</ul>
|
||||
<p>This will open a new tab with the <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> listing
|
||||
the launchers.</p>
|
||||
<p>
|
||||
<img src="Launch Bar_image.png">
|
||||
</p>
|
||||
<p>Expanding <em>Available Launchers</em> section will show the list of launchers
|
||||
that are not displayed on the launch bar. The <em>Visible Launchers</em> will
|
||||
show the ones that are currently displayed.</p>
|
||||
<h3>Adding/removing and reordering launchers</h3>
|
||||
<p>To display a new launcher in the launch bar, first look for it in the <em>Available Launchers</em> section.
|
||||
Then right click it and select <em>Move to visible launchers</em>. It is
|
||||
also possible to drag and drop the item manually.</p>
|
||||
<p>Similarly, to remove it from the launch bar, simply look for it in <em>Visible Launchers</em> then
|
||||
right click it and select <em>Move to available launchers</em> or use drag-and-drop.</p>
|
||||
<p>Drag-and-drop the items in the tree in order to change their
|
||||
order. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for
|
||||
more interaction options, including using keyboard shortcuts.</p>
|
||||
<h2>Customizing the launcher</h2>
|
||||
<ul>
|
||||
<li>The icon of a launcher can be changed just like a normal note. See
|
||||
<a
|
||||
href="#root/_help_p9kXRFAkwN4o">Note Icons</a> for more information.</li>
|
||||
<li>The title of the launcher can also be changed.</li>
|
||||
</ul>
|
||||
<h3>Resetting</h3>
|
||||
<p>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 <em>Launch Bar</em> section) and select <em>Reset</em> to bring
|
||||
it back to the original state.</p>
|
||||
<h3>Creating new launchers / types of launchers</h3>
|
||||
<p>Right click either the <em>Available launchers</em> or <em>Visible launchers</em> sections
|
||||
and select one of the options:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p><strong>Note Launcher</strong>
|
||||
<br>A note launcher will simply navigate to a specified note.</p>
|
||||
<ol>
|
||||
<li>Set the <code>target</code> promoted attribute to the note to navigate to.</li>
|
||||
<li>Optionally, set <code>hoistedNote</code> to hoist a particular note. See
|
||||
<a
|
||||
href="#root/_help_OR8WJ7Iz9K4U">Note Hoisting</a> for more information.</li>
|
||||
<li>Optionally, set a <code>keyboardShortcut</code> to trigger the launcher.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Script Launcher</strong>
|
||||
<br>An advanced launcher which will run a script upon pressing. See
|
||||
<a
|
||||
href="#root/_help_CdNpE2pqjmI6">Scripts</a> for more information.</p>
|
||||
<ol>
|
||||
<li>Set <code>script</code> to point to the desired script to run.</li>
|
||||
<li>Optionally, set a <code>keyboardShortcut</code> to trigger the launcher.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Custom Widget</strong>
|
||||
</p>
|
||||
<p>Allows defining a custom widget to be rendered inside the launcher. See
|
||||
<a
|
||||
href="#root/_help_SynTBQiBsdYJ">Widget Basics</a> for more information.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Spacers</strong>
|
||||
<br>Launchers that create some distance between other launchers for better
|
||||
visual distinction.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Launchers are configured via predefined <a href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>Position of the Launch bar</h2>
|
||||
<p>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 <a href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a> for
|
||||
more information.</p>
|
||||
<h2>Terminology</h2>
|
||||
<ul>
|
||||
<li><strong>Launcher</strong>: a button that can be (or is) displayed on the
|
||||
launch bar.</li>
|
||||
<li><strong>Available Launcher</strong>: a launcher that is not displayed
|
||||
on the launch bar, but can be added.</li>
|
||||
<li><strong>Visible Launcher</strong>: a launcher that is currently displayed
|
||||
on the launch bar.</li>
|
||||
</ul>
|
||||
<h2>Configuring the Launch bar</h2>
|
||||
<p>There are two ways to configure the launch bar:</p>
|
||||
<ul>
|
||||
<li>Right click in the empty space between launchers on the launch bar and
|
||||
select <em>Configure Launchbar.</em>
|
||||
</li>
|
||||
<li>Click on the <a href="#root/_help_x3i7MxGccDuM">Global menu</a> and
|
||||
select <em>Configure Launchbar</em>.</li>
|
||||
</ul>
|
||||
<p>This will open a new tab with the <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> listing
|
||||
the launchers.</p>
|
||||
<p>
|
||||
<img src="Launch Bar_image.png">
|
||||
</p>
|
||||
<p>Expanding <em>Available Launchers</em> section will show the list of launchers
|
||||
that are not displayed on the launch bar. The <em>Visible Launchers</em> will
|
||||
show the ones that are currently displayed.</p>
|
||||
<h3>Adding/removing and reordering launchers</h3>
|
||||
<p>To display a new launcher in the launch bar, first look for it in the <em>Available Launchers</em> section.
|
||||
Then right click it and select <em>Move to visible launchers</em>. It is
|
||||
also possible to drag and drop the item manually.</p>
|
||||
<p>Similarly, to remove it from the launch bar, simply look for it in <em>Visible Launchers</em> then
|
||||
right click it and select <em>Move to available launchers</em> or use drag-and-drop.</p>
|
||||
<p>Drag-and-drop the items in the tree in order to change their
|
||||
order. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for
|
||||
more interaction options, including using keyboard shortcuts.</p>
|
||||
<h2>Customizing the launcher</h2>
|
||||
<ul>
|
||||
<li>The icon of a launcher can be changed just like a normal note. See
|
||||
<a
|
||||
href="#root/_help_p9kXRFAkwN4o">Note Icons</a> for more information.</li>
|
||||
<li>The title of the launcher can also be changed.</li>
|
||||
</ul>
|
||||
<h3>Resetting</h3>
|
||||
<p>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 <em>Launch Bar</em> section) and select <em>Reset</em> to bring
|
||||
it back to the original state.</p>
|
||||
<h3>Creating new launchers / types of launchers</h3>
|
||||
<p>Right click either the <em>Available launchers</em> or <em>Visible launchers</em> sections
|
||||
and select one of the options:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p><strong>Note Launcher</strong>
|
||||
<br>A note launcher will simply navigate to a specified note.</p>
|
||||
<ol>
|
||||
<li>Set the <code>target</code> promoted attribute to the note to navigate to.</li>
|
||||
<li>Optionally, set <code>hoistedNote</code> to hoist a particular note. See
|
||||
<a
|
||||
href="#root/_help_OR8WJ7Iz9K4U">Note Hoisting</a> for more information.</li>
|
||||
<li>Optionally, set a <code>keyboardShortcut</code> to trigger the launcher.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Script Launcher</strong>
|
||||
<br>An advanced launcher which will run a script upon pressing. See
|
||||
<a
|
||||
href="#root/_help_CdNpE2pqjmI6">Scripts</a> for more information.</p>
|
||||
<ol>
|
||||
<li>Set <code>script</code> to point to the desired script to run.</li>
|
||||
<li>Optionally, set a <code>keyboardShortcut</code> to trigger the launcher.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Custom Widget</strong>
|
||||
</p>
|
||||
<p>Allows defining a custom widget to be rendered inside the launcher. See
|
||||
<a
|
||||
href="#root/_help_SynTBQiBsdYJ">Widget Basics</a> for more information.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Spacers</strong>
|
||||
<br>Launchers that create some distance between other launchers for better
|
||||
visual distinction.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Launchers are configured via predefined <a href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>.</p>
|
||||
@@ -1,54 +1,34 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note Tree</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note Tree</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>This page explains how to manipulate the note tree in TriliumNext, focusing
|
||||
on moving notes.</p>
|
||||
<p>
|
||||
<img src="Note Tree_image.png">
|
||||
</p>
|
||||
<h2>Drag and Drop</h2>
|
||||
<p>
|
||||
<img src="Note Tree_drag-and-drop.gif" alt="Drag and drop example">
|
||||
</p>
|
||||
<p>You can easily rearrange the note tree by dragging and dropping notes,
|
||||
as demonstrated in the example above.</p>
|
||||
<h2>Keyboard Manipulation</h2>
|
||||
<p>
|
||||
<img src="Note Tree_move-note-with-k.gif" alt="Example of using keyboard keys to move a note">Trilium offers efficient keyboard-based manipulation using the following
|
||||
<a
|
||||
href="#root/_help_A9Oc6YKKc65v">shortcuts</a>:</p>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd> + <kbd><span>↑</span></kbd> and <kbd>Ctrl</kbd> +<kbd><span>↓</span></kbd>:
|
||||
Move the note up or down in the order.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd><span>←</span></kbd>: Move the note up in the hierarchy
|
||||
by changing its parent to the note's grandparent.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd><span>→</span></kbd>: Move the note down in the hierarchy
|
||||
by setting its parent to the note currently above it (this action is best
|
||||
understood through a demo or hands-on experience).</li>
|
||||
<li><kbd><span>←</span></kbd> and <kbd><span>→</span></kbd>: Expand and collapse
|
||||
a sub-tree.</li>
|
||||
</ul>
|
||||
<h2>Context Menu</h2>
|
||||
<p>You can also move notes using the familiar cut and paste functions available
|
||||
in the context menu, or with the associated keyboard <a href="#root/_help_A9Oc6YKKc65v">shortcuts</a>: <code>CTRL-C</code> (
|
||||
<a
|
||||
href="#root/_help_IakOLONlIfGI">copy</a>), <kbd>Ctrl</kbd> + <kbd>X</kbd> (cut) and <kbd>Ctrl</kbd> + <kbd>V</kbd> (paste).</p>
|
||||
<p>See <a class="reference-link" href="#root/_help_YtSN43OrfzaA">Note Tree Menu</a> for
|
||||
more information.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>This page explains how to manipulate the note tree in TriliumNext, focusing
|
||||
on moving notes.</p>
|
||||
<p>
|
||||
<img src="Note Tree_image.png">
|
||||
</p>
|
||||
<h2>Drag and Drop</h2>
|
||||
<p>
|
||||
<img src="Note Tree_drag-and-drop.gif" alt="Drag and drop example">
|
||||
</p>
|
||||
<p>You can easily rearrange the note tree by dragging and dropping notes,
|
||||
as demonstrated in the example above.</p>
|
||||
<h2>Keyboard Manipulation</h2>
|
||||
<p>
|
||||
<img src="Note Tree_move-note-with-k.gif" alt="Example of using keyboard keys to move a note">Trilium offers efficient keyboard-based manipulation using the following
|
||||
<a
|
||||
href="#root/_help_A9Oc6YKKc65v">shortcuts</a>:</p>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd> + <kbd><span>↑</span></kbd> and <kbd>Ctrl</kbd> +<kbd><span>↓</span></kbd>:
|
||||
Move the note up or down in the order.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd><span>←</span></kbd>: Move the note up in the hierarchy
|
||||
by changing its parent to the note's grandparent.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd><span>→</span></kbd>: Move the note down in the hierarchy
|
||||
by setting its parent to the note currently above it (this action is best
|
||||
understood through a demo or hands-on experience).</li>
|
||||
<li><kbd><span>←</span></kbd> and <kbd><span>→</span></kbd>: Expand and collapse
|
||||
a sub-tree.</li>
|
||||
</ul>
|
||||
<h2>Context Menu</h2>
|
||||
<p>You can also move notes using the familiar cut and paste functions available
|
||||
in the context menu, or with the associated keyboard <a href="#root/_help_A9Oc6YKKc65v">shortcuts</a>: <code>CTRL-C</code> (
|
||||
<a
|
||||
href="#root/_help_IakOLONlIfGI">copy</a>), <kbd>Ctrl</kbd> + <kbd>X</kbd> (cut) and <kbd>Ctrl</kbd> + <kbd>V</kbd> (paste).</p>
|
||||
<p>See <a class="reference-link" href="#root/_help_YtSN43OrfzaA">Note Tree Menu</a> for
|
||||
more information.</p>
|
||||
@@ -1,32 +1,12 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Multiple selection</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Multiple selection</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>It is possible to select multiple notes at one time.</p>
|
||||
<p>To do so, first select the note to start the selection with. Then hold
|
||||
Shift and click on the note to end the selection with. All the notes between
|
||||
the start and the end note will be selected as well.</p>
|
||||
<p>
|
||||
<img src="Multiple selection_image.png">
|
||||
</p>
|
||||
<p>In the right-click menu, operations such as Cut, Copy, Move to, Clone
|
||||
to or Delete will apply to all the selected notes. It is also possible
|
||||
to apply <a class="reference-link" href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a> to
|
||||
them. The rest of the options will not be available and will appear disabled
|
||||
in the menu.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>It is possible to select multiple notes at one time.</p>
|
||||
<p>To do so, first select the note to start the selection with. Then hold
|
||||
Shift and click on the note to end the selection with. All the notes between
|
||||
the start and the end note will be selected as well.</p>
|
||||
<p>
|
||||
<img src="Multiple selection_image.png">
|
||||
</p>
|
||||
<p>In the right-click menu, operations such as Cut, Copy, Move to, Clone
|
||||
to or Delete will apply to all the selected notes. It is also possible
|
||||
to apply <a class="reference-link" href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a> to
|
||||
them. The rest of the options will not be available and will appear disabled
|
||||
in the menu.</p>
|
||||
@@ -1,242 +1,222 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note tree contextual menu</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note tree contextual menu</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<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>
|
||||
<p>The <em>note tree menu</em> can be accessed by right-clicking in the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</p>
|
||||
<h2>Interaction</h2>
|
||||
<p>The contextual menu can operate:</p>
|
||||
<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>
|
||||
<p>The <em>note tree menu</em> can be accessed by right-clicking in the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</p>
|
||||
<h2>Interaction</h2>
|
||||
<p>The contextual menu can operate:</p>
|
||||
<ul>
|
||||
<li>On a single note, by right clicking it in the note tree.</li>
|
||||
<li>On multiple notes, by selecting them first. See <a class="reference-link"
|
||||
href="#root/_help_yTjUdsOi4CIE">Multiple selection</a> on how to do
|
||||
so.
|
||||
<ul>
|
||||
<li>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.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Available options</h2>
|
||||
<aside class="admonition note">
|
||||
<p>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.</p>
|
||||
</aside>
|
||||
<ul>
|
||||
<li><strong>Open in a new tab</strong>
|
||||
<ul>
|
||||
<li>Will open a single note in a new <a href="#root/_help_3seOhtN8uLIY">tab</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Open in a new split</strong>
|
||||
<ul>
|
||||
<li>Will open a split to the right with the given note within the current
|
||||
tab.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Hoist note</strong>
|
||||
<ul>
|
||||
<li>Will focus the note tree on this note. See <a class="reference-link"
|
||||
href="#root/_help_OR8WJ7Iz9K4U">Note Hoisting</a> for more information.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Insert note after</strong>
|
||||
<ul>
|
||||
<li>Allows easy creation of a note with a specified <a href="#root/_help_KSZ04uQ2D1St">note type</a>.</li>
|
||||
<li><a class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> will
|
||||
also be present (if any) at the end of the list.</li>
|
||||
<li>The note will be added on the same level of hierarchy as the note selected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Insert child note</strong>
|
||||
<ul>
|
||||
<li>Same as <em>Insert note after</em>, but the note will be created as a child
|
||||
of the selected note.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Protect subtree</strong>
|
||||
<ul>
|
||||
<li>Will mark this note and all of its descendents as protected. See
|
||||
<a
|
||||
class="reference-link" href="#root/_help_bwg0e8ewQMak">Protected Notes</a> for more information.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Unprotect subtree</strong>
|
||||
<ul>
|
||||
<li>Will unprotect this note and all of its descendents.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Cut</strong>
|
||||
<ul>
|
||||
<li>Will place the given notes in clipboard.</li>
|
||||
<li>Use one of the two paste functions (or the keyboard shortcuts) to move
|
||||
them to the desired location.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Copy / clone</strong>
|
||||
<ul>
|
||||
<li>Will place the given notes in clipboard.</li>
|
||||
<li>Use one of the two paste functions (or the keyboard shortcuts) to copy
|
||||
them to the desired location.</li>
|
||||
<li>Note that the copy function here works according to the <a class="reference-link"
|
||||
href="#root/_help_IakOLONlIfGI">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).</li>
|
||||
<li>To simply create a duplicate note that can be modified independently,
|
||||
look for <em>Duplicate subtree</em>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Paste into</strong>
|
||||
<ul>
|
||||
<li>If there are any notes in clipboard, they will be pasted as child notes
|
||||
to the right-clicked one.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Paste after</strong>
|
||||
<ul>
|
||||
<li>If there are any notes in clipboard, they will be pasted underneath the
|
||||
right-clicked one.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Move to…</strong>
|
||||
<ul>
|
||||
<li>Will display a modal to specify where to move the desired notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Clone to…</strong>
|
||||
<ul>
|
||||
<li>Will display a modal to specify where to <a href="#root/_help_IakOLONlIfGI">clone</a> the
|
||||
desired notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete</strong>
|
||||
<ul>
|
||||
<li>Will delete the given notes, asking for confirmation first.</li>
|
||||
<li>In the dialog, the following options can be configured:
|
||||
<ul>
|
||||
<li>On a single note, by right clicking it in the note tree.</li>
|
||||
<li>On multiple notes, by selecting them first. See <a class="reference-link"
|
||||
href="#root/_help_yTjUdsOi4CIE">Multiple selection</a> on how to do
|
||||
so.
|
||||
<ul>
|
||||
<li>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.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><em>Delete also all clones</em> to ensure that the note will be deleted
|
||||
everywhere if it has been placed into multiple locations (see <a class="reference-link"
|
||||
href="#root/_help_IakOLONlIfGI">Cloning Notes</a>).</li>
|
||||
<li><em>Erase notes permanently</em> will ensure that the note cannot be recovered
|
||||
from <a class="reference-link" href="#root/_help_r5JGHN99bVKn">Recent Changes</a>.</li>
|
||||
</ul>
|
||||
<h2>Available options</h2>
|
||||
<aside class="admonition note">
|
||||
<p>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.</p>
|
||||
</aside>
|
||||
<ul>
|
||||
<li><strong>Open in a new tab</strong>
|
||||
<ul>
|
||||
<li>Will open a single note in a new <a href="#root/_help_3seOhtN8uLIY">tab</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Open in a new split</strong>
|
||||
<ul>
|
||||
<li>Will open a split to the right with the given note within the current
|
||||
tab.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Hoist note</strong>
|
||||
<ul>
|
||||
<li>Will focus the note tree on this note. See <a class="reference-link"
|
||||
href="#root/_help_OR8WJ7Iz9K4U">Note Hoisting</a> for more information.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Insert note after</strong>
|
||||
<ul>
|
||||
<li>Allows easy creation of a note with a specified <a href="#root/_help_KSZ04uQ2D1St">note type</a>.</li>
|
||||
<li><a class="reference-link" href="#root/_help_KC1HB96bqqHX">Templates</a> will
|
||||
also be present (if any) at the end of the list.</li>
|
||||
<li>The note will be added on the same level of hierarchy as the note selected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Insert child note</strong>
|
||||
<ul>
|
||||
<li>Same as <em>Insert note after</em>, but the note will be created as a child
|
||||
of the selected note.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Protect subtree</strong>
|
||||
<ul>
|
||||
<li>Will mark this note and all of its descendents as protected. See
|
||||
<a
|
||||
class="reference-link" href="#root/_help_bwg0e8ewQMak">Protected Notes</a> for more information.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Unprotect subtree</strong>
|
||||
<ul>
|
||||
<li>Will unprotect this note and all of its descendents.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Cut</strong>
|
||||
<ul>
|
||||
<li>Will place the given notes in clipboard.</li>
|
||||
<li>Use one of the two paste functions (or the keyboard shortcuts) to move
|
||||
them to the desired location.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Copy / clone</strong>
|
||||
<ul>
|
||||
<li>Will place the given notes in clipboard.</li>
|
||||
<li>Use one of the two paste functions (or the keyboard shortcuts) to copy
|
||||
them to the desired location.</li>
|
||||
<li>Note that the copy function here works according to the <a class="reference-link"
|
||||
href="#root/_help_IakOLONlIfGI">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).</li>
|
||||
<li>To simply create a duplicate note that can be modified independently,
|
||||
look for <em>Duplicate subtree</em>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Paste into</strong>
|
||||
<ul>
|
||||
<li>If there are any notes in clipboard, they will be pasted as child notes
|
||||
to the right-clicked one.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Paste after</strong>
|
||||
<ul>
|
||||
<li>If there are any notes in clipboard, they will be pasted underneath the
|
||||
right-clicked one.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Move to…</strong>
|
||||
<ul>
|
||||
<li>Will display a modal to specify where to move the desired notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Clone to…</strong>
|
||||
<ul>
|
||||
<li>Will display a modal to specify where to <a href="#root/_help_IakOLONlIfGI">clone</a> the
|
||||
desired notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Delete</strong>
|
||||
<ul>
|
||||
<li>Will delete the given notes, asking for confirmation first.</li>
|
||||
<li>In the dialog, the following options can be configured:
|
||||
<ul>
|
||||
<li><em>Delete also all clones</em> to ensure that the note will be deleted
|
||||
everywhere if it has been placed into multiple locations (see <a class="reference-link"
|
||||
href="#root/_help_IakOLONlIfGI">Cloning Notes</a>).</li>
|
||||
<li><em>Erase notes permanently</em> will ensure that the note cannot be recovered
|
||||
from <a class="reference-link" href="#root/_help_r5JGHN99bVKn">Recent Changes</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Import into note</strong>
|
||||
<ul>
|
||||
<li>Opens the <a href="#root/_help_mHbBMPDPkVV5">import</a> dialog and places
|
||||
the imported notes as child notes of the selected one.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Export</strong>
|
||||
<ul>
|
||||
<li>Opens the <a href="#root/_help_mHbBMPDPkVV5">export</a> dialog for the selected
|
||||
notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Search in subtree</strong>
|
||||
<ul>
|
||||
<li>Opens a full <a class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a> with
|
||||
it preconfigured to only look into this note and its descendants (the <em>Ancestor</em> field).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Advanced options</h2>
|
||||
<figure class="image image-style-align-right">
|
||||
<img style="aspect-ratio:289/355;" src="Note tree contextual menu_.png"
|
||||
width="289" height="355">
|
||||
</figure>
|
||||
<p>The advanced options menu offers some of the less frequently used actions
|
||||
for notes.</p>
|
||||
<p>To access these options, first look for the <em>Advanced</em> option in
|
||||
the contextual menu to reveal a sub-menu with:</p>
|
||||
<ul>
|
||||
<li><strong>Apply bulk actions</strong>
|
||||
<ul>
|
||||
<li>Opens the <a class="reference-link" href="#root/_help_ivYnonVFBxbQ">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="#root/_help_yTjUdsOi4CIE">Multiple selection</a>).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Edit branch prefix</strong>
|
||||
<ul>
|
||||
<li>Opens a dialog to assign a name to be able to distinguish <a href="#root/_help_IakOLONlIfGI">clones</a>,
|
||||
see <a class="reference-link" href="#root/_help_TBwsyfadTA18">Branch prefix</a> for
|
||||
more information.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Convert to attachment</strong>
|
||||
<ul>
|
||||
<li>Converts the selected notes to <a class="reference-link" href="#root/_help_0vhv7lsOLy82">Attachments</a> of
|
||||
their parent notes.</li>
|
||||
<li>This functional is most useful when dealing with image <a class="reference-link"
|
||||
href="#root/_help_W8vYD3Q1zjCR">File</a> notes that were imported
|
||||
from an external source or an older version of Trilium.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Duplicate subtree</strong>
|
||||
<ul>
|
||||
<li>Creates a copy of the note and its descendants.</li>
|
||||
<li>This process is different from <a class="reference-link" href="#root/_help_IakOLONlIfGI">Cloning Notes</a> since
|
||||
the duplicated note can be edited independently from the original.</li>
|
||||
<li>An alternative to this, if done regularly, would be <a class="reference-link"
|
||||
href="#root/_help_KC1HB96bqqHX">Templates</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Expand subtree</strong>
|
||||
<ul>
|
||||
<li>Expands all the child notes in the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Collapse subtree</strong>
|
||||
<ul>
|
||||
<li>Collapses all the child notes in the note tree.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Sort by…</strong>
|
||||
<ul>
|
||||
<li>Opens a dialog to sort all the child notes of the selected note.</li>
|
||||
<li>The sorting is done only once, there is an automatic sorting mechanism
|
||||
as well that can be set using <a class="reference-link" href="#root/_help_zEY4DaJG4YT5">Attributes</a>.</li>
|
||||
<li>See <a class="reference-link" href="#root/_help_aGlEvb9hyDhS">Sorting Notes</a> for
|
||||
more information.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Copy note path to clipboard</strong>
|
||||
<ul>
|
||||
<li>Copies a URL fragment representing the full path to this branch for a
|
||||
note, such as <code>#root/Hb2E70L7HPuf/4sRFgMZhYFts/2IVuShedRJ3U/LJVMvKXOFv7n</code>.</li>
|
||||
<li>The URL to manually create <a class="reference-link" href="#root/_help_QEAPj01N5f7w">Links</a> within
|
||||
notes, or for note <a class="reference-link" href="#root/_help_wArbEsdSae6g">Navigation</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Recent changes in subtree</strong>
|
||||
<ul>
|
||||
<li>This will open <a class="reference-link" href="#root/_help_r5JGHN99bVKn">Recent Changes</a>,
|
||||
but filtered to only the changes related to this note or one of its descendants.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Import into note</strong>
|
||||
<ul>
|
||||
<li>Opens the <a href="#root/_help_mHbBMPDPkVV5">import</a> dialog and places
|
||||
the imported notes as child notes of the selected one.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Export</strong>
|
||||
<ul>
|
||||
<li>Opens the <a href="#root/_help_mHbBMPDPkVV5">export</a> dialog for the selected
|
||||
notes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Search in subtree</strong>
|
||||
<ul>
|
||||
<li>Opens a full <a class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a> with
|
||||
it preconfigured to only look into this note and its descendants (the <em>Ancestor</em> field).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Advanced options</h2>
|
||||
<figure class="image image-style-align-right">
|
||||
<img style="aspect-ratio:289/355;" src="Note tree contextual menu_.png"
|
||||
width="289" height="355">
|
||||
</figure>
|
||||
<p>The advanced options menu offers some of the less frequently used actions
|
||||
for notes.</p>
|
||||
<p>To access these options, first look for the <em>Advanced</em> option in
|
||||
the contextual menu to reveal a sub-menu with:</p>
|
||||
<ul>
|
||||
<li><strong>Apply bulk actions</strong>
|
||||
<ul>
|
||||
<li>Opens the <a class="reference-link" href="#root/_help_ivYnonVFBxbQ">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="#root/_help_yTjUdsOi4CIE">Multiple selection</a>).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Edit branch prefix</strong>
|
||||
<ul>
|
||||
<li>Opens a dialog to assign a name to be able to distinguish <a href="#root/_help_IakOLONlIfGI">clones</a>,
|
||||
see <a class="reference-link" href="#root/_help_TBwsyfadTA18">Branch prefix</a> for
|
||||
more information.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Convert to attachment</strong>
|
||||
<ul>
|
||||
<li>Converts the selected notes to <a class="reference-link" href="#root/_help_0vhv7lsOLy82">Attachments</a> of
|
||||
their parent notes.</li>
|
||||
<li>This functional is most useful when dealing with image <a class="reference-link"
|
||||
href="#root/_help_W8vYD3Q1zjCR">File</a> notes that were imported
|
||||
from an external source or an older version of Trilium.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Duplicate subtree</strong>
|
||||
<ul>
|
||||
<li>Creates a copy of the note and its descendants.</li>
|
||||
<li>This process is different from <a class="reference-link" href="#root/_help_IakOLONlIfGI">Cloning Notes</a> since
|
||||
the duplicated note can be edited independently from the original.</li>
|
||||
<li>An alternative to this, if done regularly, would be <a class="reference-link"
|
||||
href="#root/_help_KC1HB96bqqHX">Templates</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Expand subtree</strong>
|
||||
<ul>
|
||||
<li>Expands all the child notes in the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Collapse subtree</strong>
|
||||
<ul>
|
||||
<li>Collapses all the child notes in the note tree.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Sort by…</strong>
|
||||
<ul>
|
||||
<li>Opens a dialog to sort all the child notes of the selected note.</li>
|
||||
<li>The sorting is done only once, there is an automatic sorting mechanism
|
||||
as well that can be set using <a class="reference-link" href="#root/_help_zEY4DaJG4YT5">Attributes</a>.</li>
|
||||
<li>See <a class="reference-link" href="#root/_help_aGlEvb9hyDhS">Sorting Notes</a> for
|
||||
more information.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Copy note path to clipboard</strong>
|
||||
<ul>
|
||||
<li>Copies a URL fragment representing the full path to this branch for a
|
||||
note, such as <code>#root/Hb2E70L7HPuf/4sRFgMZhYFts/2IVuShedRJ3U/LJVMvKXOFv7n</code>.</li>
|
||||
<li>The URL to manually create <a class="reference-link" href="#root/_help_QEAPj01N5f7w">Links</a> within
|
||||
notes, or for note <a class="reference-link" href="#root/_help_wArbEsdSae6g">Navigation</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Recent changes in subtree</strong>
|
||||
<ul>
|
||||
<li>This will open <a class="reference-link" href="#root/_help_r5JGHN99bVKn">Recent Changes</a>,
|
||||
but filtered to only the changes related to this note or one of its descendants.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1,32 +1,12 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note buttons</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note buttons</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>To the right of the <a href="#root/_help_BlN9DFI679QC">Ribbon</a> there
|
||||
are a few more buttons:
|
||||
<img src="Note buttons_image.png">
|
||||
</p>
|
||||
<ul>
|
||||
<li>The Note Revisions button displays the <a href="#root/_help_vZWERwf8U3nx">Note Revisions</a> for
|
||||
that particular note.</li>
|
||||
<li>The contextual menu offers commands for the note or its subtree, such
|
||||
as import, export, viewing the <a href="#root/_help_4FahAwuGTAwC">Note source code</a> or
|
||||
<a
|
||||
href="#root/_help_0vhv7lsOLy82">Attachments</a>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>To the right of the <a href="#root/_help_BlN9DFI679QC">Ribbon</a> there
|
||||
are a few more buttons:
|
||||
<img src="Note buttons_image.png">
|
||||
</p>
|
||||
<ul>
|
||||
<li>The Note Revisions button displays the <a href="#root/_help_vZWERwf8U3nx">Note Revisions</a> for
|
||||
that particular note.</li>
|
||||
<li>The contextual menu offers commands for the note or its subtree, such
|
||||
as import, export, viewing the <a href="#root/_help_4FahAwuGTAwC">Note source code</a> or
|
||||
<a
|
||||
href="#root/_help_0vhv7lsOLy82">Attachments</a>.</li>
|
||||
</ul>
|
||||
@@ -1,50 +1,30 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Options</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Options</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1189/709;" src="Options_image.png" width="1189"
|
||||
height="709">
|
||||
</figure>
|
||||
<p>The Options section allows the configuration of the TriliumNext client
|
||||
and server.</p>
|
||||
<h2>Entering options</h2>
|
||||
<p>The Options can be accessed via:</p>
|
||||
<ul>
|
||||
<li>The <a href="#root/_help_x3i7MxGccDuM">Global menu</a>, by selecting
|
||||
the <em>Options</em> item.</li>
|
||||
<li>The
|
||||
<img src="1_Options_image.png">button in the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> which
|
||||
can optionally be hidden if not desirable.</li>
|
||||
<li>Optionally, a keyboard shortcut can be defined, but it is not assigned
|
||||
by default.</li>
|
||||
<li>By clicking on this link: <a class="reference-link" href="#root/_hidden/_help__options">Options</a>.</li>
|
||||
</ul>
|
||||
<p>Once in the options section, simply select one of the option categories
|
||||
using the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</p>
|
||||
<h2>Exiting options</h2>
|
||||
<p>When entering the options, they are opened in a new <a href="#root/_help_3seOhtN8uLIY">tab</a>.
|
||||
To close them, simply close the tab.</p>
|
||||
<h2>Options when using sync</h2>
|
||||
<p>When using <a class="reference-link" href="#root/_help_cbkrhQjrkKrh">Synchronization</a>,
|
||||
some of the options will be kept in sync across all the devices while others
|
||||
can be changed independently.</p>
|
||||
<p>Generally, the options that relate to appearance are intentionally kept
|
||||
not synced in order to allow per-client customization (layout orientation,
|
||||
theme, vertical/horizontal layout, code block themes).</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1189/709;" src="Options_image.png" width="1189"
|
||||
height="709">
|
||||
</figure>
|
||||
<p>The Options section allows the configuration of the TriliumNext client
|
||||
and server.</p>
|
||||
<h2>Entering options</h2>
|
||||
<p>The Options can be accessed via:</p>
|
||||
<ul>
|
||||
<li>The <a href="#root/_help_x3i7MxGccDuM">Global menu</a>, by selecting
|
||||
the <em>Options</em> item.</li>
|
||||
<li>The
|
||||
<img src="1_Options_image.png">button in the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> which
|
||||
can optionally be hidden if not desirable.</li>
|
||||
<li>Optionally, a keyboard shortcut can be defined, but it is not assigned
|
||||
by default.</li>
|
||||
<li>By clicking on this link: <a class="reference-link" href="#root/_hidden/_help__options">Options</a>.</li>
|
||||
</ul>
|
||||
<p>Once in the options section, simply select one of the option categories
|
||||
using the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</p>
|
||||
<h2>Exiting options</h2>
|
||||
<p>When entering the options, they are opened in a new <a href="#root/_help_3seOhtN8uLIY">tab</a>.
|
||||
To close them, simply close the tab.</p>
|
||||
<h2>Options when using sync</h2>
|
||||
<p>When using <a class="reference-link" href="#root/_help_cbkrhQjrkKrh">Synchronization</a>,
|
||||
some of the options will be kept in sync across all the devices while others
|
||||
can be changed independently.</p>
|
||||
<p>Generally, the options that relate to appearance are intentionally kept
|
||||
not synced in order to allow per-client customization (layout orientation,
|
||||
theme, vertical/horizontal layout, code block themes).</p>
|
||||
@@ -1,51 +1,31 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Recent Changes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Recent Changes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-center image_resized" style="width:50%;">
|
||||
<img style="aspect-ratio:988/572;" src="1_Recent Changes_image.png" width="988"
|
||||
height="572">
|
||||
</figure>
|
||||
<figure class="image image-style-align-center image_resized" style="width:50%;">
|
||||
<img style="aspect-ratio:988/572;" src="1_Recent Changes_image.png" width="988"
|
||||
height="572">
|
||||
</figure>
|
||||
|
||||
<h2>Accessing the recent changes</h2>
|
||||
<ul>
|
||||
<li>For an overview of the changes across all documents, press the
|
||||
<img src="Recent Changes_image.png"
|
||||
width="25" height="21">button in the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.
|
||||
<ul>
|
||||
<li>If there is a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or a
|
||||
<a
|
||||
href="#root/_help_9sRHySam5fXb">workspace</a>, the list of recent changes will be limited to the descendents
|
||||
of the hoisted note, or the workspace.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>To limit the list of recent changes to a note and its descendants, look
|
||||
for the corresponding option in the <a class="reference-link" href="#root/_help_YtSN43OrfzaA">Note tree contextual menu</a> →
|
||||
Advanced.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>Notes which were changed will appear in reverse chronological order (latest
|
||||
update first).</li>
|
||||
<li>The title of the note is displayed, as well as the note path. Clicking
|
||||
on the note title will dismiss the dialog and navigate to that particular
|
||||
note.</li>
|
||||
<li>Deleted notes will also be listed here, at their time of deletion. Press
|
||||
the <em>Undelete</em> link next to them in order to recover them.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<ul>
|
||||
<li>For an overview of the changes across all documents, press the
|
||||
<img src="Recent Changes_image.png"
|
||||
width="25" height="21">button in the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.
|
||||
<ul>
|
||||
<li>If there is a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or a
|
||||
<a
|
||||
href="#root/_help_9sRHySam5fXb">workspace</a>, the list of recent changes will be limited to the descendents
|
||||
of the hoisted note, or the workspace.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>To limit the list of recent changes to a note and its descendants, look
|
||||
for the corresponding option in the <a class="reference-link" href="#root/_help_YtSN43OrfzaA">Note tree contextual menu</a> →
|
||||
Advanced.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>Notes which were changed will appear in reverse chronological order (latest
|
||||
update first).</li>
|
||||
<li>The title of the note is displayed, as well as the note path. Clicking
|
||||
on the note title will dismiss the dialog and navigate to that particular
|
||||
note.</li>
|
||||
<li>Deleted notes will also be listed here, at their time of deletion. Press
|
||||
the <em>Undelete</em> link next to them in order to recover them.</li>
|
||||
</ul>
|
||||
@@ -1,114 +1,94 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Ribbon</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Ribbon</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>
|
||||
<img src="Ribbon_image.png">
|
||||
</p>
|
||||
<p>The ribbon allows changing options, attributes and viewing information
|
||||
about the current note.</p>
|
||||
<h2>Settings</h2>
|
||||
<p>It is possible to change whether some ribbon items will be automatically
|
||||
open when navigating to a new note. To do so, in <a href="#root/_help_4TIF1oA4VQRO">Settings</a>,
|
||||
go to <em>Appearance</em> and look for the <em>Ribbon widgets</em> section.</p>
|
||||
<h2>Formatting</h2>
|
||||
<p>If you are using the <em>Fixed</em> formatting toolbar, all the formatting
|
||||
buttons for text notes will appear here. See <a href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a> for
|
||||
more information.</p>
|
||||
<h2>Tabs</h2>
|
||||
<h3>Basic Properties</h3>
|
||||
<ul>
|
||||
<li><em><strong>Note type</strong></em> allows changing the <a href="#root/_help_KSZ04uQ2D1St">note type</a> of
|
||||
a note.
|
||||
<ul>
|
||||
<li>Generally this is desirable only if the note is empty.</li>
|
||||
<li>As a more advanced use, it's possible to change the note type in order
|
||||
to modify the <a href="#root/_help_4FahAwuGTAwC">source code</a> of a note.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><em><strong>Protect the note</strong></em> toggles whether the current
|
||||
note is encrypted and accessible only by entering the protected session.
|
||||
See <a href="#root/_help_bwg0e8ewQMak">Protected Notes</a> for
|
||||
more information.</li>
|
||||
<li><em><strong>Editable</strong></em> changes whether the current note:
|
||||
<ul>
|
||||
<li>Enters <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> automatically
|
||||
if the note is too big (default behaviour).</li>
|
||||
<li>Is always in read-only mode (however it can still be edited temporarily).</li>
|
||||
<li>Is always editable, regardless of its size.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><em><strong>Bookmark</strong></em> toggles the display of the current note
|
||||
into the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> for
|
||||
easy access. See <a href="#root/_help_u3YFHC9tQlpm">Bookmarks</a> for
|
||||
more information.</li>
|
||||
<li><em><strong>Shared</strong></em> toggles whether the current note is publicly
|
||||
accessible if you have a <a href="#root/_help_WOcw2SLH6tbX">server instance</a> set
|
||||
up. See <a href="#root/_help_R9pX4DGra2Vt">Sharing</a> for more
|
||||
information.</li>
|
||||
<li><em><strong>Template</strong></em> toggles whether the current note is
|
||||
considered a template and can be used to easily create notes with the same
|
||||
content. See <a href="#root/_help_KC1HB96bqqHX">Template</a> for
|
||||
more information.</li>
|
||||
<li><em><strong>Language</strong></em> changes the main language of the current
|
||||
note, mostly useful for spell checking or right-to-left support. See
|
||||
<a
|
||||
href="#root/_help_veGu4faJErEM">Content language & Right-to-left support</a> for more information.</li>
|
||||
</ul>
|
||||
<h3>Owned Attributes</h3>
|
||||
<p>This section allows editing the labels and relations of a note. For more
|
||||
information, see <a href="#root/_help_zEY4DaJG4YT5">Attributes</a>.</p>
|
||||
<p>The plus button to the right offers a simplified way to insert labels
|
||||
and relations, via a graphical input. From this menu, it's also possible
|
||||
to define label and relation definitions (see <a href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>).</p>
|
||||
<h3>Inherited Attributes</h3>
|
||||
<p>This section displays the attributes which are applied to this note via
|
||||
<a
|
||||
href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a>. It is not possible to alter the attributes
|
||||
from this section.</p>
|
||||
<h3>Note Paths</h3>
|
||||
<p>This section displays all the places where the current note has been cloned
|
||||
to. Here the current note can also be cloned to a new location (similar
|
||||
to the <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>) See
|
||||
<a
|
||||
href="#root/_help_IakOLONlIfGI">Cloning Notes</a> for more information.</p>
|
||||
<h3>Note Map</h3>
|
||||
<p>The note map displays all the relations of the current note to other notes,
|
||||
as well as the subtree structure. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for
|
||||
more information.</p>
|
||||
<h3>Similar Notes</h3>
|
||||
<p>This section lists all the notes that are similar to the current one.
|
||||
See <a href="#root/_help_xWtq5NUHOwql">Similar Notes</a> for
|
||||
more information.</p>
|
||||
<h3>Note Info</h3>
|
||||
<p>This section displays information about the current note:</p>
|
||||
<ul>
|
||||
<li>The <a href="#root/_help_m1lbrzyKDaRB">internal ID</a> of the note.</li>
|
||||
<li>The <a href="#root/_help_KSZ04uQ2D1St">type of the note</a>, as well as
|
||||
its MIME type (used mostly for exporting notes).</li>
|
||||
<li>The created and modification dates.</li>
|
||||
<li>The estimated size of the note in the <a href="#root/_help_wX4HbRucYSDD">Database</a>,
|
||||
as well as its children count and size.</li>
|
||||
</ul>
|
||||
<h3>Edited notes</h3>
|
||||
<p>This section pops automatically when entering a <a href="#root/_help_l0tKav7yLHGF">day note</a> and
|
||||
shows the notes that were edited that day.</p>
|
||||
<p>It is possible to disable this behavior from settings, by going to
|
||||
<a
|
||||
class="reference-link" href="#root/_hidden/_options/_help__optionsAppearance">Appearance</a> settings and looking for the <em>Ribbon widgets</em> section.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>
|
||||
<img src="Ribbon_image.png">
|
||||
</p>
|
||||
<p>The ribbon allows changing options, attributes and viewing information
|
||||
about the current note.</p>
|
||||
<h2>Settings</h2>
|
||||
<p>It is possible to change whether some ribbon items will be automatically
|
||||
open when navigating to a new note. To do so, in <a href="#root/_help_4TIF1oA4VQRO">Settings</a>,
|
||||
go to <em>Appearance</em> and look for the <em>Ribbon widgets</em> section.</p>
|
||||
<h2>Formatting</h2>
|
||||
<p>If you are using the <em>Fixed</em> formatting toolbar, all the formatting
|
||||
buttons for text notes will appear here. See <a href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a> for
|
||||
more information.</p>
|
||||
<h2>Tabs</h2>
|
||||
<h3>Basic Properties</h3>
|
||||
<ul>
|
||||
<li><em><strong>Note type</strong></em> allows changing the <a href="#root/_help_KSZ04uQ2D1St">note type</a> of
|
||||
a note.
|
||||
<ul>
|
||||
<li>Generally this is desirable only if the note is empty.</li>
|
||||
<li>As a more advanced use, it's possible to change the note type in order
|
||||
to modify the <a href="#root/_help_4FahAwuGTAwC">source code</a> of a note.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><em><strong>Protect the note</strong></em> toggles whether the current
|
||||
note is encrypted and accessible only by entering the protected session.
|
||||
See <a href="#root/_help_bwg0e8ewQMak">Protected Notes</a> for
|
||||
more information.</li>
|
||||
<li><em><strong>Editable</strong></em> changes whether the current note:
|
||||
<ul>
|
||||
<li>Enters <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> automatically
|
||||
if the note is too big (default behaviour).</li>
|
||||
<li>Is always in read-only mode (however it can still be edited temporarily).</li>
|
||||
<li>Is always editable, regardless of its size.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><em><strong>Bookmark</strong></em> toggles the display of the current note
|
||||
into the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> for
|
||||
easy access. See <a href="#root/_help_u3YFHC9tQlpm">Bookmarks</a> for
|
||||
more information.</li>
|
||||
<li><em><strong>Shared</strong></em> toggles whether the current note is publicly
|
||||
accessible if you have a <a href="#root/_help_WOcw2SLH6tbX">server instance</a> set
|
||||
up. See <a href="#root/_help_R9pX4DGra2Vt">Sharing</a> for more
|
||||
information.</li>
|
||||
<li><em><strong>Template</strong></em> toggles whether the current note is
|
||||
considered a template and can be used to easily create notes with the same
|
||||
content. See <a href="#root/_help_KC1HB96bqqHX">Template</a> for
|
||||
more information.</li>
|
||||
<li><em><strong>Language</strong></em> changes the main language of the current
|
||||
note, mostly useful for spell checking or right-to-left support. See
|
||||
<a
|
||||
href="#root/_help_veGu4faJErEM">Content language & Right-to-left support</a> for more information.</li>
|
||||
</ul>
|
||||
<h3>Owned Attributes</h3>
|
||||
<p>This section allows editing the labels and relations of a note. For more
|
||||
information, see <a href="#root/_help_zEY4DaJG4YT5">Attributes</a>.</p>
|
||||
<p>The plus button to the right offers a simplified way to insert labels
|
||||
and relations, via a graphical input. From this menu, it's also possible
|
||||
to define label and relation definitions (see <a href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>).</p>
|
||||
<h3>Inherited Attributes</h3>
|
||||
<p>This section displays the attributes which are applied to this note via
|
||||
<a
|
||||
href="#root/_help_bwZpz2ajCEwO">Attribute Inheritance</a>. It is not possible to alter the attributes
|
||||
from this section.</p>
|
||||
<h3>Note Paths</h3>
|
||||
<p>This section displays all the places where the current note has been cloned
|
||||
to. Here the current note can also be cloned to a new location (similar
|
||||
to the <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>) See
|
||||
<a
|
||||
href="#root/_help_IakOLONlIfGI">Cloning Notes</a> for more information.</p>
|
||||
<h3>Note Map</h3>
|
||||
<p>The note map displays all the relations of the current note to other notes,
|
||||
as well as the subtree structure. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for
|
||||
more information.</p>
|
||||
<h3>Similar Notes</h3>
|
||||
<p>This section lists all the notes that are similar to the current one.
|
||||
See <a href="#root/_help_xWtq5NUHOwql">Similar Notes</a> for
|
||||
more information.</p>
|
||||
<h3>Note Info</h3>
|
||||
<p>This section displays information about the current note:</p>
|
||||
<ul>
|
||||
<li>The <a href="#root/_help_m1lbrzyKDaRB">internal ID</a> of the note.</li>
|
||||
<li>The <a href="#root/_help_KSZ04uQ2D1St">type of the note</a>, as well as
|
||||
its MIME type (used mostly for exporting notes).</li>
|
||||
<li>The created and modification dates.</li>
|
||||
<li>The estimated size of the note in the <a href="#root/_help_wX4HbRucYSDD">Database</a>,
|
||||
as well as its children count and size.</li>
|
||||
</ul>
|
||||
<h3>Edited notes</h3>
|
||||
<p>This section pops automatically when entering a <a href="#root/_help_l0tKav7yLHGF">day note</a> and
|
||||
shows the notes that were edited that day.</p>
|
||||
<p>It is possible to disable this behavior from settings, by going to
|
||||
<a
|
||||
class="reference-link" href="#root/_hidden/_options/_help__optionsAppearance">Appearance</a> settings and looking for the <em>Ribbon widgets</em> section.</p>
|
||||
@@ -1,45 +1,25 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Right Sidebar</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Right Sidebar</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image">
|
||||
<img style="aspect-ratio:1036/372;" src="Right Sidebar_image.png" width="1036"
|
||||
height="372">
|
||||
</figure>
|
||||
<p>The right sidebar displays specific content for the current note. Currently
|
||||
it includes:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_BFvAtE74rbP6">Table of contents</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_AxshuNRegLAv">Highlights list</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Note that the sidebar is not displayed if it would otherwise be empty,
|
||||
for example if there are too few headings and there are no highlights.</p>
|
||||
<h2>Toggling the right sidebar</h2>
|
||||
<p>The sidebar can be hidden or shown by using the <code>toggleRightPane</code> keyboard
|
||||
shortcut, which is not assigned by default.</p>
|
||||
<h2>Relation with splits</h2>
|
||||
<p>When using <a class="reference-link" href="#root/_help_luNhaphA37EO">Split View</a>,
|
||||
there is a single sidebar serving all the open splits for the current
|
||||
<a
|
||||
href="#root/_help_3seOhtN8uLIY">tab</a>.</p>
|
||||
<p>Clicking on a note within the split view will display the sidebar for
|
||||
that note. If there are no items to display in the sidebar, it will remain
|
||||
closed.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<figure class="image">
|
||||
<img style="aspect-ratio:1036/372;" src="Right Sidebar_image.png" width="1036"
|
||||
height="372">
|
||||
</figure>
|
||||
<p>The right sidebar displays specific content for the current note. Currently
|
||||
it includes:</p>
|
||||
<ul>
|
||||
<li><a class="reference-link" href="#root/_help_BFvAtE74rbP6">Table of contents</a>
|
||||
</li>
|
||||
<li><a class="reference-link" href="#root/_help_AxshuNRegLAv">Highlights list</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Note that the sidebar is not displayed if it would otherwise be empty,
|
||||
for example if there are too few headings and there are no highlights.</p>
|
||||
<h2>Toggling the right sidebar</h2>
|
||||
<p>The sidebar can be hidden or shown by using the <code>toggleRightPane</code> keyboard
|
||||
shortcut, which is not assigned by default.</p>
|
||||
<h2>Relation with splits</h2>
|
||||
<p>When using <a class="reference-link" href="#root/_help_luNhaphA37EO">Split View</a>,
|
||||
there is a single sidebar serving all the open splits for the current
|
||||
<a
|
||||
href="#root/_help_3seOhtN8uLIY">tab</a>.</p>
|
||||
<p>Clicking on a note within the split view will display the sidebar for
|
||||
that note. If there are no items to display in the sidebar, it will remain
|
||||
closed.</p>
|
||||
@@ -1,66 +1,46 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Split View</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Split View</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>In Trilium, is possible to work with two or more notes side-by-side.</p>
|
||||
<figure
|
||||
class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1398/1015;" src="Split View_2_Split View_im.png"
|
||||
width="1398" height="1015">
|
||||
</figure>
|
||||
<p>In Trilium, is possible to work with two or more notes side-by-side.</p>
|
||||
<figure
|
||||
class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1398/1015;" src="Split View_2_Split View_im.png"
|
||||
width="1398" height="1015">
|
||||
</figure>
|
||||
|
||||
<h2><strong>Interactions</strong></h2>
|
||||
<ul>
|
||||
<li>Press the
|
||||
<img src="Split View_Split View_imag.png">button to the right of a note's title to open a new split to the right
|
||||
of it.
|
||||
<ul>
|
||||
<li>It is possible to have as many splits as desired, simply press again the
|
||||
button.</li>
|
||||
<li>Only horizontal splits are possible, vertical or drag & dropping is
|
||||
not supported.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>When at least one split is open, press the
|
||||
<img src="Split View_3_Split View_im.png">button next to it to close it.</li>
|
||||
<li>Use the
|
||||
<img src="Split View_4_Split View_im.png">or the
|
||||
<img src="Split View_1_Split View_im.png">button to move around the splits.</li>
|
||||
<li>Each <a href="#root/_help_3seOhtN8uLIY">tab</a> has its own split view configuration
|
||||
(e.g. one tab can have two notes in a split view, whereas the others are
|
||||
one-note views).
|
||||
<ul>
|
||||
<li>The tab will indicate only the title of the main note (the first one in
|
||||
the list).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Splits and the note tree & hoisting</h2>
|
||||
<p>Clicking on the content of a split will focus that split. While focused,
|
||||
the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> will
|
||||
also indicate the note that is being edited.</p>
|
||||
<p>It is possible for each of the splits to have their own <a class="reference-link"
|
||||
href="#root/_help_OR8WJ7Iz9K4U">Note Hoisting</a>.</p>
|
||||
<p>When a new split is created, it will share the same note hoisting as the
|
||||
previous one. An easy solution to this is to simply hoist the notes after
|
||||
the split is created.</p>
|
||||
<p>This is generally quite useful for reorganizing notes from one place to
|
||||
the other, by hoisting the old place in the first split and hoisting the
|
||||
new place to the second one. This will allow easy cut and paste without
|
||||
the tree jumping around from switching between notes.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<ul>
|
||||
<li>Press the
|
||||
<img src="Split View_Split View_imag.png">button to the right of a note's title to open a new split to the right
|
||||
of it.
|
||||
<ul>
|
||||
<li>It is possible to have as many splits as desired, simply press again the
|
||||
button.</li>
|
||||
<li>Only horizontal splits are possible, vertical or drag & dropping is
|
||||
not supported.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>When at least one split is open, press the
|
||||
<img src="Split View_3_Split View_im.png">button next to it to close it.</li>
|
||||
<li>Use the
|
||||
<img src="Split View_4_Split View_im.png">or the
|
||||
<img src="Split View_1_Split View_im.png">button to move around the splits.</li>
|
||||
<li>Each <a href="#root/_help_3seOhtN8uLIY">tab</a> has its own split view configuration
|
||||
(e.g. one tab can have two notes in a split view, whereas the others are
|
||||
one-note views).
|
||||
<ul>
|
||||
<li>The tab will indicate only the title of the main note (the first one in
|
||||
the list).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Splits and the note tree & hoisting</h2>
|
||||
<p>Clicking on the content of a split will focus that split. While focused,
|
||||
the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> will
|
||||
also indicate the note that is being edited.</p>
|
||||
<p>It is possible for each of the splits to have their own <a class="reference-link"
|
||||
href="#root/_help_OR8WJ7Iz9K4U">Note Hoisting</a>.</p>
|
||||
<p>When a new split is created, it will share the same note hoisting as the
|
||||
previous one. An easy solution to this is to simply hoist the notes after
|
||||
the split is created.</p>
|
||||
<p>This is generally quite useful for reorganizing notes from one place to
|
||||
the other, by hoisting the old place in the first split and hoisting the
|
||||
new place to the second one. This will allow easy cut and paste without
|
||||
the tree jumping around from switching between notes.</p>
|
||||
@@ -1,62 +1,42 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Tabs</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Tabs</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1119/43;" src="2_Tabs_image.png" width="1119"
|
||||
height="43">
|
||||
</figure>
|
||||
<p>In Trilium, tabs allow easy switching between notes.</p>
|
||||
<h2>Layout</h2>
|
||||
<p>Depending on the <a class="reference-link" href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a>:</p>
|
||||
<ul>
|
||||
<li>For the vertical layout, the tabs will be placed at the top but to the
|
||||
right of the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>For the horizontal layout, the tabs will be placed at the top in full-width,
|
||||
above the <a href="#root/_help_oPVyFC7WL2Lp">note tree</a>, allowing
|
||||
for more tabs to be comfortably displayed.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>To create a new tab, press the
|
||||
<img src="1_Tabs_image.png">button that is to the right of the last tab.</li>
|
||||
<li>To close a tab, press the corresponding
|
||||
<img src="Tabs_image.png">button.</li>
|
||||
<li>For multitasking, tabs can be used alongside <a class="reference-link"
|
||||
href="#root/_help_luNhaphA37EO">Split View</a>. Each tab can have one or
|
||||
more notes, displayed horizontally.</li>
|
||||
<li>Tabs can be reordered by drag-and-dropping it into a new position.</li>
|
||||
<li>An existing tab can be displayed in a new window by dragging the tab upwards
|
||||
or downwards. It is not possible to combine tabs back into another window.</li>
|
||||
</ul>
|
||||
<h2>Keyboard interaction</h2>
|
||||
<p>Since tabs are a commonly used feature, there are multiple keyboard shortcuts
|
||||
that can be used:</p>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>T</kbd> to open a new tab.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>W</kbd> to close the current tab.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>T</kbd> to reopen the last closed
|
||||
tab.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>Tab</kbd> and <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Tab</kbd> to
|
||||
go to the next or previous tab.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>1</kbd>, <kbd>Ctrl</kbd>+<kbd>2</kbd>, up to <kbd>Ctrl</kbd>+<kbd>9</kbd> to
|
||||
activate the first, second and up til ninth tab.</li>
|
||||
<li>There is also a shortcut to go to the last tab, but it is not assigned
|
||||
a key by default.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<figure class="image image-style-align-center">
|
||||
<img style="aspect-ratio:1119/43;" src="2_Tabs_image.png" width="1119"
|
||||
height="43">
|
||||
</figure>
|
||||
<p>In Trilium, tabs allow easy switching between notes.</p>
|
||||
<h2>Layout</h2>
|
||||
<p>Depending on the <a class="reference-link" href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a>:</p>
|
||||
<ul>
|
||||
<li>For the vertical layout, the tabs will be placed at the top but to the
|
||||
right of the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>For the horizontal layout, the tabs will be placed at the top in full-width,
|
||||
above the <a href="#root/_help_oPVyFC7WL2Lp">note tree</a>, allowing
|
||||
for more tabs to be comfortably displayed.</li>
|
||||
</ul>
|
||||
<h2>Interaction</h2>
|
||||
<ul>
|
||||
<li>To create a new tab, press the
|
||||
<img src="1_Tabs_image.png">button that is to the right of the last tab.</li>
|
||||
<li>To close a tab, press the corresponding
|
||||
<img src="Tabs_image.png">button.</li>
|
||||
<li>For multitasking, tabs can be used alongside <a class="reference-link"
|
||||
href="#root/_help_luNhaphA37EO">Split View</a>. Each tab can have one or
|
||||
more notes, displayed horizontally.</li>
|
||||
<li>Tabs can be reordered by drag-and-dropping it into a new position.</li>
|
||||
<li>An existing tab can be displayed in a new window by dragging the tab upwards
|
||||
or downwards. It is not possible to combine tabs back into another window.</li>
|
||||
</ul>
|
||||
<h2>Keyboard interaction</h2>
|
||||
<p>Since tabs are a commonly used feature, there are multiple keyboard shortcuts
|
||||
that can be used:</p>
|
||||
<ul>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>T</kbd> to open a new tab.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>W</kbd> to close the current tab.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>T</kbd> to reopen the last closed
|
||||
tab.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>Tab</kbd> and <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Tab</kbd> to
|
||||
go to the next or previous tab.</li>
|
||||
<li><kbd>Ctrl</kbd>+<kbd>1</kbd>, <kbd>Ctrl</kbd>+<kbd>2</kbd>, up to <kbd>Ctrl</kbd>+<kbd>9</kbd> to
|
||||
activate the first, second and up til ninth tab.</li>
|
||||
<li>There is also a shortcut to go to the last tab, but it is not assigned
|
||||
a key by default.</li>
|
||||
</ul>
|
||||
@@ -1,69 +1,49 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Vertical and horizontal layout</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Vertical and horizontal layout</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<h2>Layouts</h2>
|
||||
<p>Trilium supports two different layouts, based on your preference.</p>
|
||||
<h3>Vertical layout</h3>
|
||||
<p>The vertical layout is Trilium's original layout:</p>
|
||||
<ul>
|
||||
<li>The <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> is
|
||||
positioned on the left side of the screen, with buttons being laid out
|
||||
vertically.</li>
|
||||
<li>The tab bar is at the top, but to the right of the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_Ms1nauBra7gq">Quick search</a> is
|
||||
at the top of the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> can
|
||||
be collapsed by pressing the
|
||||
<img src="5_Vertical and horizontal la.png">button at the bottom of the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> can
|
||||
be accessed via the
|
||||
<img src="4_Vertical and horizontal la.png">icon at the top of the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<img src="3_Vertical and horizontal la.png">
|
||||
</p>
|
||||
<h3>Horizontal layout</h3>
|
||||
<p>The horizontal layout is a more traditional layout, since it bears similarity
|
||||
with other applications. In this mode:</p>
|
||||
<ul>
|
||||
<li>The <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> is
|
||||
at the top of the screen, with the buttons laid horizontally.</li>
|
||||
<li>The tab bar is at the top of the screen, but now covers the entirety of
|
||||
the width, allowing for more tabs to be displayed at once.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_Ms1nauBra7gq">Quick search</a> is
|
||||
now part of the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.
|
||||
It can be moved around according to preference and even removed if needed.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> can
|
||||
be collapsed by pressing the small
|
||||
<img src="1_Vertical and horizontal la.png">button to the left of the first tab.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> can
|
||||
be accessed via the
|
||||
<img src="Vertical and horizontal la.png">button at the end of the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<img src="2_Vertical and horizontal la.png">
|
||||
</p>
|
||||
<h2>Changing the layout</h2>
|
||||
<p>Go to <a class="reference-link" href="#root/_help_4TIF1oA4VQRO">Options</a> and
|
||||
look for the <em>Appearance</em> option on the left. Then look for the <em>Layout</em> section,
|
||||
where there is the possibility to switch between the two available layouts.</p>
|
||||
<p>Selecting an option will immediately apply the new layout by reloading
|
||||
the window.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>Layouts</h2>
|
||||
<p>Trilium supports two different layouts, based on your preference.</p>
|
||||
<h3>Vertical layout</h3>
|
||||
<p>The vertical layout is Trilium's original layout:</p>
|
||||
<ul>
|
||||
<li>The <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> is
|
||||
positioned on the left side of the screen, with buttons being laid out
|
||||
vertically.</li>
|
||||
<li>The tab bar is at the top, but to the right of the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_Ms1nauBra7gq">Quick search</a> is
|
||||
at the top of the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> can
|
||||
be collapsed by pressing the
|
||||
<img src="5_Vertical and horizontal la.png">button at the bottom of the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> can
|
||||
be accessed via the
|
||||
<img src="4_Vertical and horizontal la.png">icon at the top of the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<img src="3_Vertical and horizontal la.png">
|
||||
</p>
|
||||
<h3>Horizontal layout</h3>
|
||||
<p>The horizontal layout is a more traditional layout, since it bears similarity
|
||||
with other applications. In this mode:</p>
|
||||
<ul>
|
||||
<li>The <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> is
|
||||
at the top of the screen, with the buttons laid horizontally.</li>
|
||||
<li>The tab bar is at the top of the screen, but now covers the entirety of
|
||||
the width, allowing for more tabs to be displayed at once.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_Ms1nauBra7gq">Quick search</a> is
|
||||
now part of the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.
|
||||
It can be moved around according to preference and even removed if needed.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> can
|
||||
be collapsed by pressing the small
|
||||
<img src="1_Vertical and horizontal la.png">button to the left of the first tab.</li>
|
||||
<li>The <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> can
|
||||
be accessed via the
|
||||
<img src="Vertical and horizontal la.png">button at the end of the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<img src="2_Vertical and horizontal la.png">
|
||||
</p>
|
||||
<h2>Changing the layout</h2>
|
||||
<p>Go to <a class="reference-link" href="#root/_help_4TIF1oA4VQRO">Options</a> and
|
||||
look for the <em>Appearance</em> option on the left. Then look for the <em>Layout</em> section,
|
||||
where there is the possibility to switch between the two available layouts.</p>
|
||||
<p>Selecting an option will immediately apply the new layout by reloading
|
||||
the window.</p>
|
||||
@@ -1,19 +0,0 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Zoom</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Zoom</h1>
|
||||
|
||||
<div class="ck-content"></div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,67 +1,47 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Zen mode</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Zen mode</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>
|
||||
<img src="3_Zen mode_image.png">
|
||||
</p>
|
||||
<p>Screenshot of Zen Mode activated on a Windows 11 system with native title
|
||||
bar off and background effects on.</p>
|
||||
<p>When Zen Mode is activated (pictured on the side), most of the user interface
|
||||
of Trilium is hidden away in order to be able to focus on the content,
|
||||
whether it's for reading or writing.</p>
|
||||
<p>
|
||||
<img src="2_Zen mode_image.png">
|
||||
</p>
|
||||
<p>Screenshot of the Zen Mode option in the global menu.</p>
|
||||
<h2>Activating & deactivating</h2>
|
||||
<p>The Zen Mode can be activated by accessing the global menu and selecting
|
||||
the “Zen Mode” option:</p>
|
||||
<p>Aside from the global menu, it's also possible to activate this mode by
|
||||
using a keyboard shortcut (which is <kbd>F9</kbd> since TriliumNext 0.92.5
|
||||
and <kbd>Alt</kbd>+<kbd>Z</kbd> for older versions). Look for <code>toggleZenMode</code> in
|
||||
the shortcut configuration.</p>
|
||||
<p>Once Zen Mode is activated, all the UI elements of the application will
|
||||
be hidden away, including the global menu. In that case, the Zen Mode can
|
||||
be deactivated either by pressing the
|
||||
<img src="Zen mode_image.png">icon in the top-right corner of the window or by pressing the keyboard
|
||||
combination again.</p>
|
||||
<p>Do note that, by design, activating or deactivating the Zen Mode applies
|
||||
only to the current window. Restarting the application will also disable
|
||||
the Zen Mode.</p>
|
||||
<h2>Moving the window around</h2>
|
||||
<p>If “Native title bar” is activated, then the operating system's default
|
||||
title bar can be used to drag the window around. If deactivated, the window
|
||||
can still be moved by dragging the mouse across the top part of the window
|
||||
where the note titles are.</p>
|
||||
<p>
|
||||
<img src="1_Zen mode_image.png">
|
||||
</p>
|
||||
<p>Screenshot of two notes side-by-side while Zen Mode is active, on Windows
|
||||
11 with background effects off.</p>
|
||||
<h2>Split windows and tabs</h2>
|
||||
<p>Tabs are completely hidden, however it's still possible to use keyboard
|
||||
shortcuts such as <code>firstTab</code> (<kbd>Ctrl</kbd>+<kbd>1</kbd> by default), <code>secondTab</code> (<kbd>Ctrl</kbd>+<kbd>2</kbd> by
|
||||
default). There are also some newer shortcuts such as <code>activateNextTab</code> (<kbd>Ctrl</kbd>+<kbd>Tab</kbd>)
|
||||
or <code>activatePreviousTab</code> (<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Tab</kbd>)
|
||||
that allow easy navigation, however make sure that they are configured
|
||||
properly in the settings.</p>
|
||||
<p>For the split view of notes, there are no keyboard shortcuts at the time
|
||||
of writing, but it's still possible to have them in Zen Mode by creating
|
||||
the split while the Zen Mode is off and then reactivating it afterwards.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>
|
||||
<img src="3_Zen mode_image.png">
|
||||
</p>
|
||||
<p>Screenshot of Zen Mode activated on a Windows 11 system with native title
|
||||
bar off and background effects on.</p>
|
||||
<p>When Zen Mode is activated (pictured on the side), most of the user interface
|
||||
of Trilium is hidden away in order to be able to focus on the content,
|
||||
whether it's for reading or writing.</p>
|
||||
<p>
|
||||
<img src="2_Zen mode_image.png">
|
||||
</p>
|
||||
<p>Screenshot of the Zen Mode option in the global menu.</p>
|
||||
<h2>Activating & deactivating</h2>
|
||||
<p>The Zen Mode can be activated by accessing the global menu and selecting
|
||||
the “Zen Mode” option:</p>
|
||||
<p>Aside from the global menu, it's also possible to activate this mode by
|
||||
using a keyboard shortcut (which is <kbd>F9</kbd> since TriliumNext 0.92.5
|
||||
and <kbd>Alt</kbd>+<kbd>Z</kbd> for older versions). Look for <code>toggleZenMode</code> in
|
||||
the shortcut configuration.</p>
|
||||
<p>Once Zen Mode is activated, all the UI elements of the application will
|
||||
be hidden away, including the global menu. In that case, the Zen Mode can
|
||||
be deactivated either by pressing the
|
||||
<img src="Zen mode_image.png">icon in the top-right corner of the window or by pressing the keyboard
|
||||
combination again.</p>
|
||||
<p>Do note that, by design, activating or deactivating the Zen Mode applies
|
||||
only to the current window. Restarting the application will also disable
|
||||
the Zen Mode.</p>
|
||||
<h2>Moving the window around</h2>
|
||||
<p>If “Native title bar” is activated, then the operating system's default
|
||||
title bar can be used to drag the window around. If deactivated, the window
|
||||
can still be moved by dragging the mouse across the top part of the window
|
||||
where the note titles are.</p>
|
||||
<p>
|
||||
<img src="1_Zen mode_image.png">
|
||||
</p>
|
||||
<p>Screenshot of two notes side-by-side while Zen Mode is active, on Windows
|
||||
11 with background effects off.</p>
|
||||
<h2>Split windows and tabs</h2>
|
||||
<p>Tabs are completely hidden, however it's still possible to use keyboard
|
||||
shortcuts such as <code>firstTab</code> (<kbd>Ctrl</kbd>+<kbd>1</kbd> by default), <code>secondTab</code> (<kbd>Ctrl</kbd>+<kbd>2</kbd> by
|
||||
default). There are also some newer shortcuts such as <code>activateNextTab</code> (<kbd>Ctrl</kbd>+<kbd>Tab</kbd>)
|
||||
or <code>activatePreviousTab</code> (<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Tab</kbd>)
|
||||
that allow easy navigation, however make sure that they are configured
|
||||
properly in the settings.</p>
|
||||
<p>For the split view of notes, there are no keyboard shortcuts at the time
|
||||
of writing, but it's still possible to have them in Zen Mode by creating
|
||||
the split while the Zen Mode is off and then reactivating it afterwards.</p>
|
||||
@@ -1,93 +1,73 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>FAQ</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>FAQ</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<h2>macOS support</h2>
|
||||
<p>Originally, Trilium Notes considered the macOS build unsupported. TriliumNext
|
||||
commits to make the experience on macOS as good as possible.</p>
|
||||
<p>if you find any platform-specific issues, feel free to <a href="#root/_help_wy8So3yZZlH9">report them</a>.</p>
|
||||
<h2>Translation / localisation support</h2>
|
||||
<p>The original Trilium Notes application did not support multiple languages.
|
||||
Since we believe that internationalisation is a core part of an application,
|
||||
we have added support for it.</p>
|
||||
<p>Contributions to translations are welcome.</p>
|
||||
<h2>Multi-user support</h2>
|
||||
<p>Common request is to allow multiple users collaborate, share notes etc.
|
||||
So far I'm resisting this because of these reasons:</p>
|
||||
<ul>
|
||||
<li>it's a huge feature, or rather a Pandora's box of collaboration features
|
||||
like user management, permissions, conflict resolution, real-time editing
|
||||
of a note by multiple people etc. This would be a huge amount of work.
|
||||
Trilium Notes is project made mostly by one person in free time and that's
|
||||
unlikely to change in the future.</li>
|
||||
<li>given its size it would probably pivot the attention away from my main
|
||||
focus which is a personal note-taking</li>
|
||||
<li>the assumption that only single person has access to the app simplifies
|
||||
many things, or just outright makes them possible. In multi-user app, our
|
||||
<a
|
||||
href="#root/_help_CdNpE2pqjmI6">scripting</a>support would be a XSS security hole, while with the single
|
||||
user assumption it's an endless customizable tool.</li>
|
||||
</ul>
|
||||
<h2>How to open multiple documents in one Trilium instance</h2>
|
||||
<p>This is normally not supported - one Trilium process can open only a single
|
||||
instance of a <a href="#root/_help_wX4HbRucYSDD">database</a>. However,
|
||||
you can run two Trilium processes (from one installation), each connected
|
||||
to a separate document. To achieve this, you need to set a location for
|
||||
the <a href="#root/_help_tAassRL4RSQL">data directory</a> in the <code>TRILIUM_DATA_DIR</code> environment
|
||||
variable and separate port on <code>TRILIUM_PORT</code> environment variable.
|
||||
How to do that depends on the platform, in Unix-based systems you can achieve
|
||||
that by running command such as this:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_DATA_DIR=/home/me/path/to/data/dir TRILIUM_PORT=12345 trilium </code></pre>
|
||||
<p>You can save this command into a <code>.sh</code> script file or make an
|
||||
alias. Do this similarly for a second instance with different data directory
|
||||
and port.</p>
|
||||
<h2>Can I use Dropbox / Google Drive / OneDrive to sync data across multiple computers.</h2>
|
||||
<p>No.</p>
|
||||
<p>These general purpose sync apps are not suitable to sync database files
|
||||
which are open and being worked on by another application. The result is
|
||||
that they will corrupt the database file, resulting in data loss and this
|
||||
message in the Trilium logs:</p><pre><code class="language-text-x-trilium-auto">SqliteError: database disk image is malformed</code></pre>
|
||||
<p>The only supported way to sync Trilium's data across the network is to
|
||||
use a <a href="#root/_help_cbkrhQjrkKrh">sync/web server</a>.</p>
|
||||
<h2>Why database instead of flat files?</h2>
|
||||
<p>Trilium stores notes in a <a href="#root/_help_wX4HbRucYSDD">database</a> which
|
||||
is an SQLite database. People often ask why doesn't Trilium rather use
|
||||
flat files for note storage - it's fair question since flat files are easily
|
||||
interoperable, work with SCM/git etc.</p>
|
||||
<p>Short answer is that file systems are simply not powerful enough for what
|
||||
we want to achieve with Trilium. Using filesystem would mean fewer features
|
||||
with probably more problems.</p>
|
||||
<p>More detailed answer:</p>
|
||||
<ul>
|
||||
<li><a href="#root/_help_IakOLONlIfGI">clones</a> are what you might call "hard
|
||||
directory link" in filesystem lingo, but this concept is not implemented
|
||||
in any filesystem</li>
|
||||
<li>filesystems make a distinction between directory and file while there's
|
||||
intentionally no such difference in Trilium</li>
|
||||
<li>files are stored in no particular order and user can't change this</li>
|
||||
<li>Trilium allows storing note <a href="#root/_help_zEY4DaJG4YT5">attributes</a> which
|
||||
could be represented in extended user attributes but their support differs
|
||||
greatly among different filesystems / operating systems</li>
|
||||
<li>Trilium makes links / relations between different notes which can be quickly
|
||||
retrieved / navigated (e.g. for <a href="#root/_help_BCkXAVs63Ttv">note map</a>).
|
||||
There's no such support in file systems which means these would have to
|
||||
be stored in some kind of side-car files (mini-databases).</li>
|
||||
<li>Filesystems are generally not transactional. While this is not completely
|
||||
required for a note-taking application, having transactions make it way
|
||||
easier to keep notes and their metadata in predictable and consistent state.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>macOS support</h2>
|
||||
<p>Originally, Trilium Notes considered the macOS build unsupported. TriliumNext
|
||||
commits to make the experience on macOS as good as possible.</p>
|
||||
<p>if you find any platform-specific issues, feel free to <a href="#root/_help_wy8So3yZZlH9">report them</a>.</p>
|
||||
<h2>Translation / localisation support</h2>
|
||||
<p>The original Trilium Notes application did not support multiple languages.
|
||||
Since we believe that internationalisation is a core part of an application,
|
||||
we have added support for it.</p>
|
||||
<p>Contributions to translations are welcome.</p>
|
||||
<h2>Multi-user support</h2>
|
||||
<p>Common request is to allow multiple users collaborate, share notes etc.
|
||||
So far I'm resisting this because of these reasons:</p>
|
||||
<ul>
|
||||
<li>it's a huge feature, or rather a Pandora's box of collaboration features
|
||||
like user management, permissions, conflict resolution, real-time editing
|
||||
of a note by multiple people etc. This would be a huge amount of work.
|
||||
Trilium Notes is project made mostly by one person in free time and that's
|
||||
unlikely to change in the future.</li>
|
||||
<li>given its size it would probably pivot the attention away from my main
|
||||
focus which is a personal note-taking</li>
|
||||
<li>the assumption that only single person has access to the app simplifies
|
||||
many things, or just outright makes them possible. In multi-user app, our
|
||||
<a
|
||||
href="#root/_help_CdNpE2pqjmI6">scripting</a>support would be a XSS security hole, while with the single
|
||||
user assumption it's an endless customizable tool.</li>
|
||||
</ul>
|
||||
<h2>How to open multiple documents in one Trilium instance</h2>
|
||||
<p>This is normally not supported - one Trilium process can open only a single
|
||||
instance of a <a href="#root/_help_wX4HbRucYSDD">database</a>. However,
|
||||
you can run two Trilium processes (from one installation), each connected
|
||||
to a separate document. To achieve this, you need to set a location for
|
||||
the <a href="#root/_help_tAassRL4RSQL">data directory</a> in the <code>TRILIUM_DATA_DIR</code> environment
|
||||
variable and separate port on <code>TRILIUM_PORT</code> environment variable.
|
||||
How to do that depends on the platform, in Unix-based systems you can achieve
|
||||
that by running command such as this:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_DATA_DIR=/home/me/path/to/data/dir TRILIUM_PORT=12345 trilium </code></pre>
|
||||
<p>You can save this command into a <code>.sh</code> script file or make an
|
||||
alias. Do this similarly for a second instance with different data directory
|
||||
and port.</p>
|
||||
<h2>Can I use Dropbox / Google Drive / OneDrive to sync data across multiple computers.</h2>
|
||||
<p>No.</p>
|
||||
<p>These general purpose sync apps are not suitable to sync database files
|
||||
which are open and being worked on by another application. The result is
|
||||
that they will corrupt the database file, resulting in data loss and this
|
||||
message in the Trilium logs:</p><pre><code class="language-text-x-trilium-auto">SqliteError: database disk image is malformed</code></pre>
|
||||
<p>The only supported way to sync Trilium's data across the network is to
|
||||
use a <a href="#root/_help_cbkrhQjrkKrh">sync/web server</a>.</p>
|
||||
<h2>Why database instead of flat files?</h2>
|
||||
<p>Trilium stores notes in a <a href="#root/_help_wX4HbRucYSDD">database</a> which
|
||||
is an SQLite database. People often ask why doesn't Trilium rather use
|
||||
flat files for note storage - it's fair question since flat files are easily
|
||||
interoperable, work with SCM/git etc.</p>
|
||||
<p>Short answer is that file systems are simply not powerful enough for what
|
||||
we want to achieve with Trilium. Using filesystem would mean fewer features
|
||||
with probably more problems.</p>
|
||||
<p>More detailed answer:</p>
|
||||
<ul>
|
||||
<li><a href="#root/_help_IakOLONlIfGI">clones</a> are what you might call "hard
|
||||
directory link" in filesystem lingo, but this concept is not implemented
|
||||
in any filesystem</li>
|
||||
<li>filesystems make a distinction between directory and file while there's
|
||||
intentionally no such difference in Trilium</li>
|
||||
<li>files are stored in no particular order and user can't change this</li>
|
||||
<li>Trilium allows storing note <a href="#root/_help_zEY4DaJG4YT5">attributes</a> which
|
||||
could be represented in extended user attributes but their support differs
|
||||
greatly among different filesystems / operating systems</li>
|
||||
<li>Trilium makes links / relations between different notes which can be quickly
|
||||
retrieved / navigated (e.g. for <a href="#root/_help_BCkXAVs63Ttv">note map</a>).
|
||||
There's no such support in file systems which means these would have to
|
||||
be stored in some kind of side-car files (mini-databases).</li>
|
||||
<li>Filesystems are generally not transactional. While this is not completely
|
||||
required for a note-taking application, having transactions make it way
|
||||
easier to keep notes and their metadata in predictable and consistent state.</li>
|
||||
</ul>
|
||||
@@ -1,73 +1,53 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Backup</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Backup</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium supports simple backup scheme where it saves copy of the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a> on these events:</p>
|
||||
<ul>
|
||||
<li>once a day</li>
|
||||
<li>once a week</li>
|
||||
<li>once a month</li>
|
||||
<li>before DB migration to newer version</li>
|
||||
</ul>
|
||||
<p>So in total you'll have at most 4 backups from different points in time
|
||||
which should protect you from various problems. These backups are stored
|
||||
by default in <code>backup</code> directory placed in the <a href="#root/_help_tAassRL4RSQL">data directory</a>.</p>
|
||||
<p>This is only very basic backup solution, and you're encouraged to add
|
||||
some better backup solution - e.g. backing up the <a class="reference-link"
|
||||
href="#root/_help_wX4HbRucYSDD">Database</a> to cloud / different
|
||||
computer etc.</p>
|
||||
<p>Note that <a class="reference-link" href="#root/_help_cbkrhQjrkKrh">Synchronization</a> provides
|
||||
also some backup capabilities by its nature of distributing the data to
|
||||
other computers.</p>
|
||||
<h2>Restoring backup</h2>
|
||||
<p>Let's assume you want to restore the weekly backup, here's how to do it:</p>
|
||||
<ul>
|
||||
<li>find <a href="#root/_help_tAassRL4RSQL">data directory</a> Trilium uses
|
||||
- easy way is to open "About Trilium Notes" from "Menu" in upper left corner
|
||||
and looking at "data directory"
|
||||
<ul>
|
||||
<li>I'll refer to <code>~/trilium-data</code> as data directory from now on</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>find <code>~/trilium-data/backup/backup-weekly.db</code> - this is the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a> backup</li>
|
||||
<li>at this point stop/kill Trilium</li>
|
||||
<li>delete <code>~/trilium-data/document.db</code>, <code>~/trilium-data/document.db-wal</code> and <code>~/trilium-data/document.db-shm</code> (latter
|
||||
two files are auto generated)</li>
|
||||
<li>copy and rename this <code>~/trilium-data/backup/backup-weekly.db</code> to <code>~/trilium-data/document.db</code>
|
||||
</li>
|
||||
<li>make sure that the file is writable, e.g. with <code>chmod 600 document.db</code>
|
||||
</li>
|
||||
<li>start Trilium again</li>
|
||||
</ul>
|
||||
<p>If you have configured sync then you need to do it across all members
|
||||
of the sync cluster, otherwise older version (restored backup) of the document
|
||||
will be detected and synced to the newer version.</p>
|
||||
<h2>Disabling backup</h2>
|
||||
<p>Although this is not recommended, it is possible to disable backup in <code>config.ini</code> in
|
||||
the <a href="#root/_help_tAassRL4RSQL">data directory</a>:</p><pre><code class="language-text-x-trilium-auto">[General]
|
||||
<p>Trilium supports simple backup scheme where it saves copy of the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a> on these events:</p>
|
||||
<ul>
|
||||
<li>once a day</li>
|
||||
<li>once a week</li>
|
||||
<li>once a month</li>
|
||||
<li>before DB migration to newer version</li>
|
||||
</ul>
|
||||
<p>So in total you'll have at most 4 backups from different points in time
|
||||
which should protect you from various problems. These backups are stored
|
||||
by default in <code>backup</code> directory placed in the <a href="#root/_help_tAassRL4RSQL">data directory</a>.</p>
|
||||
<p>This is only very basic backup solution, and you're encouraged to add
|
||||
some better backup solution - e.g. backing up the <a class="reference-link"
|
||||
href="#root/_help_wX4HbRucYSDD">Database</a> to cloud / different
|
||||
computer etc.</p>
|
||||
<p>Note that <a class="reference-link" href="#root/_help_cbkrhQjrkKrh">Synchronization</a> provides
|
||||
also some backup capabilities by its nature of distributing the data to
|
||||
other computers.</p>
|
||||
<h2>Restoring backup</h2>
|
||||
<p>Let's assume you want to restore the weekly backup, here's how to do it:</p>
|
||||
<ul>
|
||||
<li>find <a href="#root/_help_tAassRL4RSQL">data directory</a> Trilium uses
|
||||
- easy way is to open "About Trilium Notes" from "Menu" in upper left corner
|
||||
and looking at "data directory"
|
||||
<ul>
|
||||
<li>I'll refer to <code>~/trilium-data</code> as data directory from now on</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>find <code>~/trilium-data/backup/backup-weekly.db</code> - this is the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a> backup</li>
|
||||
<li>at this point stop/kill Trilium</li>
|
||||
<li>delete <code>~/trilium-data/document.db</code>, <code>~/trilium-data/document.db-wal</code> and <code>~/trilium-data/document.db-shm</code> (latter
|
||||
two files are auto generated)</li>
|
||||
<li>copy and rename this <code>~/trilium-data/backup/backup-weekly.db</code> to <code>~/trilium-data/document.db</code>
|
||||
</li>
|
||||
<li>make sure that the file is writable, e.g. with <code>chmod 600 document.db</code>
|
||||
</li>
|
||||
<li>start Trilium again</li>
|
||||
</ul>
|
||||
<p>If you have configured sync then you need to do it across all members
|
||||
of the sync cluster, otherwise older version (restored backup) of the document
|
||||
will be detected and synced to the newer version.</p>
|
||||
<h2>Disabling backup</h2>
|
||||
<p>Although this is not recommended, it is possible to disable backup in <code>config.ini</code> in
|
||||
the <a href="#root/_help_tAassRL4RSQL">data directory</a>:</p><pre><code class="language-text-x-trilium-auto">[General]
|
||||
... some other configs
|
||||
# set to true to disable backups (e.g. because of limited space on server)
|
||||
noBackup=true</code></pre>
|
||||
<p>You can also review the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file
|
||||
to provide all <code>config.ini</code> values as environment variables instead.</p>
|
||||
<p>See <a href="https://github.com/TriliumNext/Notes/blob/master/config-sample.ini">sample config</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>You can also review the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file
|
||||
to provide all <code>config.ini</code> values as environment variables instead.</p>
|
||||
<p>See <a href="https://github.com/TriliumNext/Notes/blob/master/config-sample.ini">sample config</a>.</p>
|
||||
@@ -1,57 +1,42 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Data directory</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Data directory</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Data directory contains:</p>
|
||||
<ul>
|
||||
<li><code>document.db</code> - <a href="#root/_help_wX4HbRucYSDD">database</a>
|
||||
</li>
|
||||
<li><code>config.ini</code> - instance level settings like port on which the
|
||||
Trilium application runs</li>
|
||||
<li><code>backup</code> - contains automatically <a href="#root/_help_ODY7qQn5m2FT">backup</a> of
|
||||
documents</li>
|
||||
<li><code>log</code> - contains application log files</li>
|
||||
</ul>
|
||||
<h2>Location</h2>
|
||||
<p>Easy way how to find out which data directory Trilium uses is to look
|
||||
at the "About Trilium Notes" dialog (from "Menu" in upper left corner):</p>
|
||||
<p>
|
||||
<img src="Data directory_image.png">
|
||||
</p>
|
||||
<p>Here's how the location is decided:</p>
|
||||
<p>Data directory is normally named <code>trilium-data</code> and it is stored
|
||||
in:</p>
|
||||
<ul>
|
||||
<li><code>/home/[user]/.local/share</code> for Linux</li>
|
||||
<li><code>C:\Users\[user]\AppData\Roaming</code> for Windows Vista and up</li>
|
||||
<li><code>/Users/[user]/Library/Application Support</code> for Mac OS</li>
|
||||
<li>user's home is a fallback if some of the paths above don't exist</li>
|
||||
<li>user's home is also a default setup for [[docker|Docker server installation]]</li>
|
||||
</ul>
|
||||
<p>If you want to back up your Trilium data, just backup this single directory
|
||||
- it contains everything you need.</p>
|
||||
<h3>Changing the location of data directory</h3>
|
||||
<p>If you want to use some other location for the data directory than the
|
||||
default one, you may change it via TRILIUM_DATA_DIR environment variable
|
||||
to some other location:</p>
|
||||
<h4>Linux</h4><pre><code class="language-text-x-trilium-auto">export TRILIUM_DATA_DIR=/home/myuser/data/my-trilium-data</code></pre>
|
||||
<h4>Mac OS X</h4>
|
||||
<p>You need to create a <code>.plist</code> file under <code>~/Library/LaunchAgents</code> to
|
||||
load it properly each login.</p>
|
||||
<p>To load it manually, you need to use <code>launchctl setenv TRILIUM_DATA_DIR <yourpath></code>
|
||||
</p>
|
||||
<p>Here is a pre-defined template, where you just need to add your path to:</p><pre><code class="language-text-x-trilium-auto">
|
||||
<p>Data directory contains:</p>
|
||||
<ul>
|
||||
<li><code>document.db</code> - <a href="#root/_help_wX4HbRucYSDD">database</a>
|
||||
</li>
|
||||
<li><code>config.ini</code> - instance level settings like port on which the
|
||||
Trilium application runs</li>
|
||||
<li><code>backup</code> - contains automatically <a href="#root/_help_ODY7qQn5m2FT">backup</a> of
|
||||
documents</li>
|
||||
<li><code>log</code> - contains application log files</li>
|
||||
</ul>
|
||||
<h2>Location</h2>
|
||||
<p>Easy way how to find out which data directory Trilium uses is to look
|
||||
at the "About Trilium Notes" dialog (from "Menu" in upper left corner):</p>
|
||||
<p>
|
||||
<img src="Data directory_image.png">
|
||||
</p>
|
||||
<p>Here's how the location is decided:</p>
|
||||
<p>Data directory is normally named <code>trilium-data</code> and it is stored
|
||||
in:</p>
|
||||
<ul>
|
||||
<li><code>/home/[user]/.local/share</code> for Linux</li>
|
||||
<li><code>C:\Users\[user]\AppData\Roaming</code> for Windows Vista and up</li>
|
||||
<li><code>/Users/[user]/Library/Application Support</code> for Mac OS</li>
|
||||
<li>user's home is a fallback if some of the paths above don't exist</li>
|
||||
<li>user's home is also a default setup for [[docker|Docker server installation]]</li>
|
||||
</ul>
|
||||
<p>If you want to back up your Trilium data, just backup this single directory
|
||||
- it contains everything you need.</p>
|
||||
<h3>Changing the location of data directory</h3>
|
||||
<p>If you want to use some other location for the data directory than the
|
||||
default one, you may change it via TRILIUM_DATA_DIR environment variable
|
||||
to some other location:</p>
|
||||
<h4>Linux</h4><pre><code class="language-text-x-trilium-auto">export TRILIUM_DATA_DIR=/home/myuser/data/my-trilium-data</code></pre>
|
||||
<h4>Mac OS X</h4>
|
||||
<p>You need to create a <code>.plist</code> file under <code>~/Library/LaunchAgents</code> to
|
||||
load it properly each login.</p>
|
||||
<p>To load it manually, you need to use <code>launchctl setenv TRILIUM_DATA_DIR <yourpath></code>
|
||||
</p>
|
||||
<p>Here is a pre-defined template, where you just need to add your path to:</p><pre><code class="language-text-x-trilium-auto">
|
||||
|
||||
|
||||
|
||||
@@ -69,33 +54,28 @@
|
||||
|
||||
|
||||
</code></pre>
|
||||
<h3>Create a script to run with specific data directory</h3>
|
||||
<p>An alternative to globally setting environment variable is to run only
|
||||
the Trilium Notes with this environment variable. This then allows for
|
||||
different setup styles like two <a href="#root/_help_wX4HbRucYSDD">database</a> instances
|
||||
or "portable" installation.</p>
|
||||
<p>To do this in unix based systems simply run trilium like this:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_DATA_DIR=/home/myuser/data/my-trilium-data trilium</code></pre>
|
||||
<p>You can then save the above command as a shell script on your path for
|
||||
convenience.</p>
|
||||
<h3>Fine-grained directory/path location</h3>
|
||||
<p>It's possible to configure e.g. backup and log directories separately,
|
||||
with following environment variables:</p>
|
||||
<ul>
|
||||
<li><code>TRILIUM_DOCUMENT_PATH</code>
|
||||
</li>
|
||||
<li><code>TRILIUM_BACKUP_DIR</code>
|
||||
</li>
|
||||
<li><code>TRILIUM_LOG_DIR</code>
|
||||
</li>
|
||||
<li><code>TRILIUM_ANONYMIZED_DB_DIR</code>
|
||||
</li>
|
||||
<li><code>TRILIUM_CONFIG_INI_PATH</code>
|
||||
</li>
|
||||
</ul>
|
||||
<p>If these are not set, default paths within the data directory will be
|
||||
used.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h3>Create a script to run with specific data directory</h3>
|
||||
<p>An alternative to globally setting environment variable is to run only
|
||||
the Trilium Notes with this environment variable. This then allows for
|
||||
different setup styles like two <a href="#root/_help_wX4HbRucYSDD">database</a> instances
|
||||
or "portable" installation.</p>
|
||||
<p>To do this in unix based systems simply run trilium like this:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_DATA_DIR=/home/myuser/data/my-trilium-data trilium</code></pre>
|
||||
<p>You can then save the above command as a shell script on your path for
|
||||
convenience.</p>
|
||||
<h3>Fine-grained directory/path location</h3>
|
||||
<p>It's possible to configure e.g. backup and log directories separately,
|
||||
with following environment variables:</p>
|
||||
<ul>
|
||||
<li><code>TRILIUM_DOCUMENT_PATH</code>
|
||||
</li>
|
||||
<li><code>TRILIUM_BACKUP_DIR</code>
|
||||
</li>
|
||||
<li><code>TRILIUM_LOG_DIR</code>
|
||||
</li>
|
||||
<li><code>TRILIUM_ANONYMIZED_DB_DIR</code>
|
||||
</li>
|
||||
<li><code>TRILIUM_CONFIG_INI_PATH</code>
|
||||
</li>
|
||||
</ul>
|
||||
<p>If these are not set, default paths within the data directory will be
|
||||
used.</p>
|
||||
@@ -1,52 +1,32 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Desktop Installation</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Desktop Installation</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>To install Trilium on your desktop, follow these steps:</p>
|
||||
<ol>
|
||||
<li><strong>Download the Latest Release</strong>: Obtain the appropriate binary
|
||||
release for your operating system from the <a href="https://github.com/TriliumNext/Notes/releases/latest">latest release page</a> on
|
||||
GitHub.</li>
|
||||
<li><strong>Extract the Package</strong>: Unzip the downloaded package to
|
||||
a location of your choice.</li>
|
||||
<li><strong>Run the Application</strong>: Launch Trilium by executing the <code>trilium</code> executable
|
||||
found within the unzipped folder.</li>
|
||||
</ol>
|
||||
<h2>Startup Scripts</h2>
|
||||
<p>Trilium offers various startup scripts to customize your experience:</p>
|
||||
<ul>
|
||||
<li><code>trilium-no-cert-check</code>: Starts Trilium without validating
|
||||
<a
|
||||
href="#root/_help_l2VkvOwUNfZj">TLS certificates</a>, useful if connecting to a server with a self-signed
|
||||
certificate.
|
||||
<ul>
|
||||
<li>Alternatively, set the <code>NODE_TLS_REJECT_UNAUTHORIZED=0</code> environment
|
||||
variable before starting Trilium.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>trilium-portable</code>: Launches Trilium in portable mode, where
|
||||
the <a href="#root/_help_tAassRL4RSQL">data directory</a> is created within
|
||||
the application's directory, making it easy to move the entire setup.</li>
|
||||
<li><code>trilium-safe-mode</code>: Boots Trilium in "safe mode," disabling
|
||||
any startup scripts that might cause the application to crash.</li>
|
||||
</ul>
|
||||
<h2>Synchronization</h2>
|
||||
<p>For Trilium desktp users who wish to synchronize their data with a server
|
||||
instance, refer to the <a class="reference-link" href="#root/_help_cbkrhQjrkKrh">Synchronization</a> guide
|
||||
for detailed instructions.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>To install Trilium on your desktop, follow these steps:</p>
|
||||
<ol>
|
||||
<li><strong>Download the Latest Release</strong>: Obtain the appropriate binary
|
||||
release for your operating system from the <a href="https://github.com/TriliumNext/Notes/releases/latest">latest release page</a> on
|
||||
GitHub.</li>
|
||||
<li><strong>Extract the Package</strong>: Unzip the downloaded package to
|
||||
a location of your choice.</li>
|
||||
<li><strong>Run the Application</strong>: Launch Trilium by executing the <code>trilium</code> executable
|
||||
found within the unzipped folder.</li>
|
||||
</ol>
|
||||
<h2>Startup Scripts</h2>
|
||||
<p>Trilium offers various startup scripts to customize your experience:</p>
|
||||
<ul>
|
||||
<li><code>trilium-no-cert-check</code>: Starts Trilium without validating
|
||||
<a
|
||||
href="#root/_help_l2VkvOwUNfZj">TLS certificates</a>, useful if connecting to a server with a self-signed
|
||||
certificate.
|
||||
<ul>
|
||||
<li>Alternatively, set the <code>NODE_TLS_REJECT_UNAUTHORIZED=0</code> environment
|
||||
variable before starting Trilium.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>trilium-portable</code>: Launches Trilium in portable mode, where
|
||||
the <a href="#root/_help_tAassRL4RSQL">data directory</a> is created within
|
||||
the application's directory, making it easy to move the entire setup.</li>
|
||||
<li><code>trilium-safe-mode</code>: Boots Trilium in "safe mode," disabling
|
||||
any startup scripts that might cause the application to crash.</li>
|
||||
</ul>
|
||||
<h2>Synchronization</h2>
|
||||
<p>For Trilium desktp users who wish to synchronize their data with a server
|
||||
instance, refer to the <a class="reference-link" href="#root/_help_cbkrhQjrkKrh">Synchronization</a> guide
|
||||
for detailed instructions.</p>
|
||||
@@ -1,57 +1,37 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Mobile Frontend</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Mobile Frontend</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium (<a href="#root/_help_WOcw2SLH6tbX">server edition</a>) has a
|
||||
mobile web frontend which is optimized for touch based devices - smartphones
|
||||
and tablets. It is activated automatically during login process based on
|
||||
browser detection.</p>
|
||||
<p>Mobile frontend is limited in features compared to full desktop frontend.
|
||||
See below for more details on this.</p>
|
||||
<p>Note that this is not an Android/iOS app, this is just mobile friendly
|
||||
web page served on the <a href="#root/_help_WOcw2SLH6tbX">server edition</a>.</p>
|
||||
<h2>Screenshots</h2>
|
||||
<h3>Mobile phone</h3>
|
||||
<p>
|
||||
<img src="Mobile Frontend_mobile-sma.png">
|
||||
</p>
|
||||
<h3>Tablet</h3>
|
||||
<p>
|
||||
<img src="Mobile Frontend_mobile-tab.png">
|
||||
</p>
|
||||
<h2>Limitations</h2>
|
||||
<p>Mobile frontend provides only some of the features of the full desktop
|
||||
frontend:</p>
|
||||
<ul>
|
||||
<li>it is possible to browse the whole note tree, read and edit all types
|
||||
of notes, but you can create only text notes</li>
|
||||
<li>reading and editing <a href="#root/_help_bwg0e8ewQMak">protected notes</a> is
|
||||
possible, but creating them is not supported</li>
|
||||
<li>editing options is not supported</li>
|
||||
<li>cloning notes is not supported</li>
|
||||
<li>uploading file attachments is not supported</li>
|
||||
</ul>
|
||||
<h2>Forcing mobile/desktop frontend</h2>
|
||||
<p>Trilium decides automatically whether to use mobile or desktop frontend.
|
||||
If this is not appropriate, you can use <code>?mobile</code> or <code>?desktop</code> query
|
||||
param on <strong>login</strong> page (Note: you might need to log out).</p>
|
||||
<h2>Scripting</h2>
|
||||
<p>You can alter the behavior with <a href="#root/_help_CdNpE2pqjmI6">scripts</a> just
|
||||
like for normal frontend. For script notes to be executed, they need to
|
||||
have labeled <code>#run=mobileStartup</code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Trilium (<a href="#root/_help_WOcw2SLH6tbX">server edition</a>) has a
|
||||
mobile web frontend which is optimized for touch based devices - smartphones
|
||||
and tablets. It is activated automatically during login process based on
|
||||
browser detection.</p>
|
||||
<p>Mobile frontend is limited in features compared to full desktop frontend.
|
||||
See below for more details on this.</p>
|
||||
<p>Note that this is not an Android/iOS app, this is just mobile friendly
|
||||
web page served on the <a href="#root/_help_WOcw2SLH6tbX">server edition</a>.</p>
|
||||
<h2>Screenshots</h2>
|
||||
<h3>Mobile phone</h3>
|
||||
<p>
|
||||
<img src="Mobile Frontend_mobile-sma.png">
|
||||
</p>
|
||||
<h3>Tablet</h3>
|
||||
<p>
|
||||
<img src="Mobile Frontend_mobile-tab.png">
|
||||
</p>
|
||||
<h2>Limitations</h2>
|
||||
<p>Mobile frontend provides only some of the features of the full desktop
|
||||
frontend:</p>
|
||||
<ul>
|
||||
<li>it is possible to browse the whole note tree, read and edit all types
|
||||
of notes, but you can create only text notes</li>
|
||||
<li>reading and editing <a href="#root/_help_bwg0e8ewQMak">protected notes</a> is
|
||||
possible, but creating them is not supported</li>
|
||||
<li>editing options is not supported</li>
|
||||
<li>cloning notes is not supported</li>
|
||||
<li>uploading file attachments is not supported</li>
|
||||
</ul>
|
||||
<h2>Forcing mobile/desktop frontend</h2>
|
||||
<p>Trilium decides automatically whether to use mobile or desktop frontend.
|
||||
If this is not appropriate, you can use <code>?mobile</code> or <code>?desktop</code> query
|
||||
param on <strong>login</strong> page (Note: you might need to log out).</p>
|
||||
<h2>Scripting</h2>
|
||||
<p>You can alter the behavior with <a href="#root/_help_CdNpE2pqjmI6">scripts</a> just
|
||||
like for normal frontend. For script notes to be executed, they need to
|
||||
have labeled <code>#run=mobileStartup</code>.</p>
|
||||
@@ -1,67 +1,52 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Server Installation</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Server Installation</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>This guide outlines the steps to install Trilium on your own server. You
|
||||
might consider this option if you want to set up <a href="#root/_help_cbkrhQjrkKrh">synchronization</a> or
|
||||
use Trilium in a browser - accessible from anywhere.</p>
|
||||
<h2>Installation Options</h2>
|
||||
<p>There are several ways to install Trilium on a server, each with its own
|
||||
advantages:</p>
|
||||
<ul>
|
||||
<li><strong>Recommended</strong>: <a href="#root/_help_rWX5eY045zbE">Docker Installation</a> -
|
||||
Available for <strong>AMD64</strong> and <strong>ARM</strong> architectures.</li>
|
||||
<li><a href="#root/_help_3tW6mORuTHnB">Packaged Server Installation</a>
|
||||
</li>
|
||||
<li><a href="https://www.pikapods.com/pods?run=trilium-next">PikaPods managed hosting</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_J1Bb6lVlwU5T">Manual Installation</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_DCmT6e7clMoP">Kubernetes</a>
|
||||
</li>
|
||||
<li><a href="https://www.cloudron.io/store/com.github.trilium.cloudronapp.html">Cloudron</a>
|
||||
</li>
|
||||
<li><a href="https://homelabos.com/docs/software/trilium/">HomelabOS</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_moVgBcoxE3EK">NixOS Module</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>The server installation includes both web and <a href="#root/_help_RDslemsQ6gCp">mobile frontends</a>.</p>
|
||||
<h2>Configuration</h2>
|
||||
<p>After setting up your server installation, you may want to configure settings
|
||||
such as the port or enable <a href="#root/_help_l2VkvOwUNfZj">TLS</a>. Configuration
|
||||
is managed via the Trilium <code>config.ini</code> file, which is located
|
||||
in the <a href="#root/_help_tAassRL4RSQL">data directory</a> by default.
|
||||
To begin customizing your setup, copy the provided <code>config-sample.ini</code> file
|
||||
with default values to <code>config.ini</code>.</p>
|
||||
<p>You can also review the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file
|
||||
to provide all <code>config.ini</code> values as environment variables instead.</p>
|
||||
<h3>Config Location</h3>
|
||||
<p>By default, <code>config.ini</code>, the <a href="#root/_help_wX4HbRucYSDD">database</a>,
|
||||
and other important Trilium data files are stored in the <a href="#root/_help_tAassRL4RSQL">data directory</a>.
|
||||
If you prefer a different location, you can change it by setting the <code>TRILIUM_DATA_DIR</code> environment
|
||||
variable:</p><pre><code class="language-text-x-trilium-auto">export TRILIUM_DATA_DIR=/home/myuser/data/my-trilium-data</code></pre>
|
||||
<h3>Disabling Authentication</h3>
|
||||
<p>If you are running Trilium on localhost only or if authentication is handled
|
||||
by another component, you can disable Trilium’s authentication by adding
|
||||
the following to <code>config.ini</code>:</p><pre><code class="language-text-x-trilium-auto">[General]
|
||||
<p>This guide outlines the steps to install Trilium on your own server. You
|
||||
might consider this option if you want to set up <a href="#root/_help_cbkrhQjrkKrh">synchronization</a> or
|
||||
use Trilium in a browser - accessible from anywhere.</p>
|
||||
<h2>Installation Options</h2>
|
||||
<p>There are several ways to install Trilium on a server, each with its own
|
||||
advantages:</p>
|
||||
<ul>
|
||||
<li><strong>Recommended</strong>: <a href="#root/_help_rWX5eY045zbE">Docker Installation</a> -
|
||||
Available for <strong>AMD64</strong> and <strong>ARM</strong> architectures.</li>
|
||||
<li><a href="#root/_help_3tW6mORuTHnB">Packaged Server Installation</a>
|
||||
</li>
|
||||
<li><a href="https://www.pikapods.com/pods?run=trilium-next">PikaPods managed hosting</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_J1Bb6lVlwU5T">Manual Installation</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_DCmT6e7clMoP">Kubernetes</a>
|
||||
</li>
|
||||
<li><a href="https://www.cloudron.io/store/com.github.trilium.cloudronapp.html">Cloudron</a>
|
||||
</li>
|
||||
<li><a href="https://homelabos.com/docs/software/trilium/">HomelabOS</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_moVgBcoxE3EK">NixOS Module</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>The server installation includes both web and <a href="#root/_help_RDslemsQ6gCp">mobile frontends</a>.</p>
|
||||
<h2>Configuration</h2>
|
||||
<p>After setting up your server installation, you may want to configure settings
|
||||
such as the port or enable <a href="#root/_help_l2VkvOwUNfZj">TLS</a>. Configuration
|
||||
is managed via the Trilium <code>config.ini</code> file, which is located
|
||||
in the <a href="#root/_help_tAassRL4RSQL">data directory</a> by default.
|
||||
To begin customizing your setup, copy the provided <code>config-sample.ini</code> file
|
||||
with default values to <code>config.ini</code>.</p>
|
||||
<p>You can also review the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file
|
||||
to provide all <code>config.ini</code> values as environment variables instead.</p>
|
||||
<h3>Config Location</h3>
|
||||
<p>By default, <code>config.ini</code>, the <a href="#root/_help_wX4HbRucYSDD">database</a>,
|
||||
and other important Trilium data files are stored in the <a href="#root/_help_tAassRL4RSQL">data directory</a>.
|
||||
If you prefer a different location, you can change it by setting the <code>TRILIUM_DATA_DIR</code> environment
|
||||
variable:</p><pre><code class="language-text-x-trilium-auto">export TRILIUM_DATA_DIR=/home/myuser/data/my-trilium-data</code></pre>
|
||||
<h3>Disabling Authentication</h3>
|
||||
<p>If you are running Trilium on localhost only or if authentication is handled
|
||||
by another component, you can disable Trilium’s authentication by adding
|
||||
the following to <code>config.ini</code>:</p><pre><code class="language-text-x-trilium-auto">[General]
|
||||
noAuthentication=true</code></pre>
|
||||
<h2>Reverse Proxy Setup</h2>
|
||||
<p>To configure a reverse proxy for Trilium, you can use either <strong>nginx</strong> or <strong>Apache</strong>.</p>
|
||||
<h3>nginx</h3>
|
||||
<p>Add the following configuration to your <code>nginx</code> setup to proxy
|
||||
requests to Trilium:</p><pre><code class="language-text-x-trilium-auto">location /trilium/ {
|
||||
<h2>Reverse Proxy Setup</h2>
|
||||
<p>To configure a reverse proxy for Trilium, you can use either <strong>nginx</strong> or <strong>Apache</strong>.</p>
|
||||
<h3>nginx</h3>
|
||||
<p>Add the following configuration to your <code>nginx</code> setup to proxy
|
||||
requests to Trilium:</p><pre><code class="language-text-x-trilium-auto">location /trilium/ {
|
||||
proxy_pass http://127.0.0.1:8080/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
@@ -69,12 +54,7 @@ noAuthentication=true</code></pre>
|
||||
proxy_set_header Host $host;
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
}</code></pre>
|
||||
<p>To avoid limiting the size of payloads, include this in the <code>server {}</code> block:</p><pre><code class="language-text-x-trilium-auto"># Set to 0 for unlimited. Default is 1M.
|
||||
<p>To avoid limiting the size of payloads, include this in the <code>server {}</code> block:</p><pre><code class="language-text-x-trilium-auto"># Set to 0 for unlimited. Default is 1M.
|
||||
client_max_body_size 0;</code></pre>
|
||||
<h3>Apache</h3>
|
||||
<p>For an Apache setup, refer to the <a href="#root/_help_fDLvzOx29Pfg">Apache proxy setup</a> guide.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h3>Apache</h3>
|
||||
<p>For an Apache setup, refer to the <a href="#root/_help_fDLvzOx29Pfg">Apache proxy setup</a> guide.</p>
|
||||
@@ -1,42 +1,27 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Manually</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Manually</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<aside class="admonition warning">
|
||||
<p>This page describes manually installing Trilium on your server. <strong>Note that this is a not well supported way to install Trilium, problems may appear, information laid out here is quite out of date. It is recommended to use either</strong>
|
||||
<a
|
||||
class="reference-link" href="#root/_help_rWX5eY045zbE">Docker Server Installation</a> <strong>or</strong> <a class="reference-link"
|
||||
href="#root/_help_3tW6mORuTHnB">Packaged server installation</a><strong>.</strong>
|
||||
</p>
|
||||
</aside>
|
||||
<h2>Requirements</h2>
|
||||
<p>Trilium is a node.js application. Supported (tested) version of node.js
|
||||
is latest 14.X.X and 16.X.X. Trilium might work with older versions as
|
||||
well.</p>
|
||||
<p>You can check your node version with this command (node.js needs to be
|
||||
installed):</p><pre><code class="language-text-x-trilium-auto">node --version</code></pre>
|
||||
<p>If your Linux distribution has only an outdated version of node.js, you
|
||||
can take a look at the installation instruction on node.js website, which
|
||||
covers most popular distributions.</p>
|
||||
<h3>Dependencies</h3>
|
||||
<p>There are some dependencies required. You can see command for Debian and
|
||||
its derivatives (like Ubuntu) below:</p><pre><code class="language-text-x-trilium-auto">sudo apt install libpng16-16 libpng-dev pkg-config autoconf libtool build-essential nasm libx11-dev libxkbfile-dev</code></pre>
|
||||
<h2>Installation</h2>
|
||||
<h3>Download</h3>
|
||||
<p>You can either download source code zip/tar from <a href="https://github.com/TriliumNext/Notes/releases/latest">https://github.com/TriliumNext/Notes/releases/latest</a>.</p>
|
||||
<p>For the latest version including betas, clone Git repository <strong>from</strong> <code>master</code> <strong>branch</strong> with:</p><pre><code class="language-text-x-trilium-auto">git clone -b master https://github.com/triliumnext/notes.git</code></pre>
|
||||
<h2>Installation</h2><pre><code class="language-text-x-trilium-auto">cd trilium
|
||||
<aside class="admonition warning">
|
||||
<p>This page describes manually installing Trilium on your server. <strong>Note that this is a not well supported way to install Trilium, problems may appear, information laid out here is quite out of date. It is recommended to use either</strong>
|
||||
<a
|
||||
class="reference-link" href="#root/_help_rWX5eY045zbE">Docker Server Installation</a> <strong>or</strong> <a class="reference-link"
|
||||
href="#root/_help_3tW6mORuTHnB">Packaged server installation</a><strong>.</strong>
|
||||
</p>
|
||||
</aside>
|
||||
<h2>Requirements</h2>
|
||||
<p>Trilium is a node.js application. Supported (tested) version of node.js
|
||||
is latest 14.X.X and 16.X.X. Trilium might work with older versions as
|
||||
well.</p>
|
||||
<p>You can check your node version with this command (node.js needs to be
|
||||
installed):</p><pre><code class="language-text-x-trilium-auto">node --version</code></pre>
|
||||
<p>If your Linux distribution has only an outdated version of node.js, you
|
||||
can take a look at the installation instruction on node.js website, which
|
||||
covers most popular distributions.</p>
|
||||
<h3>Dependencies</h3>
|
||||
<p>There are some dependencies required. You can see command for Debian and
|
||||
its derivatives (like Ubuntu) below:</p><pre><code class="language-text-x-trilium-auto">sudo apt install libpng16-16 libpng-dev pkg-config autoconf libtool build-essential nasm libx11-dev libxkbfile-dev</code></pre>
|
||||
<h2>Installation</h2>
|
||||
<h3>Download</h3>
|
||||
<p>You can either download source code zip/tar from <a href="https://github.com/TriliumNext/Notes/releases/latest">https://github.com/TriliumNext/Notes/releases/latest</a>.</p>
|
||||
<p>For the latest version including betas, clone Git repository <strong>from</strong> <code>master</code> <strong>branch</strong> with:</p><pre><code class="language-text-x-trilium-auto">git clone -b master https://github.com/triliumnext/notes.git</code></pre>
|
||||
<h2>Installation</h2><pre><code class="language-text-x-trilium-auto">cd trilium
|
||||
|
||||
# download all node dependencies
|
||||
npm install
|
||||
@@ -46,18 +31,13 @@ npm rebuild
|
||||
|
||||
# bundles & minifies frontend JavaScript
|
||||
npm run webpack</code></pre>
|
||||
<h2>Run</h2><pre><code class="language-text-x-trilium-auto">cd trilium
|
||||
<h2>Run</h2><pre><code class="language-text-x-trilium-auto">cd trilium
|
||||
|
||||
# using nohup to make sure trilium keeps running after user logs out
|
||||
nohup TRILIUM_ENV=dev node src/www &</code></pre>
|
||||
<p>The application by default starts up on port 8080, so you can open your
|
||||
browser and navigate to <a href="http://localhost:8080">http://localhost:8080</a> to
|
||||
access Trilium (replace "localhost" with your hostname).</p>
|
||||
<h2>TLS</h2>
|
||||
<p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a> which
|
||||
is required for secure usage!</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>The application by default starts up on port 8080, so you can open your
|
||||
browser and navigate to <a href="http://localhost:8080">http://localhost:8080</a> to
|
||||
access Trilium (replace "localhost" with your hostname).</p>
|
||||
<h2>TLS</h2>
|
||||
<p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a> which
|
||||
is required for secure usage!</p>
|
||||
@@ -1,45 +1,25 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Multiple server instances</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Multiple server instances</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium does not support multiple users. In order to have two or more
|
||||
persons with their own set of notes, multiple server instances must be
|
||||
set up. It is also not possible to use multiple <a href="#root/_help_cbkrhQjrkKrh">sync</a> servers.</p>
|
||||
<p>To allow multiple server instances on a single physical server:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>For <a class="reference-link" href="#root/_help_3tW6mORuTHnB">Packaged version for Linux</a> or
|
||||
<a
|
||||
class="reference-link" href="#root/_help_J1Bb6lVlwU5T">Manually</a>, if starting the server manually just specify a different
|
||||
port and data directory per instance:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_NETWORK_PORT=8080 TRILIUM_DATA_DIR=/path/to/your/data-dir-A /opt/trilium/trilium.sh</code></pre>
|
||||
<p>For a second instance:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_NETWORK_PORT=8081 TRILIUM_DATA_DIR=/path/to/your/data-dir-B /opt/trilium/trilium.sh</code></pre>
|
||||
<p>If using <code>systemd</code>, then set the <a href="https://serverfault.com/questions/413397/how-to-set-environment-variable-in-systemd-service">environment variables in the service configuration</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For <a class="reference-link" href="#root/_help_rWX5eY045zbE">Using Docker</a>,
|
||||
simply use two different containers, each with their own port binding and
|
||||
data directory.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For <a class="reference-link" href="#root/_help_moVgBcoxE3EK">On NixOS</a>,
|
||||
the only possible way is to use Docker OCI containers or at least one NixOS
|
||||
container with its own service definition.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>For support or additional context, see the related <a href="https://github.com/orgs/TriliumNext/discussions/1642#discussioncomment-12768808">GitHub Discussion</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Trilium does not support multiple users. In order to have two or more
|
||||
persons with their own set of notes, multiple server instances must be
|
||||
set up. It is also not possible to use multiple <a href="#root/_help_cbkrhQjrkKrh">sync</a> servers.</p>
|
||||
<p>To allow multiple server instances on a single physical server:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>For <a class="reference-link" href="#root/_help_3tW6mORuTHnB">Packaged version for Linux</a> or
|
||||
<a
|
||||
class="reference-link" href="#root/_help_J1Bb6lVlwU5T">Manually</a>, if starting the server manually just specify a different
|
||||
port and data directory per instance:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_NETWORK_PORT=8080 TRILIUM_DATA_DIR=/path/to/your/data-dir-A /opt/trilium/trilium.sh</code></pre>
|
||||
<p>For a second instance:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_NETWORK_PORT=8081 TRILIUM_DATA_DIR=/path/to/your/data-dir-B /opt/trilium/trilium.sh</code></pre>
|
||||
<p>If using <code>systemd</code>, then set the <a href="https://serverfault.com/questions/413397/how-to-set-environment-variable-in-systemd-service">environment variables in the service configuration</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For <a class="reference-link" href="#root/_help_rWX5eY045zbE">Using Docker</a>,
|
||||
simply use two different containers, each with their own port binding and
|
||||
data directory.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For <a class="reference-link" href="#root/_help_moVgBcoxE3EK">On NixOS</a>,
|
||||
the only possible way is to use Docker OCI containers or at least one NixOS
|
||||
container with its own service definition.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>For support or additional context, see the related <a href="https://github.com/orgs/TriliumNext/discussions/1642#discussioncomment-12768808">GitHub Discussion</a>.</p>
|
||||
@@ -1,23 +1,8 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>On NixOS</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>On NixOS</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>This page describes configuring the Trilium module included in NixOS.</p>
|
||||
<h2>Requirements</h2>
|
||||
<p><a href="https://nixos.org/">NixOS</a> installation.</p>
|
||||
<h2>Configuration</h2>
|
||||
<p>Add this to your <code>configuration.nix</code>:</p><pre><code class="language-text-x-trilium-auto">services.trilium-server.enable = true;
|
||||
<p>This page describes configuring the Trilium module included in NixOS.</p>
|
||||
<h2>Requirements</h2>
|
||||
<p><a href="https://nixos.org/">NixOS</a> installation.</p>
|
||||
<h2>Configuration</h2>
|
||||
<p>Add this to your <code>configuration.nix</code>:</p><pre><code class="language-text-x-trilium-auto">services.trilium-server.enable = true;
|
||||
|
||||
# default data directory: /var/lib/trilium
|
||||
#services.trilium-server.dataDir = "/var/lib/trilium-sync-server";
|
||||
@@ -25,11 +10,6 @@
|
||||
# default bind address: 127.0.0.1, port 8080
|
||||
#services.trilium-server.host = "0.0.0.0";
|
||||
#services.trilium-server.port = 12783;</code></pre>
|
||||
<p>Uncomment any option you would like to change.</p>
|
||||
<p>See the <a href="https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=trilium-server">NixOS options list</a> for
|
||||
more options (including nginx reverse proxy configuration).</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Uncomment any option you would like to change.</p>
|
||||
<p>See the <a href="https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=trilium-server">NixOS options list</a> for
|
||||
more options (including nginx reverse proxy configuration).</p>
|
||||
@@ -1,52 +1,37 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Packaged version for Linux</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Packaged version for Linux</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>This is essentially Trilium sources + node modules + node.js runtime packaged
|
||||
into one 7z file.</p>
|
||||
<h2>Steps</h2>
|
||||
<ul>
|
||||
<li>SSH into your server</li>
|
||||
<li>use <code>wget</code> (or <code>curl</code>) to download latest <code>TriliumNextNotes-Server-[VERSION]-linux-x64.tar.xz</code> (notice <code>-Server</code> suffix)
|
||||
on your server.</li>
|
||||
<li>unpack the archive, e.g. using <code>tar -xf -d TriliumNextNotes-Server-[VERSION]-linux-x64.tar.xz</code>
|
||||
</li>
|
||||
<li><code>cd trilium-linux-x64-server</code>
|
||||
</li>
|
||||
<li><code>./trilium.sh</code>
|
||||
</li>
|
||||
<li>you can open the browser and open http://[your-server-hostname]:8080 and
|
||||
you should see Trilium initialization page</li>
|
||||
</ul>
|
||||
<p>The problem with above steps is that once you close the SSH connection,
|
||||
the Trilium process is terminated. To avoid that, you have two options:</p>
|
||||
<ul>
|
||||
<li>Kill it (with e.g. <kbd>Ctrl</kbd> + <kbd>C</kbd>) and run again like this: <code>nohup ./trilium &</code>.</li>
|
||||
<li>Configure systemd to automatically run Trilium in the background on every
|
||||
boot</li>
|
||||
</ul>
|
||||
<h2>Configure Trilium to auto-run on boot with systemd</h2>
|
||||
<ul>
|
||||
<li>After downloading, extract and move Trilium:</li>
|
||||
</ul><pre><code class="language-text-x-trilium-auto">tar -xvf TriliumNextNotes-Server-[VERSION]-linux-x64.tar.xz
|
||||
<p>This is essentially Trilium sources + node modules + node.js runtime packaged
|
||||
into one 7z file.</p>
|
||||
<h2>Steps</h2>
|
||||
<ul>
|
||||
<li>SSH into your server</li>
|
||||
<li>use <code>wget</code> (or <code>curl</code>) to download latest <code>TriliumNextNotes-Server-[VERSION]-linux-x64.tar.xz</code> (notice <code>-Server</code> suffix)
|
||||
on your server.</li>
|
||||
<li>unpack the archive, e.g. using <code>tar -xf -d TriliumNextNotes-Server-[VERSION]-linux-x64.tar.xz</code>
|
||||
</li>
|
||||
<li><code>cd trilium-linux-x64-server</code>
|
||||
</li>
|
||||
<li><code>./trilium.sh</code>
|
||||
</li>
|
||||
<li>you can open the browser and open http://[your-server-hostname]:8080 and
|
||||
you should see Trilium initialization page</li>
|
||||
</ul>
|
||||
<p>The problem with above steps is that once you close the SSH connection,
|
||||
the Trilium process is terminated. To avoid that, you have two options:</p>
|
||||
<ul>
|
||||
<li>Kill it (with e.g. <kbd>Ctrl</kbd> + <kbd>C</kbd>) and run again like this: <code>nohup ./trilium &</code>.</li>
|
||||
<li>Configure systemd to automatically run Trilium in the background on every
|
||||
boot</li>
|
||||
</ul>
|
||||
<h2>Configure Trilium to auto-run on boot with systemd</h2>
|
||||
<ul>
|
||||
<li>After downloading, extract and move Trilium:</li>
|
||||
</ul><pre><code class="language-text-x-trilium-auto">tar -xvf TriliumNextNotes-Server-[VERSION]-linux-x64.tar.xz
|
||||
sudo mv trilium-linux-x64-server /opt/trilium</code></pre>
|
||||
<ul>
|
||||
<li>Create the service:</li>
|
||||
</ul><pre><code class="language-text-x-trilium-auto">sudo nano /etc/systemd/system/trilium.service</code></pre>
|
||||
<ul>
|
||||
<li>Paste this into the file (replace the user and group as needed):</li>
|
||||
</ul><pre><code class="language-text-x-trilium-auto">[Unit]
|
||||
<ul>
|
||||
<li>Create the service:</li>
|
||||
</ul><pre><code class="language-text-x-trilium-auto">sudo nano /etc/systemd/system/trilium.service</code></pre>
|
||||
<ul>
|
||||
<li>Paste this into the file (replace the user and group as needed):</li>
|
||||
</ul><pre><code class="language-text-x-trilium-auto">[Unit]
|
||||
Description=Trilium Daemon
|
||||
After=syslog.target network.target
|
||||
|
||||
@@ -63,26 +48,21 @@ Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target</code></pre>
|
||||
<ul>
|
||||
<li>Save the file (CTRL-S) and exit (CTRL-X)</li>
|
||||
<li>Enable and launch the service:</li>
|
||||
</ul><pre><code class="language-text-x-trilium-auto">sudo systemctl enable --now -q trilium</code></pre>
|
||||
<ul>
|
||||
<li>You can now open a browser to http://[your-server-hostname]:8080 and you
|
||||
should see the Trilium initialization page.</li>
|
||||
</ul>
|
||||
<h2>Common issues</h2>
|
||||
<h3>Outdated glibc</h3><pre><code class="language-text-x-trilium-auto">Error: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /var/www/virtual/.../node_modules/@mlink/scrypt/build/Release/scrypt.node)
|
||||
<ul>
|
||||
<li>Save the file (CTRL-S) and exit (CTRL-X)</li>
|
||||
<li>Enable and launch the service:</li>
|
||||
</ul><pre><code class="language-text-x-trilium-auto">sudo systemctl enable --now -q trilium</code></pre>
|
||||
<ul>
|
||||
<li>You can now open a browser to http://[your-server-hostname]:8080 and you
|
||||
should see the Trilium initialization page.</li>
|
||||
</ul>
|
||||
<h2>Common issues</h2>
|
||||
<h3>Outdated glibc</h3><pre><code class="language-text-x-trilium-auto">Error: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /var/www/virtual/.../node_modules/@mlink/scrypt/build/Release/scrypt.node)
|
||||
at Object.Module._extensions..node (module.js:681:18)
|
||||
at Module.load (module.js:565:32)
|
||||
at tryModuleLoad (module.js:505:12)</code></pre>
|
||||
<p>If you get an error like this, you need to either upgrade your glibc (typically
|
||||
by upgrading to up-to-date distribution version) or use some other <a href="#root/_help_WOcw2SLH6tbX">server installation</a> method.</p>
|
||||
<h2>TLS</h2>
|
||||
<p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a>, which
|
||||
is required for secure usage!</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>If you get an error like this, you need to either upgrade your glibc (typically
|
||||
by upgrading to up-to-date distribution version) or use some other <a href="#root/_help_WOcw2SLH6tbX">server installation</a> method.</p>
|
||||
<h2>TLS</h2>
|
||||
<p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a>, which
|
||||
is required for secure usage!</p>
|
||||
@@ -1,99 +1,79 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Using Docker</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Using Docker</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Official docker images are published on docker hub for <strong>AMD64</strong>, <strong>ARMv7</strong> and <strong>ARM64/v8</strong>:
|
||||
<a
|
||||
href="https://hub.docker.com/r/triliumnext/notes/">https://hub.docker.com/r/triliumnext/notes/</a>
|
||||
</p>
|
||||
<h2>Prerequisites</h2>
|
||||
<p>Ensure Docker is installed on your system.</p>
|
||||
<p>If you need help installing Docker, reference the <a href="https://docs.docker.com/engine/install/">Docker Installation Docs</a>
|
||||
</p>
|
||||
<p><strong>Note:</strong> Trilium's Docker container requires root privileges
|
||||
to operate correctly.</p>
|
||||
<aside class="admonition warning">
|
||||
<p>If you're using a SMB/CIFS share or folder as your Trilium data directory,
|
||||
<a
|
||||
href="https://github.com/TriliumNext/Notes/issues/415#issuecomment-2344824400">you'll need</a>to add the mount options of <code>nobrl</code> and <code>noperm</code> when
|
||||
mounting your SMB share.</p>
|
||||
</aside>
|
||||
<h2>Running with Docker Compose</h2>
|
||||
<h3>Grab the latest docker-compose.yml:</h3><pre><code class="language-text-x-trilium-auto">wget https://raw.githubusercontent.com/TriliumNext/Notes/master/docker-compose.yml</code></pre>
|
||||
<p>Optionally, edit the <code>docker-compose.yml</code> file to configure the
|
||||
container settings prior to starting it. Unless configured otherwise, the
|
||||
data directory will be <code>~/trilium-data</code> and the container will
|
||||
be accessible at port 8080.</p>
|
||||
<h3>Start the container:</h3>
|
||||
<p>Run the following command to start the container in the background:</p><pre><code class="language-text-x-trilium-auto">docker compose up -d</code></pre>
|
||||
<h2>Running without Docker Compose / Further Configuration</h2>
|
||||
<h3>Pulling the Docker Image</h3>
|
||||
<p>To pull the image, use the following command, replacing <code>[VERSION]</code> with
|
||||
the desired version or tag, such as <code>v0.91.6</code> or just <code>latest</code>.
|
||||
(See published tag names at <a href="https://hub.docker.com/r/triliumnext/notes/tags">https://hub.docker.com/r/triliumnext/notes/tags</a>.):</p><pre><code class="language-text-x-trilium-auto">docker pull triliumnext/notes:v0.91.6</code></pre>
|
||||
<p><strong>Warning:</strong> Avoid using the "latest" tag, as it may automatically
|
||||
upgrade your instance to a new minor version, potentially disrupting sync
|
||||
setups or causing other issues.</p>
|
||||
<h3>Preparing the Data Directory</h3>
|
||||
<p>Trilium requires a directory on the host system to store its data. This
|
||||
directory must be mounted into the Docker container with write permissions.</p>
|
||||
<h3>Running the Docker Container</h3>
|
||||
<h4>Local Access Only</h4>
|
||||
<p>Run the container to make it accessible only from the localhost. This
|
||||
setup is suitable for testing or when using a prox ay server like Nginx
|
||||
or Apache.</p><pre><code class="language-text-x-trilium-auto">sudo docker run -t -i -p 127.0.0.1:8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:[VERSION]</code></pre>
|
||||
<ol>
|
||||
<li>Verify the container is running using <code>docker ps</code>.</li>
|
||||
<li>Access Trilium via a web browser at <code>127.0.0.1:8080</code>.</li>
|
||||
</ol>
|
||||
<h4>Local Network Access</h4>
|
||||
<p>To make the container accessible only on your local network, first create
|
||||
a new Docker network:</p><pre><code class="language-text-x-trilium-auto">docker network create -d macvlan -o parent=eth0 --subnet 192.168.2.0/24 --gateway 192.168.2.254 --ip-range 192.168.2.252/27 mynet</code></pre>
|
||||
<p>Then, run the container with the network settings:</p><pre><code class="language-text-x-trilium-auto">docker run --net=mynet -d -p 127.0.0.1:8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:-latest</code></pre>
|
||||
<p>To set a different user ID (UID) and group ID (GID) for the saved data,
|
||||
use the <code>USER_UID</code> and <code>USER_GID</code> environment variables:</p><pre><code class="language-text-x-trilium-auto">docker run --net=mynet -d -p 127.0.0.1:8080:8080 -e "USER_UID=1001" -e "USER_GID=1001" -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:-latest</code></pre>
|
||||
<p>Find the local IP address using <code>docker inspect [container_name]</code> and
|
||||
access the service from devices on the local network.</p><pre><code class="language-text-x-trilium-auto">docker ps
|
||||
<p>Official docker images are published on docker hub for <strong>AMD64</strong>, <strong>ARMv7</strong> and <strong>ARM64/v8</strong>:
|
||||
<a
|
||||
href="https://hub.docker.com/r/triliumnext/notes/">https://hub.docker.com/r/triliumnext/notes/</a>
|
||||
</p>
|
||||
<h2>Prerequisites</h2>
|
||||
<p>Ensure Docker is installed on your system.</p>
|
||||
<p>If you need help installing Docker, reference the <a href="https://docs.docker.com/engine/install/">Docker Installation Docs</a>
|
||||
</p>
|
||||
<p><strong>Note:</strong> Trilium's Docker container requires root privileges
|
||||
to operate correctly.</p>
|
||||
<aside class="admonition warning">
|
||||
<p>If you're using a SMB/CIFS share or folder as your Trilium data directory,
|
||||
<a
|
||||
href="https://github.com/TriliumNext/Notes/issues/415#issuecomment-2344824400">you'll need</a>to add the mount options of <code>nobrl</code> and <code>noperm</code> when
|
||||
mounting your SMB share.</p>
|
||||
</aside>
|
||||
<h2>Running with Docker Compose</h2>
|
||||
<h3>Grab the latest docker-compose.yml:</h3><pre><code class="language-text-x-trilium-auto">wget https://raw.githubusercontent.com/TriliumNext/Notes/master/docker-compose.yml</code></pre>
|
||||
<p>Optionally, edit the <code>docker-compose.yml</code> file to configure the
|
||||
container settings prior to starting it. Unless configured otherwise, the
|
||||
data directory will be <code>~/trilium-data</code> and the container will
|
||||
be accessible at port 8080.</p>
|
||||
<h3>Start the container:</h3>
|
||||
<p>Run the following command to start the container in the background:</p><pre><code class="language-text-x-trilium-auto">docker compose up -d</code></pre>
|
||||
<h2>Running without Docker Compose / Further Configuration</h2>
|
||||
<h3>Pulling the Docker Image</h3>
|
||||
<p>To pull the image, use the following command, replacing <code>[VERSION]</code> with
|
||||
the desired version or tag, such as <code>v0.91.6</code> or just <code>latest</code>.
|
||||
(See published tag names at <a href="https://hub.docker.com/r/triliumnext/notes/tags">https://hub.docker.com/r/triliumnext/notes/tags</a>.):</p><pre><code class="language-text-x-trilium-auto">docker pull triliumnext/notes:v0.91.6</code></pre>
|
||||
<p><strong>Warning:</strong> Avoid using the "latest" tag, as it may automatically
|
||||
upgrade your instance to a new minor version, potentially disrupting sync
|
||||
setups or causing other issues.</p>
|
||||
<h3>Preparing the Data Directory</h3>
|
||||
<p>Trilium requires a directory on the host system to store its data. This
|
||||
directory must be mounted into the Docker container with write permissions.</p>
|
||||
<h3>Running the Docker Container</h3>
|
||||
<h4>Local Access Only</h4>
|
||||
<p>Run the container to make it accessible only from the localhost. This
|
||||
setup is suitable for testing or when using a prox ay server like Nginx
|
||||
or Apache.</p><pre><code class="language-text-x-trilium-auto">sudo docker run -t -i -p 127.0.0.1:8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:[VERSION]</code></pre>
|
||||
<ol>
|
||||
<li>Verify the container is running using <code>docker ps</code>.</li>
|
||||
<li>Access Trilium via a web browser at <code>127.0.0.1:8080</code>.</li>
|
||||
</ol>
|
||||
<h4>Local Network Access</h4>
|
||||
<p>To make the container accessible only on your local network, first create
|
||||
a new Docker network:</p><pre><code class="language-text-x-trilium-auto">docker network create -d macvlan -o parent=eth0 --subnet 192.168.2.0/24 --gateway 192.168.2.254 --ip-range 192.168.2.252/27 mynet</code></pre>
|
||||
<p>Then, run the container with the network settings:</p><pre><code class="language-text-x-trilium-auto">docker run --net=mynet -d -p 127.0.0.1:8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:-latest</code></pre>
|
||||
<p>To set a different user ID (UID) and group ID (GID) for the saved data,
|
||||
use the <code>USER_UID</code> and <code>USER_GID</code> environment variables:</p><pre><code class="language-text-x-trilium-auto">docker run --net=mynet -d -p 127.0.0.1:8080:8080 -e "USER_UID=1001" -e "USER_GID=1001" -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:-latest</code></pre>
|
||||
<p>Find the local IP address using <code>docker inspect [container_name]</code> and
|
||||
access the service from devices on the local network.</p><pre><code class="language-text-x-trilium-auto">docker ps
|
||||
docker inspect [container_name]</code></pre>
|
||||
<h4>Global Access</h4>
|
||||
<p>To allow access from any IP address, run the container as follows:</p><pre><code class="language-text-x-trilium-auto">docker run -d -p 0.0.0.0:8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:[VERSION]</code></pre>
|
||||
<p>Stop the container with <code>docker stop <CONTAINER ID></code>,
|
||||
where the container ID is obtained from <code>docker ps</code>.</p>
|
||||
<h3>Custom Data Directory</h3>
|
||||
<p>For a custom data directory, use:</p><pre><code class="language-text-x-trilium-auto">-v ~/YourOwnDirectory:/home/node/trilium-data triliumnext/notes:[VERSION]</code></pre>
|
||||
<p>If you want to run your instance in a non-default way, please use the
|
||||
volume switch as follows: <code>-v ~/YourOwnDirectory:/home/node/trilium-data triliumnext/notes:<VERSION></code>.
|
||||
It is important to be aware of how Docker works for volumes, with the first
|
||||
path being your own and the second the one to virtually bind to. <a href="https://docs.docker.com/storage/volumes/">https://docs.docker.com/storage/volumes/</a> The
|
||||
path before the colon is the host directory, and the path after the colon
|
||||
is the container's path. More details can be found in the <a href="https://docs.docker.com/storage/volumes/">Docker Volumes Documentation</a>.</p>
|
||||
<h2>Reverse Proxy</h2>
|
||||
<ol>
|
||||
<li><a href="#root/_help_ud6MShXL4WpO">Nginx</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_fDLvzOx29Pfg">Apache</a>
|
||||
</li>
|
||||
</ol>
|
||||
<h3>Note on --user Directive</h3>
|
||||
<p>The <code>--user</code> directive is unsupported. Instead, use the <code>USER_UID</code> and <code>USER_GID</code> environment
|
||||
variables to set the appropriate user and group IDs.</p>
|
||||
<h3>Note on timezones</h3>
|
||||
<p>If you are having timezone issues and you are not using docker-compose,
|
||||
you may need to add a <code>TZ</code> environment variable with the <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">TZ identifier</a> of
|
||||
your local timezone.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h4>Global Access</h4>
|
||||
<p>To allow access from any IP address, run the container as follows:</p><pre><code class="language-text-x-trilium-auto">docker run -d -p 0.0.0.0:8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:[VERSION]</code></pre>
|
||||
<p>Stop the container with <code>docker stop <CONTAINER ID></code>,
|
||||
where the container ID is obtained from <code>docker ps</code>.</p>
|
||||
<h3>Custom Data Directory</h3>
|
||||
<p>For a custom data directory, use:</p><pre><code class="language-text-x-trilium-auto">-v ~/YourOwnDirectory:/home/node/trilium-data triliumnext/notes:[VERSION]</code></pre>
|
||||
<p>If you want to run your instance in a non-default way, please use the
|
||||
volume switch as follows: <code>-v ~/YourOwnDirectory:/home/node/trilium-data triliumnext/notes:<VERSION></code>.
|
||||
It is important to be aware of how Docker works for volumes, with the first
|
||||
path being your own and the second the one to virtually bind to. <a href="https://docs.docker.com/storage/volumes/">https://docs.docker.com/storage/volumes/</a> The
|
||||
path before the colon is the host directory, and the path after the colon
|
||||
is the container's path. More details can be found in the <a href="https://docs.docker.com/storage/volumes/">Docker Volumes Documentation</a>.</p>
|
||||
<h2>Reverse Proxy</h2>
|
||||
<ol>
|
||||
<li><a href="#root/_help_ud6MShXL4WpO">Nginx</a>
|
||||
</li>
|
||||
<li><a href="#root/_help_fDLvzOx29Pfg">Apache</a>
|
||||
</li>
|
||||
</ol>
|
||||
<h3>Note on --user Directive</h3>
|
||||
<p>The <code>--user</code> directive is unsupported. Instead, use the <code>USER_UID</code> and <code>USER_GID</code> environment
|
||||
variables to set the appropriate user and group IDs.</p>
|
||||
<h3>Note on timezones</h3>
|
||||
<p>If you are having timezone issues and you are not using docker-compose,
|
||||
you may need to add a <code>TZ</code> environment variable with the <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">TZ identifier</a> of
|
||||
your local timezone.</p>
|
||||
@@ -1,53 +1,33 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Using Kubernetes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Using Kubernetes</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>As Trilium can be run in Docker it also can be deployed in Kubernetes.
|
||||
You can either use our Helm chart, a community Helm chart, or roll your
|
||||
own Kubernetes deployment.</p>
|
||||
<p>The recommended way is to use a Helm chart.</p>
|
||||
<h2>Root privileges</h2>
|
||||
<aside class="admonition note">
|
||||
<p>The Trilium container at this time needs to be run with root privileges.
|
||||
It will swap to UID and GID <code>1000:1000</code> to run the <code>node</code> process
|
||||
after execution though, so the main process doesn't run with root privileges.</p>
|
||||
</aside>
|
||||
<p>The Trilium docker container needs to be run with root privileges. The
|
||||
node process inside the container will be started with reduced privileges
|
||||
(uid:gid 1000:1000) after some initialization logic. Please make sure that
|
||||
you don't use a security context (PodSecurityContext) which changes the
|
||||
user ID. To use a different uid:gid for file storage and the application,
|
||||
please use the <code>USER_UID</code> & <code>USER_GID</code> environment
|
||||
variables.</p>
|
||||
<p>The docker image will also fix the permissions of <code>/home/node</code> so
|
||||
you don't have to use an init container.</p>
|
||||
<h2>Helm Charts</h2>
|
||||
<p><a href="https://github.com/TriliumNext/helm-charts">Official Helm chart</a> from
|
||||
TriliumNext Unofficial helm chart by <a href="https://github.com/ohdearaugustin">ohdearaugustin</a>:
|
||||
<a
|
||||
href="https://github.com/ohdearaugustin/charts">https://github.com/ohdearaugustin/charts</a>
|
||||
</p>
|
||||
<h2>Adding a Helm repository</h2>
|
||||
<p>Below is an example of how</p><pre><code class="language-text-x-trilium-auto">helm repo add trilium https://triliumnext.github.io/helm-charts
|
||||
<p>As Trilium can be run in Docker it also can be deployed in Kubernetes.
|
||||
You can either use our Helm chart, a community Helm chart, or roll your
|
||||
own Kubernetes deployment.</p>
|
||||
<p>The recommended way is to use a Helm chart.</p>
|
||||
<h2>Root privileges</h2>
|
||||
<aside class="admonition note">
|
||||
<p>The Trilium container at this time needs to be run with root privileges.
|
||||
It will swap to UID and GID <code>1000:1000</code> to run the <code>node</code> process
|
||||
after execution though, so the main process doesn't run with root privileges.</p>
|
||||
</aside>
|
||||
<p>The Trilium docker container needs to be run with root privileges. The
|
||||
node process inside the container will be started with reduced privileges
|
||||
(uid:gid 1000:1000) after some initialization logic. Please make sure that
|
||||
you don't use a security context (PodSecurityContext) which changes the
|
||||
user ID. To use a different uid:gid for file storage and the application,
|
||||
please use the <code>USER_UID</code> & <code>USER_GID</code> environment
|
||||
variables.</p>
|
||||
<p>The docker image will also fix the permissions of <code>/home/node</code> so
|
||||
you don't have to use an init container.</p>
|
||||
<h2>Helm Charts</h2>
|
||||
<p><a href="https://github.com/TriliumNext/helm-charts">Official Helm chart</a> from
|
||||
TriliumNext Unofficial helm chart by <a href="https://github.com/ohdearaugustin">ohdearaugustin</a>:
|
||||
<a
|
||||
href="https://github.com/ohdearaugustin/charts">https://github.com/ohdearaugustin/charts</a>
|
||||
</p>
|
||||
<h2>Adding a Helm repository</h2>
|
||||
<p>Below is an example of how</p><pre><code class="language-text-x-trilium-auto">helm repo add trilium https://triliumnext.github.io/helm-charts
|
||||
"trilium" has been added to your repositories</code></pre>
|
||||
<h2>How to install a chart</h2>
|
||||
<p>After reviewing the <a href="https://github.com/TriliumNext/helm-charts/blob/main/charts/trilium/values.yaml"><code>values.yaml</code></a> from
|
||||
the Helm chart, modifying as required and then creating your own:</p><pre><code class="language-text-x-trilium-auto">helm install --create-namespace --namespace trilium trilium trilium/trilium -f values.yaml</code></pre>
|
||||
<p>For more information on using Helm, please refer to the Helm documentation,
|
||||
or create a Discussion in the TriliumNext GitHub Organization.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h2>How to install a chart</h2>
|
||||
<p>After reviewing the <a href="https://github.com/TriliumNext/helm-charts/blob/main/charts/trilium/values.yaml"><code>values.yaml</code></a> from
|
||||
the Helm chart, modifying as required and then creating your own:</p><pre><code class="language-text-x-trilium-auto">helm install --create-namespace --namespace trilium trilium trilium/trilium -f values.yaml</code></pre>
|
||||
<p>For more information on using Helm, please refer to the Helm documentation,
|
||||
or create a Discussion in the TriliumNext GitHub Organization.</p>
|
||||
@@ -1,43 +1,28 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Apache</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Apache</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>I've assumed you have created a DNS A record for <code>trilium.yourdomain.com</code> that
|
||||
you want to use for your Trilium server.</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Download docker image and create container</p><pre><code class="language-text-x-trilium-auto"> docker pull triliumnext/notes:[VERSION]
|
||||
<p>I've assumed you have created a DNS A record for <code>trilium.yourdomain.com</code> that
|
||||
you want to use for your Trilium server.</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Download docker image and create container</p><pre><code class="language-text-x-trilium-auto"> docker pull triliumnext/notes:[VERSION]
|
||||
docker create --name trilium -t -p 127.0.0.1:8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/notes:[VERSION]</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
<p>Configure Apache proxy and websocket proxy</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Enable apache proxy modules</p><pre><code class="language-text-x-trilium-auto"> a2enmod ssl
|
||||
</li>
|
||||
<li>
|
||||
<p>Configure Apache proxy and websocket proxy</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Enable apache proxy modules</p><pre><code class="language-text-x-trilium-auto"> a2enmod ssl
|
||||
a2enmod proxy
|
||||
a2enmod proxy_http
|
||||
a2enmod proxy_wstunnel</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
<p>Create a new let's encrypt certificate</p><pre><code class="language-text-x-trilium-auto"> sudo certbot certonly -d trilium.mydomain.com</code></pre>
|
||||
<p>Choose standalone (2) and note the location of the created certificates
|
||||
(typically /etc/letsencrypt/live/...)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Create a new virtual host file for apache (you may want to use <code>apachectl -S</code> to
|
||||
determine the server root location, mine is /etc/apache2)</p><pre><code class="language-text-x-trilium-auto"> sudo nano /etc/apache2/sites-available/trilium.yourdomain.com.conf</code></pre>
|
||||
<p>Paste (and customize) the following text into the configuration file</p><pre><code class="language-text-x-trilium-auto">
|
||||
</li>
|
||||
<li>
|
||||
<p>Create a new let's encrypt certificate</p><pre><code class="language-text-x-trilium-auto"> sudo certbot certonly -d trilium.mydomain.com</code></pre>
|
||||
<p>Choose standalone (2) and note the location of the created certificates
|
||||
(typically /etc/letsencrypt/live/...)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Create a new virtual host file for apache (you may want to use <code>apachectl -S</code> to
|
||||
determine the server root location, mine is /etc/apache2)</p><pre><code class="language-text-x-trilium-auto"> sudo nano /etc/apache2/sites-available/trilium.yourdomain.com.conf</code></pre>
|
||||
<p>Paste (and customize) the following text into the configuration file</p><pre><code class="language-text-x-trilium-auto">
|
||||
ServerName http://trilium.yourdomain.com
|
||||
RewriteEngine on
|
||||
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
|
||||
@@ -55,23 +40,23 @@
|
||||
SSLCertificateKeyFile /etc/letsencrypt/live/trilium.yourdomain.com/privkey.pem
|
||||
Include /etc/letsencrypt/options-ssl-apache.conf
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
<p>Enable the virtual host with <code>sudo a2ensite trilium.yourdomain.com.conf</code>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Reload apache2 with <code>sudo systemctl reload apache2</code>
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<p>Create and enable a systemd service to start the docker container on boot</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Create a new empty file called <code>/lib/systemd/system/trilium.service</code> with
|
||||
the contents</p><pre><code class="language-text-x-trilium-auto"> [Unit]
|
||||
</li>
|
||||
<li>
|
||||
<p>Enable the virtual host with <code>sudo a2ensite trilium.yourdomain.com.conf</code>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Reload apache2 with <code>sudo systemctl reload apache2</code>
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<p>Create and enable a systemd service to start the docker container on boot</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Create a new empty file called <code>/lib/systemd/system/trilium.service</code> with
|
||||
the contents</p><pre><code class="language-text-x-trilium-auto"> [Unit]
|
||||
Description=Trilium Server
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
@@ -83,17 +68,12 @@
|
||||
|
||||
[Install]
|
||||
WantedBy=local.target</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
<p>Install, enable and start service</p><pre><code class="language-text-x-trilium-auto"> sudo systemctl daemon-reload
|
||||
</li>
|
||||
<li>
|
||||
<p>Install, enable and start service</p><pre><code class="language-text-x-trilium-auto"> sudo systemctl daemon-reload
|
||||
sudo systemctl enable trilium.service
|
||||
sudo systemctl start trilium.service</code></pre>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
@@ -1,31 +1,16 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Nginx</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Nginx</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Configure Nginx proxy and HTTPS. The operating system here is Ubuntu 18.04.</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Download Nginx and remove Apache2</p><pre><code class="language-text-x-trilium-auto">sudo apt-get install nginx
|
||||
<p>Configure Nginx proxy and HTTPS. The operating system here is Ubuntu 18.04.</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Download Nginx and remove Apache2</p><pre><code class="language-text-x-trilium-auto">sudo apt-get install nginx
|
||||
sudo apt-get remove apache2</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
<p>Create configure file</p><pre><code class="language-text-x-trilium-auto">cd /etc/nginx/conf.d
|
||||
</li>
|
||||
<li>
|
||||
<p>Create configure file</p><pre><code class="language-text-x-trilium-auto">cd /etc/nginx/conf.d
|
||||
vim default.conf</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
<p>Fill the file with the context shown below, part of the setting show be
|
||||
changed. Then you can enjoy your web with HTTPS forced and proxy.</p><pre><code class="language-text-x-trilium-auto"># This part is for proxy and HTTPS configure
|
||||
</li>
|
||||
<li>
|
||||
<p>Fill the file with the context shown below, part of the setting show be
|
||||
changed. Then you can enjoy your web with HTTPS forced and proxy.</p><pre><code class="language-text-x-trilium-auto"># This part is for proxy and HTTPS configure
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name trilium.example.net; #change trilium.example.net to your domain without HTTPS or HTTP.
|
||||
@@ -55,10 +40,5 @@ server {
|
||||
server_name trilium.example.net; # change to your domain
|
||||
return 301 https://$server_name$request_uri;
|
||||
}</code></pre>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</li>
|
||||
</ol>
|
||||
@@ -1,106 +1,86 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Multi-Factor Authentication</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Multi-Factor Authentication</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p><strong>Note: This feature has not been merged yet, so it is not available.</strong>
|
||||
</p>
|
||||
<p>Multi-factor authentication (MFA) is a security process that requires
|
||||
users to provide two or more verification factors to gain access to a system,
|
||||
application, or account. This adds an extra layer of protection beyond
|
||||
just using a password.</p>
|
||||
<p>By requiring more than one verification method, MFA helps reduce the risk
|
||||
of unauthorized access, even if someone has obtained your password. It’s
|
||||
highly recommended for securing sensitive information stored in your notes.</p>
|
||||
<p>Warning! OpenID and TOTP cannot be both used at the same time!</p>
|
||||
<h2>Log in with your Google Account with OpenID!</h2>
|
||||
<p>OpenID is a standardized way to let you log into websites using an account
|
||||
from another service, like Google, to verify your identity.</p>
|
||||
<h2>Why Time-based One Time Passwords?</h2>
|
||||
<p>TOTP (Time-Based One-Time Password) is a security feature that generates
|
||||
a unique, temporary code on your device, like a smartphone, which changes
|
||||
every 30 seconds. You use this code, along with your password, to log into
|
||||
your account, making it much harder for anyone else to access them.</p>
|
||||
<h2>Setup</h2>
|
||||
<h3>TOTP</h3>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Start Trilium Notes normally.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Go to "Menu" -> "Options" -> "MFA"</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Click the "Generate TOTP Secret" button</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Copy the generated secret to your authentication app/extension</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Set an environment variable "TOTP_SECRET" as the generated secret. Environment
|
||||
variables can be set with a .env file in the root directory, by defining
|
||||
them in the command line, or with a docker container.</p><pre><code class="language-text-x-trilium-auto"># .env in the project root directory
|
||||
<p><strong>Note: This feature has not been merged yet, so it is not available.</strong>
|
||||
</p>
|
||||
<p>Multi-factor authentication (MFA) is a security process that requires
|
||||
users to provide two or more verification factors to gain access to a system,
|
||||
application, or account. This adds an extra layer of protection beyond
|
||||
just using a password.</p>
|
||||
<p>By requiring more than one verification method, MFA helps reduce the risk
|
||||
of unauthorized access, even if someone has obtained your password. It’s
|
||||
highly recommended for securing sensitive information stored in your notes.</p>
|
||||
<p>Warning! OpenID and TOTP cannot be both used at the same time!</p>
|
||||
<h2>Log in with your Google Account with OpenID!</h2>
|
||||
<p>OpenID is a standardized way to let you log into websites using an account
|
||||
from another service, like Google, to verify your identity.</p>
|
||||
<h2>Why Time-based One Time Passwords?</h2>
|
||||
<p>TOTP (Time-Based One-Time Password) is a security feature that generates
|
||||
a unique, temporary code on your device, like a smartphone, which changes
|
||||
every 30 seconds. You use this code, along with your password, to log into
|
||||
your account, making it much harder for anyone else to access them.</p>
|
||||
<h2>Setup</h2>
|
||||
<h3>TOTP</h3>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Start Trilium Notes normally.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Go to "Menu" -> "Options" -> "MFA"</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Click the "Generate TOTP Secret" button</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Copy the generated secret to your authentication app/extension</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Set an environment variable "TOTP_SECRET" as the generated secret. Environment
|
||||
variables can be set with a .env file in the root directory, by defining
|
||||
them in the command line, or with a docker container.</p><pre><code class="language-text-x-trilium-auto"># .env in the project root directory
|
||||
TOTP_ENABLED="true"
|
||||
TOTP_SECRET="secret"</code></pre><pre><code class="language-text-x-trilium-auto"># Terminal/CLI
|
||||
export TOTP_ENABLED="true"
|
||||
export TOTP_SECRET="secret"</code></pre><pre><code class="language-text-x-trilium-auto"># Docker
|
||||
docker run -p 8080:8080 -v ~/trilium-data:/home/node/trilium-data -e TOTP_ENABLED="true" -e TOTP_SECRET="secret" triliumnext/notes:[VERSION]</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
<p>Restart Trilium</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Go to "Options" -> "MFA"</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Click the "Generate Recovery Codes" button</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Save the recovery codes. Recovery codes can be used once in place of the
|
||||
TOTP if you loose access to your authenticator. After a rerecovery code
|
||||
is used, it will show the unix timestamp when it was used in the MFA options
|
||||
tab.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Load the secret into an authentication app like google authenticator</p>
|
||||
</li>
|
||||
</ol>
|
||||
<h3>OpenID</h3>
|
||||
<p><em>Currently only compatible with Google. Other services like Authentik and Auth0 are planned on being added.</em>
|
||||
</p>
|
||||
<p>In order to setup OpenID, you will need to setup a authentication provider.
|
||||
This requires a bit of extra setup. Follow <a href="https://developers.google.com/identity/openid-connect/openid-connect">these instructions</a> to
|
||||
setup an OpenID service through google.</p>
|
||||
<p>Set an environment variable "SSO_ENABLED" to true and add the client ID
|
||||
and secret you obtained from google. Environment variables can be set with
|
||||
a .env file in the root directory, by defining them in the command line,
|
||||
or with a docker container.</p>
|
||||
<h4>.env File</h4><pre><code class="language-text-x-trilium-auto"># .env in the project root directory
|
||||
</li>
|
||||
<li>
|
||||
<p>Restart Trilium</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Go to "Options" -> "MFA"</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Click the "Generate Recovery Codes" button</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Save the recovery codes. Recovery codes can be used once in place of the
|
||||
TOTP if you loose access to your authenticator. After a rerecovery code
|
||||
is used, it will show the unix timestamp when it was used in the MFA options
|
||||
tab.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Load the secret into an authentication app like google authenticator</p>
|
||||
</li>
|
||||
</ol>
|
||||
<h3>OpenID</h3>
|
||||
<p><em>Currently only compatible with Google. Other services like Authentik and Auth0 are planned on being added.</em>
|
||||
</p>
|
||||
<p>In order to setup OpenID, you will need to setup a authentication provider.
|
||||
This requires a bit of extra setup. Follow <a href="https://developers.google.com/identity/openid-connect/openid-connect">these instructions</a> to
|
||||
setup an OpenID service through google.</p>
|
||||
<p>Set an environment variable "SSO_ENABLED" to true and add the client ID
|
||||
and secret you obtained from google. Environment variables can be set with
|
||||
a .env file in the root directory, by defining them in the command line,
|
||||
or with a docker container.</p>
|
||||
<h4>.env File</h4><pre><code class="language-text-x-trilium-auto"># .env in the project root directory
|
||||
SSO_ENABLED="true"
|
||||
BASE_URL="http://localhost:8080"
|
||||
CLIENT_ID=
|
||||
SECRET=</code></pre>
|
||||
<h4>Environment variable (linux)</h4><pre><code class="language-text-x-trilium-auto">export SSO_ENABLED="true"
|
||||
<h4>Environment variable (linux)</h4><pre><code class="language-text-x-trilium-auto">export SSO_ENABLED="true"
|
||||
export BASE_URL="http://localhost:8080"
|
||||
export CLIENT_ID=
|
||||
export SECRET=</code></pre>
|
||||
<h4>Docker</h4><pre><code class="language-text-x-trilium-auto">docker run -d -p 8080:8080 -v ~/trilium-data:/home/node/trilium-data -e SSO_ENABLED="true" -e BASE_URL="http://localhost:8080" -e CLIENT_ID= -e SECRET= triliumnext/notes:[VERSION]</code></pre>
|
||||
<p>After you restart Trilium Notes, you will be redirected to Google's account
|
||||
selection page. Login to an account and Trilium Next will bind to that
|
||||
account, allowing you to login with it.</p>
|
||||
<p>You can now login using your google account.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<h4>Docker</h4><pre><code class="language-text-x-trilium-auto">docker run -d -p 8080:8080 -v ~/trilium-data:/home/node/trilium-data -e SSO_ENABLED="true" -e BASE_URL="http://localhost:8080" -e CLIENT_ID= -e SECRET= triliumnext/notes:[VERSION]</code></pre>
|
||||
<p>After you restart Trilium Notes, you will be redirected to Google's account
|
||||
selection page. Login to an account and Trilium Next will bind to that
|
||||
account, allowing you to login with it.</p>
|
||||
<p>You can now login using your google account.</p>
|
||||
@@ -1,38 +1,23 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>TLS Configuration</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>TLS Configuration</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Configuring TLS is essential for <a href="#root/_help_WOcw2SLH6tbX">server installation</a> in
|
||||
Trilium. This guide details the steps to set up TLS within Trilium itself.</p>
|
||||
<p>For a more robust solution, consider using TLS termination with a reverse
|
||||
proxy (recommended, e.g., Nginx). You can follow a <a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04">guide like this</a> for
|
||||
such setups.</p>
|
||||
<h2>Obtaining a TLS Certificate</h2>
|
||||
<p>You have two options for obtaining a TLS certificate:</p>
|
||||
<ul>
|
||||
<li><strong>Recommended</strong>: Obtain a TLS certificate signed by a root
|
||||
certificate authority. For personal use, <a href="https://letsencrypt.org">Let's Encrypt</a> is
|
||||
an excellent choice. It is free, automated, and straightforward. Certbot
|
||||
can facilitate automatic TLS setup.</li>
|
||||
<li>Generate a self-signed certificate. This option is not recommended due
|
||||
to the additional complexity of importing the certificate into all machines
|
||||
connecting to the server.</li>
|
||||
</ul>
|
||||
<h2>Modifying <code>config.ini</code></h2>
|
||||
<p>Once you have your certificate, modify the <code>config.ini</code> file
|
||||
in the <a href="#root/_help_tAassRL4RSQL">data directory</a> to configure
|
||||
Trilium to use it:</p><pre><code class="language-text-x-trilium-auto">[Network]
|
||||
<p>Configuring TLS is essential for <a href="#root/_help_WOcw2SLH6tbX">server installation</a> in
|
||||
Trilium. This guide details the steps to set up TLS within Trilium itself.</p>
|
||||
<p>For a more robust solution, consider using TLS termination with a reverse
|
||||
proxy (recommended, e.g., Nginx). You can follow a <a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04">guide like this</a> for
|
||||
such setups.</p>
|
||||
<h2>Obtaining a TLS Certificate</h2>
|
||||
<p>You have two options for obtaining a TLS certificate:</p>
|
||||
<ul>
|
||||
<li><strong>Recommended</strong>: Obtain a TLS certificate signed by a root
|
||||
certificate authority. For personal use, <a href="https://letsencrypt.org">Let's Encrypt</a> is
|
||||
an excellent choice. It is free, automated, and straightforward. Certbot
|
||||
can facilitate automatic TLS setup.</li>
|
||||
<li>Generate a self-signed certificate. This option is not recommended due
|
||||
to the additional complexity of importing the certificate into all machines
|
||||
connecting to the server.</li>
|
||||
</ul>
|
||||
<h2>Modifying <code>config.ini</code></h2>
|
||||
<p>Once you have your certificate, modify the <code>config.ini</code> file
|
||||
in the <a href="#root/_help_tAassRL4RSQL">data directory</a> to configure
|
||||
Trilium to use it:</p><pre><code class="language-text-x-trilium-auto">[Network]
|
||||
port=8080
|
||||
# Set to true for TLS/SSL/HTTPS (secure), false for HTTP (insecure).
|
||||
https=true
|
||||
@@ -40,26 +25,21 @@ https=true
|
||||
# Relevant only if https=true
|
||||
certPath=/[username]/.acme.sh/[hostname]/fullchain.cer
|
||||
keyPath=/[username]/.acme.sh/[hostname]/example.com.key</code></pre>
|
||||
<p>You can also review the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file
|
||||
to provide all <code>config.ini</code> values as environment variables instead.</p>
|
||||
<p>The above example shows how this is set up in an environment where the
|
||||
certificate was generated using Let's Encrypt's ACME utility. Your paths
|
||||
may differ. For Docker installations, ensure these paths are within a volume
|
||||
or another directory accessible by the Docker container, such as <code>/home/node/trilium-data/[DIR IN DATA DIRECTORY]</code>.</p>
|
||||
<p>After configuring <code>config.ini</code>, restart Trilium and access the
|
||||
hostname using "https".</p>
|
||||
<h2>Self-Signed Certificate</h2>
|
||||
<p>If you opt to use a self-signed certificate for your server instance,
|
||||
note that the desktop instance will not trust it by default.</p>
|
||||
<p>To bypass this, disable certificate validation by setting the following
|
||||
environment variable (for Linux):</p><pre><code class="language-text-x-trilium-auto">export NODE_TLS_REJECT_UNAUTHORIZED=0
|
||||
<p>You can also review the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file
|
||||
to provide all <code>config.ini</code> values as environment variables instead.</p>
|
||||
<p>The above example shows how this is set up in an environment where the
|
||||
certificate was generated using Let's Encrypt's ACME utility. Your paths
|
||||
may differ. For Docker installations, ensure these paths are within a volume
|
||||
or another directory accessible by the Docker container, such as <code>/home/node/trilium-data/[DIR IN DATA DIRECTORY]</code>.</p>
|
||||
<p>After configuring <code>config.ini</code>, restart Trilium and access the
|
||||
hostname using "https".</p>
|
||||
<h2>Self-Signed Certificate</h2>
|
||||
<p>If you opt to use a self-signed certificate for your server instance,
|
||||
note that the desktop instance will not trust it by default.</p>
|
||||
<p>To bypass this, disable certificate validation by setting the following
|
||||
environment variable (for Linux):</p><pre><code class="language-text-x-trilium-auto">export NODE_TLS_REJECT_UNAUTHORIZED=0
|
||||
trilium</code></pre>
|
||||
<p>Trilium provides scripts to start in this mode, such as <code>trilium-no-cert-check.bat</code> for
|
||||
Windows.</p>
|
||||
<p><strong>Warning</strong>: Disabling TLS certificate validation is insecure.
|
||||
Proceed only if you fully understand the implications.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Trilium provides scripts to start in this mode, such as <code>trilium-no-cert-check.bat</code> for
|
||||
Windows.</p>
|
||||
<p><strong>Warning</strong>: Disabling TLS certificate validation is insecure.
|
||||
Proceed only if you fully understand the implications.</p>
|
||||
@@ -1,110 +1,90 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Synchronization</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Synchronization</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Trilium is an offline-first note-taking application that stores all data
|
||||
locally on the desktop client. However, it also offers the option to set
|
||||
up synchronization with a server instance, allowing multiple desktop clients
|
||||
to sync with a central server. This creates a star-shaped topology:</p>
|
||||
<p>
|
||||
<img src="Synchronization_image.png">
|
||||
</p>
|
||||
<p>In this setup, a central server (referred to as the <em>sync server</em>)
|
||||
and multiple <em>client</em> (or <em>desktop</em>) instances synchronize with
|
||||
the sync server. Once configured, synchronization is automatic and ongoing,
|
||||
requiring no manual intervention.</p>
|
||||
<h2>Setting Up Synchronization</h2>
|
||||
<h3>Security Considerations</h3>
|
||||
<p>Setting up the server securely is critical and can be complex. It is crucial
|
||||
to use a valid <a href="#root/_help_l2VkvOwUNfZj">TLS certificate</a> (HTTPS)
|
||||
rather than an unencrypted HTTP connection to ensure security and avoid
|
||||
potential vulnerabilities.</p>
|
||||
<h3>Synchronizing a Desktop Instance with a Sync Server</h3>
|
||||
<p>This method is used when you already have a desktop instance of Trilium
|
||||
and want to set up a sync server on your web host.</p>
|
||||
<ol>
|
||||
<li><strong>Server Deployment</strong>: Ensure your server instance is deployed
|
||||
but uninitialized.</li>
|
||||
<li><strong>Desktop Configuration</strong>: 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.</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img src="Synchronization_sync-confi.png" alt="screenshot of the sync settings options modal">
|
||||
</p>
|
||||
<ol>
|
||||
<li><strong>Testing Sync</strong>: 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.</li>
|
||||
</ol>
|
||||
<h3>Synchronizing a Desktop Instance from a Sync Server</h3>
|
||||
<p>This method is used when you already have a sync server and want to configure
|
||||
a new desktop instance to sync with it.</p>
|
||||
<ol>
|
||||
<li><strong>Desktop Setup</strong>: Follow the <a href="#root/_help_poXkQfguuA0U">desktop installation page</a>.</li>
|
||||
<li><strong>Initial Configuration</strong>: When prompted, choose the option
|
||||
to set up sync with a sync server.</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img src="Synchronization_sync-init.png" alt="screenshot of the sync from server setup page">
|
||||
</p>
|
||||
<ol>
|
||||
<li><strong>Server Details</strong>: Configure the Trilium server address
|
||||
and enter the correct username and password for authentication.</li>
|
||||
<li><strong>Finish Setup</strong>: Click the "Finish setup" button. If successful,
|
||||
you will see the following screen:</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img src="Synchronization_sync-in-pr.png" alt="screenshot of the sync page">
|
||||
</p>
|
||||
<p>Once synchronization is complete, you will be automatically redirected
|
||||
to the Trilium application.</p>
|
||||
<h2>Proxy Configuration</h2>
|
||||
<p>Two proxy setups are supported:</p>
|
||||
<ul>
|
||||
<li><strong>Explicit Proxy Configuration</strong>: Set the proxy server in
|
||||
Options / Sync. Only unauthenticated proxy servers are supported.</li>
|
||||
<li><strong>System Proxy Settings</strong>: If no proxy server is explicitly
|
||||
configured, Trilium will use the system proxy settings.</li>
|
||||
</ul>
|
||||
<h2>Troubleshooting</h2>
|
||||
<h3>Date/Time Synchronization</h3>
|
||||
<p>For successful synchronization, both client and server must have the same
|
||||
date and time, with a tolerance of up to five minutes.</p>
|
||||
<h3>Certificate Issues</h3>
|
||||
<p>When using TLS, Trilium will verify the server certificate. If verification
|
||||
fails (e.g., due to self-signed certificates or certain corporate proxies),
|
||||
you can run the Trilium client with the <code>NODE_TLS_REJECT_UNAUTHORIZED</code> environment
|
||||
variable set to <code>0</code>:</p><pre><code class="language-text-x-trilium-auto">export NODE_TLS_REJECT_UNAUTHORIZED=0</code></pre>
|
||||
<p>This will disable TLS certificate verification, significantly reducing
|
||||
security and exposing the setup to MITM attacks. It is strongly recommended
|
||||
to use a valid signed server certificate. Newer Trilium versions include
|
||||
a script called <code>trilium-no-cert-check.sh</code> for this purpose.</p>
|
||||
<h3>Conflict Resolution</h3>
|
||||
<p>If you edit the same note on multiple instances before synchronization,
|
||||
Trilium resolves conflicts by retaining the newer change and discarding
|
||||
the older one. The older version remains accessible in <a href="#root/_help_vZWERwf8U3nx">note revisions</a>,
|
||||
allowing data recovery if needed.</p>
|
||||
<h3>Hash Check</h3>
|
||||
<p>After each synchronization, Trilium computes a hash of all synced data
|
||||
on both the client and the sync server. If there is a discrepancy, Trilium
|
||||
will automatically initiate a recovery mechanism to resolve the issue.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Trilium is an offline-first note-taking application that stores all data
|
||||
locally on the desktop client. However, it also offers the option to set
|
||||
up synchronization with a server instance, allowing multiple desktop clients
|
||||
to sync with a central server. This creates a star-shaped topology:</p>
|
||||
<p>
|
||||
<img src="Synchronization_image.png">
|
||||
</p>
|
||||
<p>In this setup, a central server (referred to as the <em>sync server</em>)
|
||||
and multiple <em>client</em> (or <em>desktop</em>) instances synchronize with
|
||||
the sync server. Once configured, synchronization is automatic and ongoing,
|
||||
requiring no manual intervention.</p>
|
||||
<h2>Setting Up Synchronization</h2>
|
||||
<h3>Security Considerations</h3>
|
||||
<p>Setting up the server securely is critical and can be complex. It is crucial
|
||||
to use a valid <a href="#root/_help_l2VkvOwUNfZj">TLS certificate</a> (HTTPS)
|
||||
rather than an unencrypted HTTP connection to ensure security and avoid
|
||||
potential vulnerabilities.</p>
|
||||
<h3>Synchronizing a Desktop Instance with a Sync Server</h3>
|
||||
<p>This method is used when you already have a desktop instance of Trilium
|
||||
and want to set up a sync server on your web host.</p>
|
||||
<ol>
|
||||
<li><strong>Server Deployment</strong>: Ensure your server instance is deployed
|
||||
but uninitialized.</li>
|
||||
<li><strong>Desktop Configuration</strong>: 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.</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img src="Synchronization_sync-confi.png" alt="screenshot of the sync settings options modal">
|
||||
</p>
|
||||
<ol>
|
||||
<li><strong>Testing Sync</strong>: 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.</li>
|
||||
</ol>
|
||||
<h3>Synchronizing a Desktop Instance from a Sync Server</h3>
|
||||
<p>This method is used when you already have a sync server and want to configure
|
||||
a new desktop instance to sync with it.</p>
|
||||
<ol>
|
||||
<li><strong>Desktop Setup</strong>: Follow the <a href="#root/_help_poXkQfguuA0U">desktop installation page</a>.</li>
|
||||
<li><strong>Initial Configuration</strong>: When prompted, choose the option
|
||||
to set up sync with a sync server.</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img src="Synchronization_sync-init.png" alt="screenshot of the sync from server setup page">
|
||||
</p>
|
||||
<ol>
|
||||
<li><strong>Server Details</strong>: Configure the Trilium server address
|
||||
and enter the correct username and password for authentication.</li>
|
||||
<li><strong>Finish Setup</strong>: Click the "Finish setup" button. If successful,
|
||||
you will see the following screen:</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img src="Synchronization_sync-in-pr.png" alt="screenshot of the sync page">
|
||||
</p>
|
||||
<p>Once synchronization is complete, you will be automatically redirected
|
||||
to the Trilium application.</p>
|
||||
<h2>Proxy Configuration</h2>
|
||||
<p>Two proxy setups are supported:</p>
|
||||
<ul>
|
||||
<li><strong>Explicit Proxy Configuration</strong>: Set the proxy server in
|
||||
Options / Sync. Only unauthenticated proxy servers are supported.</li>
|
||||
<li><strong>System Proxy Settings</strong>: If no proxy server is explicitly
|
||||
configured, Trilium will use the system proxy settings.</li>
|
||||
</ul>
|
||||
<h2>Troubleshooting</h2>
|
||||
<h3>Date/Time Synchronization</h3>
|
||||
<p>For successful synchronization, both client and server must have the same
|
||||
date and time, with a tolerance of up to five minutes.</p>
|
||||
<h3>Certificate Issues</h3>
|
||||
<p>When using TLS, Trilium will verify the server certificate. If verification
|
||||
fails (e.g., due to self-signed certificates or certain corporate proxies),
|
||||
you can run the Trilium client with the <code>NODE_TLS_REJECT_UNAUTHORIZED</code> environment
|
||||
variable set to <code>0</code>:</p><pre><code class="language-text-x-trilium-auto">export NODE_TLS_REJECT_UNAUTHORIZED=0</code></pre>
|
||||
<p>This will disable TLS certificate verification, significantly reducing
|
||||
security and exposing the setup to MITM attacks. It is strongly recommended
|
||||
to use a valid signed server certificate. Newer Trilium versions include
|
||||
a script called <code>trilium-no-cert-check.sh</code> for this purpose.</p>
|
||||
<h3>Conflict Resolution</h3>
|
||||
<p>If you edit the same note on multiple instances before synchronization,
|
||||
Trilium resolves conflicts by retaining the newer change and discarding
|
||||
the older one. The older version remains accessible in <a href="#root/_help_vZWERwf8U3nx">note revisions</a>,
|
||||
allowing data recovery if needed.</p>
|
||||
<h3>Hash Check</h3>
|
||||
<p>After each synchronization, Trilium computes a hash of all synced data
|
||||
on both the client and the sync server. If there is a discrepancy, Trilium
|
||||
will automatically initiate a recovery mechanism to resolve the issue.</p>
|
||||
@@ -1,45 +1,25 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Upgrading TriliumNext</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Upgrading TriliumNext</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>This document outlines the steps required to upgrade Trilium to a new
|
||||
release version.</p>
|
||||
<h2>How to Upgrade</h2>
|
||||
<p>Trilium does not support built-in automatic upgrades; all updates must
|
||||
be performed manually. The upgrade process varies depending on the installation
|
||||
method:</p>
|
||||
<ul>
|
||||
<li><a href="#root/_help_rWX5eY045zbE"><strong>Docker Server Installation</strong></a>:
|
||||
Pull the new image and restart the container.</li>
|
||||
<li><strong>Other Installations</strong>: Download the latest version from
|
||||
the <a href="https://github.com/TriliumNext/Notes/releases/latest">release page</a> and
|
||||
replace the existing application files.</li>
|
||||
</ul>
|
||||
<h2>Database Compatibility and Migration</h2>
|
||||
<p>Upon startup, Trilium will automatically migrate the <a href="#root/_help_wX4HbRucYSDD">database</a> to
|
||||
the new version. Note that after migration, older versions of Trilium will
|
||||
be unable to read the database. If you need to revert to a previous version
|
||||
of Trilium and its database, you can restore the <a href="#root/_help_ODY7qQn5m2FT">backup</a> that
|
||||
is created prior to migration.</p>
|
||||
<h2>Sync Compatibility</h2>
|
||||
<p>The <a href="#root/_help_cbkrhQjrkKrh">synchronization</a> protocol used
|
||||
by Trilium is versioned, requiring all members of the sync cluster to use
|
||||
the same protocol version. Therefore, when upgrading to a new version,
|
||||
you may need to upgrade all instances in the sync cluster. Changes to the
|
||||
sync protocol version are typically indicated on the release page.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>This document outlines the steps required to upgrade Trilium to a new
|
||||
release version.</p>
|
||||
<h2>How to Upgrade</h2>
|
||||
<p>Trilium does not support built-in automatic upgrades; all updates must
|
||||
be performed manually. The upgrade process varies depending on the installation
|
||||
method:</p>
|
||||
<ul>
|
||||
<li><a href="#root/_help_rWX5eY045zbE"><strong>Docker Server Installation</strong></a>:
|
||||
Pull the new image and restart the container.</li>
|
||||
<li><strong>Other Installations</strong>: Download the latest version from
|
||||
the <a href="https://github.com/TriliumNext/Notes/releases/latest">release page</a> and
|
||||
replace the existing application files.</li>
|
||||
</ul>
|
||||
<h2>Database Compatibility and Migration</h2>
|
||||
<p>Upon startup, Trilium will automatically migrate the <a href="#root/_help_wX4HbRucYSDD">database</a> to
|
||||
the new version. Note that after migration, older versions of Trilium will
|
||||
be unable to read the database. If you need to revert to a previous version
|
||||
of Trilium and its database, you can restore the <a href="#root/_help_ODY7qQn5m2FT">backup</a> that
|
||||
is created prior to migration.</p>
|
||||
<h2>Sync Compatibility</h2>
|
||||
<p>The <a href="#root/_help_cbkrhQjrkKrh">synchronization</a> protocol used
|
||||
by Trilium is versioned, requiring all members of the sync cluster to use
|
||||
the same protocol version. Therefore, when upgrading to a new version,
|
||||
you may need to upgrade all instances in the sync cluster. Changes to the
|
||||
sync protocol version are typically indicated on the release page.</p>
|
||||
@@ -1,62 +1,42 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Web Clipper</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Web Clipper</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>
|
||||
<img src="Web Clipper_image.png">
|
||||
</p>
|
||||
<p>Trilium Web Clipper is a web browser extension which allows user to clip
|
||||
text, screenshots, whole pages and short notes and save them directly to
|
||||
Trilium Notes.</p>
|
||||
<p>Project is hosted <a href="https://github.com/TriliumNext/web-clipper">here</a>.</p>
|
||||
<p>Firefox and Chrome are supported browsers, but the chrome build should
|
||||
work on other chromium based browsers as well.</p>
|
||||
<h2>Functionality</h2>
|
||||
<ul>
|
||||
<li>select text and clip it with the right-click context menu</li>
|
||||
<li>click on an image or link and save it through context menu</li>
|
||||
<li>save whole page from the popup or context menu</li>
|
||||
<li>save screenshot (with crop tool) from either popup or context menu</li>
|
||||
<li>create short text note from popup</li>
|
||||
</ul>
|
||||
<p>Trilium will save these clippings as a new child note under a "clipper
|
||||
inbox" note.</p>
|
||||
<p>By default, that's the <a href="#root/_help_l0tKav7yLHGF">day note</a> but
|
||||
you can override that by setting the <a href="#root/_help_zEY4DaJG4YT5">label</a> <code>clipperInbox</code>,
|
||||
on any other note.</p>
|
||||
<p>If there's multiple clippings from the same page (and on the same day),
|
||||
then they will be added to the same note.</p>
|
||||
<p><strong>Extension is available from:</strong>
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/TriliumNext/web-clipper/releases">Project release page</a> -
|
||||
.xpi for Firefox and .zip for Chromium based browsers.</li>
|
||||
<li><a href="https://chromewebstore.google.com/detail/trilium-web-clipper/dfhgmnfclbebfobmblelddiejjcijbjm">Chrome Web Store</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Configuration</h2>
|
||||
<p>The extension needs to connect to a running Trilium instance. By default,
|
||||
it scans a port range on the local computer to find a desktop Trilium instance.</p>
|
||||
<p>It's also possible to configure the <a href="#root/_help_WOcw2SLH6tbX">server</a> address
|
||||
if you don't run the desktop application, or want it to work without the
|
||||
desktop application running.</p>
|
||||
<h2>Username</h2>
|
||||
<p>Older versions of Trilium (before 0.50) required username & password
|
||||
to authenticate, but this is no longer the case. You may enter anything
|
||||
in that field, it will not have any effect.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>
|
||||
<img src="Web Clipper_image.png">
|
||||
</p>
|
||||
<p>Trilium Web Clipper is a web browser extension which allows user to clip
|
||||
text, screenshots, whole pages and short notes and save them directly to
|
||||
Trilium Notes.</p>
|
||||
<p>Project is hosted <a href="https://github.com/TriliumNext/web-clipper">here</a>.</p>
|
||||
<p>Firefox and Chrome are supported browsers, but the chrome build should
|
||||
work on other chromium based browsers as well.</p>
|
||||
<h2>Functionality</h2>
|
||||
<ul>
|
||||
<li>select text and clip it with the right-click context menu</li>
|
||||
<li>click on an image or link and save it through context menu</li>
|
||||
<li>save whole page from the popup or context menu</li>
|
||||
<li>save screenshot (with crop tool) from either popup or context menu</li>
|
||||
<li>create short text note from popup</li>
|
||||
</ul>
|
||||
<p>Trilium will save these clippings as a new child note under a "clipper
|
||||
inbox" note.</p>
|
||||
<p>By default, that's the <a href="#root/_help_l0tKav7yLHGF">day note</a> but
|
||||
you can override that by setting the <a href="#root/_help_zEY4DaJG4YT5">label</a> <code>clipperInbox</code>,
|
||||
on any other note.</p>
|
||||
<p>If there's multiple clippings from the same page (and on the same day),
|
||||
then they will be added to the same note.</p>
|
||||
<p><strong>Extension is available from:</strong>
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/TriliumNext/web-clipper/releases">Project release page</a> -
|
||||
.xpi for Firefox and .zip for Chromium based browsers.</li>
|
||||
<li><a href="https://chromewebstore.google.com/detail/trilium-web-clipper/dfhgmnfclbebfobmblelddiejjcijbjm">Chrome Web Store</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Configuration</h2>
|
||||
<p>The extension needs to connect to a running Trilium instance. By default,
|
||||
it scans a port range on the local computer to find a desktop Trilium instance.</p>
|
||||
<p>It's also possible to configure the <a href="#root/_help_WOcw2SLH6tbX">server</a> address
|
||||
if you don't run the desktop application, or want it to work without the
|
||||
desktop application running.</p>
|
||||
<h2>Username</h2>
|
||||
<p>Older versions of Trilium (before 0.50) required username & password
|
||||
to authenticate, but this is no longer the case. You may enter anything
|
||||
in that field, it will not have any effect.</p>
|
||||
@@ -1,152 +1,132 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Note Types</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Note Types</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>One core features of Trilium is that it supports multiple types of notes,
|
||||
depending on the need.</p>
|
||||
<h2>Creating a new note with a different type via the note tree</h2>
|
||||
<p>The default note type in Trilium (e.g. when creating a new note) is
|
||||
<a
|
||||
class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>, since it's for general use.</p>
|
||||
<p>To create a new note of a different type, head to the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and right click an existing
|
||||
note where to place the new one and select:</p>
|
||||
<ul>
|
||||
<li><em>Insert note after</em>, to put the new note underneath the one selected.</li>
|
||||
<li><em>Insert child note</em>, to insert the note as a child of the selected
|
||||
note.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<img src="Note Types_image.png">
|
||||
</p>
|
||||
<h2>Creating a new note of a different type via add link or new tab</h2>
|
||||
<ul>
|
||||
<li>When adding a <a href="#root/_help_QEAPj01N5f7w">link</a> in a <a class="reference-link"
|
||||
href="#root/_help_iPIMuisry3hd">Text</a> note, type the desired title
|
||||
of the new note and press Enter. Afterwards the type of the note will be
|
||||
asked.</li>
|
||||
<li>Similarly, when creating a new tab, type the desired title and press Enter.</li>
|
||||
</ul>
|
||||
<h2>Changing the type of a note</h2>
|
||||
<p>It is possible to change the type of a note after it has been created
|
||||
via the <em>Basic Properties</em> tab in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>. Note that it's generally a
|
||||
good idea to change the note type only if the note is empty. Can also be
|
||||
used to edit the <a href="#root/_help_4FahAwuGTAwC">source of a note</a>.</p>
|
||||
<h2>Supported note types</h2>
|
||||
<p>The following note types are supported by Trilium:</p>
|
||||
<figure class="table"
|
||||
style="width:100%;">
|
||||
<table class="ck-table-resized">
|
||||
<colgroup>
|
||||
<col style="width:29.42%;">
|
||||
<col style="width:70.58%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Note Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>
|
||||
</td>
|
||||
<td>The default note type, which allows for rich text formatting, images,
|
||||
admonitions and right-to-left support.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>
|
||||
</td>
|
||||
<td>Uses a mono-space font and can be used to store larger chunks of code
|
||||
or plain text than a text note, and has better syntax highlighting.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>
|
||||
</td>
|
||||
<td>Stores the information about a search (the search text, criteria, etc.)
|
||||
for later use. Can be used for quick filtering of a large amount of notes,
|
||||
for example. The search can easily be triggered.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a>
|
||||
</td>
|
||||
<td>Allows easy creation of notes and relations between them. Can be used
|
||||
for mainly relational data such as a family tree.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a>
|
||||
</td>
|
||||
<td>Displays the relationships between the notes, whether via relations or
|
||||
their hierarchical structure.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>
|
||||
</td>
|
||||
<td>Used in <a class="reference-link" href="#root/_help_CdNpE2pqjmI6">Scripting</a>,
|
||||
it displays the HTML content of another note. This allows displaying any
|
||||
kind of content, provided there is a script behind it to generate it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Book</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>Displays the children of the note either as a grid, a list, or for a more
|
||||
specialized case: a calendar.</p>
|
||||
<p>Generally useful for easy reading of short notes.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>
|
||||
</td>
|
||||
<td>Displays diagrams such as bar charts, flow charts, state diagrams, etc.
|
||||
Requires a bit of technical knowledge since the diagrams are written in
|
||||
a specialized format.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>
|
||||
</td>
|
||||
<td>Allows easy drawing of sketches, diagrams, handwritten content. Uses the
|
||||
same technology behind <a href="https://excalidraw.com">excalidraw.com</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_1vHRoWCEjj0L">Web View</a>
|
||||
</td>
|
||||
<td>Displays the content of an external web page, similar to a browser.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a>
|
||||
</td>
|
||||
<td>Easy for brainstorming ideas, by placing them in a hierarchical layout.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>
|
||||
</td>
|
||||
<td>Displays the children of the note as a geographical map, one use-case
|
||||
would be to plan vacations. It even has basic support for tracks. Notes
|
||||
can also be created from it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>
|
||||
</td>
|
||||
<td>Represents an uploaded file such as PDFs, images, video or audio files.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>One core features of Trilium is that it supports multiple types of notes,
|
||||
depending on the need.</p>
|
||||
<h2>Creating a new note with a different type via the note tree</h2>
|
||||
<p>The default note type in Trilium (e.g. when creating a new note) is
|
||||
<a
|
||||
class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>, since it's for general use.</p>
|
||||
<p>To create a new note of a different type, head to the <a class="reference-link"
|
||||
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and right click an existing
|
||||
note where to place the new one and select:</p>
|
||||
<ul>
|
||||
<li><em>Insert note after</em>, to put the new note underneath the one selected.</li>
|
||||
<li><em>Insert child note</em>, to insert the note as a child of the selected
|
||||
note.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<img src="Note Types_image.png">
|
||||
</p>
|
||||
<h2>Creating a new note of a different type via add link or new tab</h2>
|
||||
<ul>
|
||||
<li>When adding a <a href="#root/_help_QEAPj01N5f7w">link</a> in a <a class="reference-link"
|
||||
href="#root/_help_iPIMuisry3hd">Text</a> note, type the desired title
|
||||
of the new note and press Enter. Afterwards the type of the note will be
|
||||
asked.</li>
|
||||
<li>Similarly, when creating a new tab, type the desired title and press Enter.</li>
|
||||
</ul>
|
||||
<h2>Changing the type of a note</h2>
|
||||
<p>It is possible to change the type of a note after it has been created
|
||||
via the <em>Basic Properties</em> tab in the <a class="reference-link"
|
||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>. Note that it's generally a
|
||||
good idea to change the note type only if the note is empty. Can also be
|
||||
used to edit the <a href="#root/_help_4FahAwuGTAwC">source of a note</a>.</p>
|
||||
<h2>Supported note types</h2>
|
||||
<p>The following note types are supported by Trilium:</p>
|
||||
<figure class="table"
|
||||
style="width:100%;">
|
||||
<table class="ck-table-resized">
|
||||
<colgroup>
|
||||
<col style="width:29.42%;">
|
||||
<col style="width:70.58%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Note Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>
|
||||
</td>
|
||||
<td>The default note type, which allows for rich text formatting, images,
|
||||
admonitions and right-to-left support.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>
|
||||
</td>
|
||||
<td>Uses a mono-space font and can be used to store larger chunks of code
|
||||
or plain text than a text note, and has better syntax highlighting.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>
|
||||
</td>
|
||||
<td>Stores the information about a search (the search text, criteria, etc.)
|
||||
for later use. Can be used for quick filtering of a large amount of notes,
|
||||
for example. The search can easily be triggered.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a>
|
||||
</td>
|
||||
<td>Allows easy creation of notes and relations between them. Can be used
|
||||
for mainly relational data such as a family tree.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a>
|
||||
</td>
|
||||
<td>Displays the relationships between the notes, whether via relations or
|
||||
their hierarchical structure.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>
|
||||
</td>
|
||||
<td>Used in <a class="reference-link" href="#root/_help_CdNpE2pqjmI6">Scripting</a>,
|
||||
it displays the HTML content of another note. This allows displaying any
|
||||
kind of content, provided there is a script behind it to generate it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Book</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>Displays the children of the note either as a grid, a list, or for a more
|
||||
specialized case: a calendar.</p>
|
||||
<p>Generally useful for easy reading of short notes.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>
|
||||
</td>
|
||||
<td>Displays diagrams such as bar charts, flow charts, state diagrams, etc.
|
||||
Requires a bit of technical knowledge since the diagrams are written in
|
||||
a specialized format.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>
|
||||
</td>
|
||||
<td>Allows easy drawing of sketches, diagrams, handwritten content. Uses the
|
||||
same technology behind <a href="https://excalidraw.com">excalidraw.com</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_1vHRoWCEjj0L">Web View</a>
|
||||
</td>
|
||||
<td>Displays the content of an external web page, similar to a browser.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a>
|
||||
</td>
|
||||
<td>Easy for brainstorming ideas, by placing them in a hierarchical layout.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>
|
||||
</td>
|
||||
<td>Displays the children of the note as a geographical map, one use-case
|
||||
would be to plan vacations. It even has basic support for tracks. Notes
|
||||
can also be created from it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>
|
||||
</td>
|
||||
<td>Represents an uploaded file such as PDFs, images, video or audio files.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
@@ -1,40 +1,20 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Book</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Book</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>A <strong>Book Note</strong> in Trilium is a special type of <a href="#root/_help_BFs8mudNFgCS">note</a> designed
|
||||
to display the contents of its child notes sequentially, creating a linear,
|
||||
book-like reading experience. This format is particularly useful for viewing
|
||||
multiple smaller notes in a cohesive, continuous manner.</p>
|
||||
<p>
|
||||
<img src="Book_image.png">
|
||||
</p>
|
||||
<p>In the example above, the "node.js" note on the left panel contains several
|
||||
child notes. The right panel displays the content of these child notes
|
||||
as a single continuous document.</p>
|
||||
<h2>Features</h2>
|
||||
<p>The Book Note format compiles the contents of all child notes into one
|
||||
continuous view. This makes it ideal for reading extensive information
|
||||
broken into smaller, manageable segments.</p>
|
||||
<p>It uses the <a class="reference-link" href="#root/_help_0ESUbbAxVnoK">Note List</a> mechanism
|
||||
to display the child notes, allowing the use of any of the view types (grid,
|
||||
list, calendar).</p>
|
||||
<p>To adjust the view type, see the dedicated <em>Book</em> tab in the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>A <strong>Book Note</strong> in Trilium is a special type of <a href="#root/_help_BFs8mudNFgCS">note</a> designed
|
||||
to display the contents of its child notes sequentially, creating a linear,
|
||||
book-like reading experience. This format is particularly useful for viewing
|
||||
multiple smaller notes in a cohesive, continuous manner.</p>
|
||||
<p>
|
||||
<img src="Book_image.png">
|
||||
</p>
|
||||
<p>In the example above, the "node.js" note on the left panel contains several
|
||||
child notes. The right panel displays the content of these child notes
|
||||
as a single continuous document.</p>
|
||||
<h2>Features</h2>
|
||||
<p>The Book Note format compiles the contents of all child notes into one
|
||||
continuous view. This makes it ideal for reading extensive information
|
||||
broken into smaller, manageable segments.</p>
|
||||
<p>It uses the <a class="reference-link" href="#root/_help_0ESUbbAxVnoK">Note List</a> mechanism
|
||||
to display the child notes, allowing the use of any of the view types (grid,
|
||||
list, calendar).</p>
|
||||
<p>To adjust the view type, see the dedicated <em>Book</em> tab in the
|
||||
<a
|
||||
class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.</p>
|
||||
@@ -1,27 +1,7 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
<base target="_parent">
|
||||
<title data-trilium-title>Canvas</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1 data-trilium-h1>Canvas</h1>
|
||||
|
||||
<div class="ck-content">
|
||||
<p>Available since Trilium v0.52.</p>
|
||||
<p>Canvas notes use the Excalidraw library to allow handwritten notes with
|
||||
mouse, pen or touch on an infinite canvas. It also supports basic diagramming,
|
||||
text and graphics input.</p>
|
||||
<p>
|
||||
<img src="Canvas_image.png" alt="grafik">
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<p>Available since Trilium v0.52.</p>
|
||||
<p>Canvas notes use the Excalidraw library to allow handwritten notes with
|
||||
mouse, pen or touch on an infinite canvas. It also supports basic diagramming,
|
||||
text and graphics input.</p>
|
||||
<p>
|
||||
<img src="Canvas_image.png" alt="grafik">
|
||||
</p>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user