Compare commits

...

8 Commits

Author SHA1 Message Date
Elian Doran
859d9dcd04
docs(user): document system requirements
Some checks failed
Checks / main (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Deploy Documentation / Build and Deploy Documentation (push) Has been cancelled
Dev / Test development (push) Has been cancelled
/ Check Docker build (Dockerfile) (push) Has been cancelled
/ Check Docker build (Dockerfile.alpine) (push) Has been cancelled
playwright / main (push) Has been cancelled
Dev / Build Docker image (push) Has been cancelled
Dev / Check Docker build (Dockerfile) (push) Has been cancelled
Dev / Check Docker build (Dockerfile.alpine) (push) Has been cancelled
/ Build Docker images (Dockerfile, ubuntu-24.04-arm, linux/arm64) (push) Has been cancelled
/ Build Docker images (Dockerfile.alpine, ubuntu-latest, linux/amd64) (push) Has been cancelled
/ Build Docker images (Dockerfile.legacy, ubuntu-24.04-arm, linux/arm/v7) (push) Has been cancelled
/ Build Docker images (Dockerfile.legacy, ubuntu-24.04-arm, linux/arm/v8) (push) Has been cancelled
/ Merge manifest lists (push) Has been cancelled
2025-10-31 11:52:40 +02:00
Elian Doran
76dd9baea8
docs(user): document adjusting borders 2025-10-31 11:21:17 +02:00
Elian Doran
82ff5f6660
docs(user): sync 2025-10-31 11:07:22 +02:00
Elian Doran
b52d30c55a
chore(dialog/export): strange order with OPML 2025-10-31 11:05:40 +02:00
Elian Doran
99fd088ff5
chore(share): use same sandbox features for iframe 2025-10-31 10:12:56 +02:00
Elian Doran
945f29c759
feat(share): render webviews using iframe 2025-10-31 10:12:15 +02:00
Elian Doran
98f42887d8
Translations update from Hosted Weblate (#7562) 2025-10-31 09:09:29 +02:00
Eduard Frigola
a1b589148b
Translated using Weblate (Catalan)
Currently translated at 17.8% (69 of 387 strings)

Translation: Trilium Notes/Server
Translate-URL: https://hosted.weblate.org/projects/trilium/server/ca/
2025-10-31 08:04:01 +01:00
28 changed files with 828 additions and 623 deletions

View File

@ -79,8 +79,8 @@ export default function ExportDialog() {
values={[
{ value: "html", label: t("export.format_html_zip") },
{ value: "markdown", label: t("export.format_markdown") },
{ value: "opml", label: t("export.format_opml") },
{ value: "share", label: t("export.share-format") }
{ value: "share", label: t("export.share-format") },
{ value: "opml", label: t("export.format_opml") }
]}
/>

File diff suppressed because one or more lines are too long

View File

@ -6,178 +6,173 @@ class="image">
<img style="aspect-ratio:1144/660;" src="Sharing_image.png"
width="1144" height="660">
</figure>
<h2>Features, interaction and limitations</h2>
<h2>Features, interaction and limitations</h2>
<ul>
<li data-list-item-id="ef22b391cbc76ef956be01dd41a6b60bf">Searching by note title.</li>
<li data-list-item-id="eeab18d3a35263669809a1b89d7b060b9">Automatic dark/light mode based on the user's browser settings.</li>
<li
data-list-item-id="e9a0db9cceacd026e71ad8bda9948542e">Mobile-friendly layout, with sidebar.</li>
<li data-list-item-id="eb9da2104d017644f71fcee18eb17d34b">Collapsible tree with the same note icons as the application.</li>
<li
data-list-item-id="ea2be5ec72816441e702ff6dba92ed30d">Customizable logo.</li>
<li data-list-item-id="e26648726ce48aa84a8c71cf0fe3e4ee2">Toggle button for dark/light mode, which also stores the user preferences.</li>
<li
data-list-item-id="ef143555e0d67d1d389f6bbc226ebdc55">Quick navigation buttons (previous and next note).</li>
<li data-list-item-id="e32f67105cfb655c235d2454d9ec4874f">Displaying the date of the last update of the note.</li>
<li>Searching by note title.</li>
<li>Automatic dark/light mode based on the user's browser settings.</li>
<li>Mobile-friendly layout, with sidebar.</li>
<li>Collapsible tree with the same note icons as the application.</li>
<li>Customizable logo.</li>
<li>Toggle button for dark/light mode, which also stores the user preferences.</li>
<li>Quick navigation buttons (previous and next note).</li>
<li>Displaying the date of the last update of the note.</li>
</ul>
<h3>By note type</h3>
<figure class="table">
<table class="ck-table-resized">
<colgroup>
<col style="width:19.92%;">
<col style="width:41.66%;">
<col style="width:38.42%;">
</colgroup>
<thead>
<tr>
<th>&nbsp;</th>
<th>Supported features</th>
<th>Limitations</th>
</tr>
</thead>
<tbody>
<tr>
<th><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>
</th>
<td>
<ul>
<li data-list-item-id="e26b4ce9ba4e9dfe224d04e0f341925ed">Table of contents.</li>
<li data-list-item-id="e9707fdfa2c92d66690cf932f7e647253">Syntax highlight of code blocks, provided a language is selected (does
not work if “Auto-detected” is enabled).</li>
<li data-list-item-id="e84420a10c6d64bd107edb6e867c91d4b">Rendering for math equations.</li>
<li data-list-item-id="e10834dcd0619d77ae2e94d3695bedf58"><a href="#root/_help_nBAXQFj20hS1">Including notes</a> (only if the included
notes are also shared).</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e41cc4139377f9f88d653d1eb8ca47bb4">Inline Mermaid diagrams are not rendered.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>
</th>
<td>
<ul>
<li data-list-item-id="e291ae6d5130677b4c99f7c3bdbe974b4">Basic support (displaying the contents of the note in a monospace font).</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e0270680bbdd7a129306e61e11691e36d">No syntax highlight.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>
</th>
<td>
<ul>
<li data-list-item-id="ea031e1d4149eb443ace756234490c5a4">The child notes are displayed in a fixed format.&nbsp;</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="ea4a9d424aec2afbaecc07bbf64b7bebd">More advanced view types such as the calendar view are not supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>
</th>
<td>
<ul>
<li data-list-item-id="e582d283f2b1b30cbe5ae35d8e01b2bf2">The diagram is displayed as a vector image.</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e33268686446e3c217077201bb5964364">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>
</th>
<td>
<ul>
<li data-list-item-id="e443dd0e97c30cb12c77e8906a71569ea">The diagram is displayed as a vector image.</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="efe151ef3f3826c825416417525fb5fb2">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_1vHRoWCEjj0L">Web View</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a>
</th>
<td>The diagram is displayed as a vector image.</td>
<td>
<ul>
<li data-list-item-id="ed3b4fb473042f6e32b4502d4fa11a767">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>
</th>
<td>Basic interaction (downloading the file).</td>
<td>
<ul>
<li data-list-item-id="ed87e836a39d127ebcbb33e9e59045afb">No further interaction supported.</li>
</ul>
</td>
</tr>
</tbody>
</table>
</figure>
<table class="ck-table-resized">
<colgroup>
<col style="width:19.92%;">
<col style="width:41.66%;">
<col style="width:38.42%;">
</colgroup>
<thead>
<tr>
<th>&nbsp;</th>
<th>Supported features</th>
<th>Limitations</th>
</tr>
</thead>
<tbody>
<tr>
<th><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>
</th>
<td>
<ul>
<li data-list-item-id="e26b4ce9ba4e9dfe224d04e0f341925ed">Table of contents.</li>
<li data-list-item-id="e9707fdfa2c92d66690cf932f7e647253">Syntax highlight of code blocks, provided a language is selected (does
not work if “Auto-detected” is enabled).</li>
<li data-list-item-id="e84420a10c6d64bd107edb6e867c91d4b">Rendering for math equations.</li>
<li data-list-item-id="e10834dcd0619d77ae2e94d3695bedf58"><a href="#root/_help_nBAXQFj20hS1">Including notes</a> (only if the included
notes are also shared).</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e41cc4139377f9f88d653d1eb8ca47bb4">Inline Mermaid diagrams are not rendered.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>
</th>
<td>
<ul>
<li data-list-item-id="e291ae6d5130677b4c99f7c3bdbe974b4">Basic support (displaying the contents of the note in a monospace font).</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e0270680bbdd7a129306e61e11691e36d">No syntax highlight.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>
</th>
<td>
<ul>
<li data-list-item-id="ea031e1d4149eb443ace756234490c5a4">The child notes are displayed in a fixed format.&nbsp;</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="ea4a9d424aec2afbaecc07bbf64b7bebd">More advanced view types such as the calendar view are not supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>
</th>
<td>
<ul>
<li data-list-item-id="e582d283f2b1b30cbe5ae35d8e01b2bf2">The diagram is displayed as a vector image.</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e33268686446e3c217077201bb5964364">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>
</th>
<td>
<ul>
<li data-list-item-id="e443dd0e97c30cb12c77e8906a71569ea">The diagram is displayed as a vector image.</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="efe151ef3f3826c825416417525fb5fb2">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_1vHRoWCEjj0L">Web View</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a>
</th>
<td>The diagram is displayed as a vector image.</td>
<td>
<ul>
<li data-list-item-id="ed3b4fb473042f6e32b4502d4fa11a767">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>
</th>
<td>Basic interaction (downloading the file).</td>
<td>
<ul>
<li data-list-item-id="ed87e836a39d127ebcbb33e9e59045afb">No further interaction supported.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>While the sharing feature is powerful, it has some limitations:</p>
<ul>
<li data-list-item-id="e35e0cab1eec05f391623e8279959070c"><strong>Code Notes</strong>: No syntax highlighting.</li>
<li class="ck-list-marker-bold"
data-list-item-id="e36b70bd10c3666c0def874b4ec52db31"><strong>Static Note Tree</strong>
<li><strong>Code Notes</strong>: No syntax highlighting.</li>
<li><strong>Static Note Tree</strong>
</li>
<li data-list-item-id="ef8144aff172d450cf7b4edbf1a430ab9"><strong>Protected Notes</strong>: Cannot be shared.</li>
<li data-list-item-id="ec3761c9dce911b115b840a32eebd18b8"><strong>Include Notes</strong>: Not supported.</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>Prerequisites</h2>
@ -186,7 +181,7 @@ class="image">
is necessary because the notes will be hosted from the server.</p>
<h2>Sharing a note</h2>
<ol>
<li data-list-item-id="e503f8ad52fe9033ef59212b7b692d69f">
<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>
@ -195,9 +190,11 @@ class="image">
alt="Share Note">
</p>
</li>
<li data-list-item-id="e9c5083764d919503412f4f7f1cb0e0e0"><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>.</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>
</li>
</ol>
<h2>Sharing a note subtree</h2>
<p>When you share a note, you actually share the entire subtree of notes
@ -212,11 +209,11 @@ class="image">
public.</p>
<h2>Security considerations</h2>
<ul>
<li data-list-item-id="ea35f4596f6a8c69a83416766b567c3cd">Shared notes are published on the open internet and can be accessed by
<li>Shared notes are published on the open internet and can be accessed by
anyone with the URL unless the notes are password-protected.</li>
<li data-list-item-id="e34e983d07439b781597d1abaf8b6e297">The URL's randomness does not provide security, so it is crucial not to
<li>The URL's randomness does not provide security, so it is crucial not to
share sensitive information through this feature.</li>
<li data-list-item-id="e94fbe4fb4b9f7806074aba4fe7601cb7">Trilium takes precautions to protect your publicly shared instance from
<li>Trilium takes precautions to protect your publicly shared instance from
leaking information for non-shared notes, including opening a separate
read-only connection to the&nbsp;<a class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a>.
Depending on your threat model, it might make more sense to use&nbsp;
@ -233,13 +230,12 @@ class="image">
<p>The default design should be a good starting point, but you can customize
it using your own CSS:</p>
<ul>
<li data-list-item-id="e3fdd3f9d73ed0655a94330d0a75790e4"><strong>Custom CSS</strong>: Link a CSS&nbsp;<a class="reference-link"
<li><strong>Custom CSS</strong>: Link a CSS&nbsp;<a class="reference-link"
href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;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
data-list-item-id="ee0bb81c27f4cd176412d38258d32da39"><strong>Omitting Default CSS</strong>: For extensive styling changes,
<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>
@ -257,22 +253,22 @@ class="image">
itself.</p>
<p>The <code>#shareHtmlLocation</code> label accepts values in the format <code>location:position</code>:</p>
<ul>
<li data-list-item-id="ead2588d20ac1fb23e7cb2a6d33d02bcb"><strong>Locations</strong>: <code>head</code>, <code>body</code>, <code>content</code>
<li><strong>Locations</strong>: <code>head</code>, <code>body</code>, <code>content</code>
</li>
<li data-list-item-id="e368323f330b229cb3428266304ebc2b4"><strong>Positions</strong>: <code>start</code>, <code>end</code>
<li><strong>Positions</strong>: <code>start</code>, <code>end</code>
</li>
</ul>
<p>For example:</p>
<ul>
<li data-list-item-id="e2f0cbb70e71902ec26d64b4c10f1b3cf"><code>#shareHtmlLocation=head:start</code> - Injects HTML at the beginning
<li><code>#shareHtmlLocation=head:start</code> - Injects HTML at the beginning
of the <code>&lt;head&gt;</code> section</li>
<li data-list-item-id="e2ac6f7ec36059fc5ea2148bee57d9329"><code>#shareHtmlLocation=head:end</code> - Injects HTML at the end of the <code>&lt;head&gt;</code> section
<li><code>#shareHtmlLocation=head:end</code> - Injects HTML at the end of the <code>&lt;head&gt;</code> section
(default)</li>
<li data-list-item-id="e9fea05a82b09b66521807ae4b08bfd53"><code>#shareHtmlLocation=body:start</code> - Injects HTML at the beginning
<li><code>#shareHtmlLocation=body:start</code> - Injects HTML at the beginning
of the <code>&lt;body&gt;</code> section</li>
<li data-list-item-id="ed33846c38d6e8a631111fc858ecf4963"><code>#shareHtmlLocation=content:start</code> - Injects HTML at the beginning
<li><code>#shareHtmlLocation=content:start</code> - Injects HTML at the beginning
of the content area</li>
<li data-list-item-id="e89347723de7736060ce226d93530a162"><code>#shareHtmlLocation=content:end</code> - Injects HTML at the end of
<li><code>#shareHtmlLocation=content:end</code> - Injects HTML at the end of
the content area</li>
</ul>
<p>If no location is specified, the HTML will be injected at <code>content:end</code> by
@ -290,16 +286,16 @@ for (const attr of parentNote.attributes) {
This will change the URL to <code>http://domain.tld/share/highlighting</code>.</p>
<p><strong>Important</strong>:</p>
<ol>
<li data-list-item-id="edff04cba1df31a2aae23fd2f6a5ee847">Ensure that aliases are unique.</li>
<li data-list-item-id="eea48bfb287b0559450050141243032a9">Using slashes (<code>/</code>) within aliases to create subpaths is not
<li>Ensure that aliases are unique.</li>
<li>Using slashes (<code>/</code>) within aliases to create subpaths is not
supported.</li>
</ol>
<aside class="admonition tip">
<ul>
<li data-list-item-id="e0fcb644d56cb60448a87ddb7831e6043">To easily identify pages that don't have a share alias, run a&nbsp;
<li>To easily identify pages that don't have a share alias, run a&nbsp;
<a
class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a>&nbsp;with <code>#!shareAlias</code>.</li>
<li data-list-item-id="e888d6e9d905db9a030755430007e522b">To be able to enter the share alias faster, consider using&nbsp;<a class="reference-link"
<li>To be able to enter the share alias faster, consider using&nbsp;<a class="reference-link"
href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>&nbsp;(for example <code>#label:shareAlias(inheritable)="promoted,alias=Slug,single,text"</code>).</li>
</ul>
</aside>
@ -323,176 +319,165 @@ for (const attr of parentNote.attributes) {
When viewed, the list of shared roots will be displayed at the bottom of
the note.</p>
<h2>Attribute reference</h2>
<figure class="table" style="width:100%;">
<table class="ck-table-resized">
<colgroup>
<col style="width:18.38%;">
<col style="width:81.62%;">
</colgroup>
<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&nbsp;
<a
class="reference-link" href="#root/_help_Qjt68inQ2bRj">Serving directly the content of a note</a>&nbsp;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 data-list-item-id="e6baa9f60bf59d085fd31aa2cce07a0e7">Setting the <code>X-Robots-Tag: noindex</code> HTTP header.</li>
<li data-list-item-id="ec0d067db136ef9794e4f1033405880b7">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>
<tr>
<td><code>#shareHtmlLocation</code>
</td>
<td>defines where custom HTML injected via <code>~shareHtml</code> relation
should be placed. Applied to the HTML snippet note itself. Format: <code>location:position</code> where
location is <code>head</code>, <code>body</code>, or <code>content</code> and
position is <code>start</code> or <code>end</code>. Defaults to <code>content:end</code>.</td>
</tr>
</tbody>
</table>
</figure>
<h3>Customizing logo</h3>
<table class="ck-table-resized">
<colgroup>
<col style="width:18.38%;">
<col style="width:81.62%;">
</colgroup>
<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&nbsp;
<a
class="reference-link" href="#root/_help_Qjt68inQ2bRj">Serving directly the content of a note</a>&nbsp;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 data-list-item-id="e6baa9f60bf59d085fd31aa2cce07a0e7">Setting the <code>X-Robots-Tag: noindex</code> HTTP header.</li>
<li data-list-item-id="ec0d067db136ef9794e4f1033405880b7">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>
<tr>
<td><code>#shareHtmlLocation</code>
</td>
<td>defines where custom HTML injected via <code>~shareHtml</code> relation
should be placed. Applied to the HTML snippet note itself. Format: <code>location:position</code> where
location is <code>head</code>, <code>body</code>, or <code>content</code> and
position is <code>start</code> or <code>end</code>. Defaults to <code>content:end</code>.</td>
</tr>
</tbody>
</table>
<h3>Customizing logo</h3>
<p>It's possible to adjust the logo which is displayed on the top-left of
the left pane.</p>
<figure class="table" style="width:100%;">
<table class="ck-table-resized">
<colgroup>
<col style="width:19.08%;">
<col style="width:80.92%;">
</colgroup>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>~shareLogo</code>
</td>
<td>Relation set to an image to use as logo. The image must be part of the
share tree (it can be hidden if needed).</td>
</tr>
<tr>
<td><code>#shareLogoWidth</code>
</td>
<td>The width (in pixels, without unit) to set for the logo. Default is <code>53</code>.</td>
</tr>
<tr>
<td><code>#shareLogoHeight</code>
</td>
<td>The height (in pixels, without unit) to set for the logo. Default is <code>40</code>.</td>
</tr>
<tr>
<td><code>#shareRootLink</code>
</td>
<td>URL to navigate to when the logo is pressed.</td>
</tr>
</tbody>
</table>
</figure>
<h3>Customizing OpenGraph</h3>
<figure class="table" style="width:100%;">
<table class="ck-table-resized">
<colgroup>
<col style="width:19.08%;">
<col style="width:80.92%;">
</colgroup>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span style="color:#3b3b3b;"><code>#shareOpenGraphColor</code></span>
</td>
<td>This adjusts the <code>theme-color</code> meta-property.</td>
</tr>
<tr>
<td><code>#shareOpenGraphURL</code>
</td>
<td>This adjusts the <code>og:url</code> and <code>twitter:url</code> meta-properties.</td>
</tr>
<tr>
<td><code>#shareOpenGraphDomain</code>
</td>
<td>Adjusts the <code>twitter:domain</code> meta-property.</td>
</tr>
<tr>
<td><code>#shareOpenGraphImage</code>
<br><code>~shareOpenGraphImage</code>
</td>
<td>Can be either a label, case in which the value is passed on as-is, or
it can be a relation to an image&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/KSZ04uQ2D1St/_help_W8vYD3Q1zjCR">File</a>.
This controls the <code>og:image</code> meta-property.</td>
</tr>
</tbody>
</table>
</figure>
<h2>Credits</h2>
<table>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>~shareLogo</code>
</td>
<td>Relation set to an image to use as logo. The image must be part of the
share tree (it can be hidden if needed).</td>
</tr>
<tr>
<td><code>#shareLogoWidth</code>
</td>
<td>The width (in pixels, without unit) to set for the logo. Default is <code>53</code>.</td>
</tr>
<tr>
<td><code>#shareLogoHeight</code>
</td>
<td>The height (in pixels, without unit) to set for the logo. Default is <code>40</code>.</td>
</tr>
<tr>
<td><code>#shareRootLink</code>
</td>
<td>URL to navigate to when the logo is pressed.</td>
</tr>
</tbody>
</table>
<h3>Customizing OpenGraph</h3>
<table>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>#shareOpenGraphColor</code>
</td>
<td>This adjusts the <code>theme-color</code> meta-property.</td>
</tr>
<tr>
<td><code>#shareOpenGraphURL</code>
</td>
<td>This adjusts the <code>og:url</code> and <code>twitter:url</code> meta-properties.</td>
</tr>
<tr>
<td><code>#shareOpenGraphDomain</code>
</td>
<td>Adjusts the <code>twitter:domain</code> meta-property.</td>
</tr>
<tr>
<td><code>#shareOpenGraphImage</code>
<br><code>~shareOpenGraphImage</code>
</td>
<td>Can be either a label, case in which the value is passed on as-is, or
it can be a relation to an image&nbsp;<a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>.
This controls the <code>og:image</code> meta-property.</td>
</tr>
</tbody>
</table>
<h2>Credits</h2>
<p>Since v0.95.0, a new theme was introduced (and enabled by default) which
greatly improves the visual aspect of the Share feature, as well as its
functionality (such as mobile support, dark/light mode, collapsible tree,

View File

@ -6,18 +6,13 @@
reverse_proxy /share http://localhost:8080/share
}</code></pre>
<p>This is for newer versions where the share functionality is isolated,
for older versions it's required to also include <code>/assets</code>.
<span
class="footnote-reference" data-footnote-reference="" data-footnote-index="1"
data-footnote-id="2b8mg20aol8" role="doc-noteref" id="fnref2b8mg20aol8"><sup><a href="#fn2b8mg20aol8">[1]</a></sup>
</span>
for older versions it's required to also include <code>/assets</code>.<sup><a href="#fn2b8mg20aol8">[1]</a></sup>
</p>
<ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
<li class="footnote-item" data-footnote-item="" data-footnote-index="1"
data-footnote-id="2b8mg20aol8" role="doc-endnote" id="fn2b8mg20aol8"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="2b8mg20aol8"><sup><strong><a href="#fnref2b8mg20aol8">^</a></strong></sup></span>
<div
class="footnote-content" data-footnote-content="">
<p><a href="https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897">https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897</a>&nbsp;</p>
</div>
<ol>
<li>
<p><sup><strong><a href="#fnref2b8mg20aol8">^</a></strong></sup>
</p>
<p><a href="https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897">https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897</a>
</p>
</li>
</ol>

View File

@ -0,0 +1,21 @@
<p>The desktop version of Trilium supports all three main operating systems:</p>
<ul>
<li data-list-item-id="e9369fe00e2202eddd7638f9115592204">Windows
<ul>
<li data-list-item-id="ecbf2fbdd331d51182332dd3d33aeab15">Windows 11 is officially supported.</li>
<li data-list-item-id="e029be961ae70031059602696f29f72bf">Windows on ARM is also supported</li>
</ul>
</li>
<li data-list-item-id="e87f0cd97f723e8bd59f181622122906b">Linux:
<ul>
<li data-list-item-id="efa1b52fdb55980bee3f3482ee0f55dfa">Most modern distributions are supported, including NixOS.</li>
<li data-list-item-id="efe26984776dbcafc56afcc83a4d1b85b">ARM is supported in <code>aarch64</code> (no ARM v7 support).&nbsp;</li>
</ul>
</li>
<li data-list-item-id="eabb3c5c35295997be8b2579caa6cae1b">macOS
<ul>
<li data-list-item-id="e2848f18f02ba6ded3f20f46e12fecc54">Minimum supported operating system: macOS Monterey&nbsp;</li>
<li data-list-item-id="ea709467c48e79ae0c7e4d3c5e9261505">Both Intel and Apple Silicon devices are supported.</li>
</ul>
</li>
</ul>

View File

@ -0,0 +1,17 @@
<ul>
<li data-list-item-id="edfd91483e74d0b747136f134131b9720">Using Docker, the server can be run on Windows, Linux and macOS devices.</li>
<li
data-list-item-id="efde3b56d3d4f5b167bad52f55637e111">Native binaries are provided for Linux x64 and ARM (<code>aarch64</code>).</li>
</ul>
<h2>Legacy ARM support</h2>
<p>The Docker builds also provide <code>linux/arm/v7</code> and <code>linux/arm/v8</code> platforms.
These platforms are considered legacy since Trilium uses Node.js version
24 which have <a href="https://github.com/nodejs/node/commit/6682861d6f">officially downgraded support</a> for
these platforms to “experimental”.</p>
<p>As a result, Trilium needs to use Node.js 22 for these versions. As soon
as soon Node.js 22 will no longer be compatible, support for <code>armv7</code> and <code>armv8</code> will
be dropped entirely.</p>
<p>Regardless of upstream support, these platforms are supported on a best-effort
basis and are not officially supported by the Trilium development team.
Bug reports are accepted but they will not be treated with priority; contributions
are welcome.</p>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 541 B

View File

@ -8,147 +8,182 @@
the desired amount of columns and rows, as indicated in the adjacent figure.</p>
<h2>Formatting toolbar</h2>
<p>When a table is selected, a special formatting toolbar will appear:</p>
<img
src="9_Tables_image.png" width="384"
height="100">
<p>
<img src="10_Tables_image.png" width="384"
height="100">
</p>
<h2>Navigating a table</h2>
<ul>
<li>Using the mouse:
<ul>
<li>Click on a cell to focus it.</li>
<li>Click the
<img src="10_Tables_image.png"
width="28" height="27">button at the top or the bottom of a table to insert an empty paragraph
near it.</li>
<li>Click the
<img src="5_Tables_image.png"
width="24" height="26">button at the top-left of the table to select it entirely (for easy copy-pasting
or cutting) or drag and drop it to relocate the table.</li>
</ul>
</li>
<li>Using the keyboard:
<ul>
<li>Use the arrow keys on the keyboard to easily navigate between cells.</li>
<li>It's also possible to use <kbd>Tab</kbd> to go to the next cell and Shift+Tab
to go to the previous cell.</li>
<li>Unlike arrow keys, pressing <kbd>Tab</kbd> at the end of the table (last
row, last column) will create a new row automatically.</li>
<li>To select multiple cells, hold <kbd>Shift</kbd> while using the arrow keys.</li>
</ul>
</li>
<ul>
<li data-list-item-id="e7f46134b097590227ab8def4844112be">Using the mouse:
<ul>
<li data-list-item-id="e62455762d7530b06d496e0ddb23d2e0f">Click on a cell to focus it.</li>
<li data-list-item-id="e5b8037a928ee05c9137083da09f3c5a4">Click the
<img src="11_Tables_image.png"
width="28" height="27">button at the top or the bottom of a table to insert an empty paragraph
near it.</li>
<li data-list-item-id="e1d54454a8e1cbe7d5e29d7e262374052">Click the
<img src="5_Tables_image.png"
width="24" height="26">button at the top-left of the table to select it entirely (for easy copy-pasting
or cutting) or drag and drop it to relocate the table.</li>
</ul>
</li>
<li data-list-item-id="eb3673372bf61d20c70aa4787bbb1db3b">Using the keyboard:
<ul>
<li data-list-item-id="e4eb9ecdc5852d23b7e1b76be1bffe8cf">Use the arrow keys on the keyboard to easily navigate between cells.</li>
<li
data-list-item-id="e010d5a3a937c26f80367271d69687ab6">It's also possible to use <kbd>Tab</kbd> to go to the next cell and Shift+Tab
to go to the previous cell.</li>
<li data-list-item-id="e5c75e2a259cd2d0aa1252f2452c28fd6">Unlike arrow keys, pressing <kbd>Tab</kbd> at the end of the table (last
row, last column) will create a new row automatically.</li>
<li data-list-item-id="e86d89dfc2818e132bc6d7f7f48295dba">To select multiple cells, hold <kbd>Shift</kbd> while using the arrow keys.</li>
</ul>
<h2>Resizing cells</h2>
<ul>
<li>Columns can be resized by hovering the mouse over the border of two adjacent
cells and dragging it.</li>
<li>By default, the row height is not adjustable using the mouse, but it can
be configured from the cell settings (see below).</li>
<li>To adjust exactly the width (in pixels or percentages) of a cell, select
the
<img src="8_Tables_image.png" width="19"
height="19">button.</li>
</li>
</ul>
<h2>Resizing cells</h2>
<ul>
<li data-list-item-id="e327223f3de605b4ab196102167f22219">Columns can be resized by hovering the mouse over the border of two adjacent
cells and dragging it.</li>
<li data-list-item-id="e2a9150da21e9bd9ab3134c44c016b5cf">By default, the row height is not adjustable using the mouse, but it can
be configured from the cell settings (see below).</li>
<li data-list-item-id="ee8e8edc219006eec516c1e813494ddb1">To adjust exactly the width (in pixels or percentages) of a cell, select
the
<img src="8_Tables_image.png" width="19"
height="19">button.</li>
</ul>
<h2>Inserting new rows and new columns</h2>
<ul>
<li data-list-item-id="ebf4db28ad263fbce13bf056e90512914">To insert a new column, click on a desired location, then press the
<img
src="Tables_image.png" width="18" height="20">button from the formatting toolbar and select <em>Insert column left or right.</em>
</li>
<li data-list-item-id="eb53e629e394d8a14c48dd39a61397271">To insert a new row, click on a desired location, then press the
<img src="7_Tables_image.png"
width="20" height="18">button and select <em>Insert row above</em> or <em>below</em>.
<ul>
<li data-list-item-id="e3ba47144529996c9e4455970508a0a01">A quicker alternative to creating a new row while at the end of the table
is to press the <kbd>Tab</kbd> key.</li>
</ul>
</li>
</ul>
<h2>Merging cells</h2>
<p>To merge two or more cells together, simply select them via drag &amp;
drop and press the
<img src="1_Tables_image.png"
width="19" height="19">button from the formatting toolbar.</p>
<p>More options are available by pressing the arrow next to it:</p>
<ul>
<li data-list-item-id="e57e54996911ec8dbe17deeb300af481d">Click on a single cell and select Merge cell up/down/right/left to merge
with an adjacent cell.</li>
<li data-list-item-id="e4510ddae1afe524dab9bb5fa5c9edd88">Select <em>Split cell vertically</em> or <em>horizontally</em>, to split
a cell into multiple cells (can also be used to undo a merge).</li>
</ul>
<h2>Table properties</h2>
<figure class="image image-style-align-right">
<img style="aspect-ratio:312/311;" src="2_Tables_image.png"
width="312" height="311">
</figure>
<p>The table properties can be accessed via the
<img src="13_Tables_image.png"
width="19" height="19">button and allows for the following adjustments:</p>
<ul>
<li data-list-item-id="e421d2c037e3e17684b6c875f1d119515">Border (not the border of the cells, but the outer rim of the table),
which includes the style (single, double), color and width.</li>
<li data-list-item-id="e2e29338b33b5aa3e5b63a914ae412d7d">The background color, with none set by default.</li>
<li data-list-item-id="ee585d003b2f922bbab05dd190070b3e7">The width and height of the table in percentage (must end with <code>%</code>)
or pixels (must end with <code>px</code>).</li>
<li data-list-item-id="e23ac3152d03898b653db8d3849f0f5cc">The alignment of the table.
<ul>
<li data-list-item-id="ed90eb8b2432a87fa1fd39fd26e9f2cda">Left or right-aligned, case in which the text will flow next to it.</li>
<li
data-list-item-id="e887b5ce3dc7e47f5e630fbdf0da29862">Centered, case in which text will avoid the table, regardless of the table
width.</li>
</ul>
<h2>Inserting new rows and new columns</h2>
<ul>
<li>To insert a new column, click on a desired location, then press the
<img
src="Tables_image.png" width="18" height="20">button from the formatting toolbar and select <em>Insert column left or right.</em>
</li>
<li>To insert a new row, click on a desired location, then press the
<img src="7_Tables_image.png"
width="20" height="18">button and select <em>Insert row above</em> or <em>below</em>.
<ul>
<li>A quicker alternative to creating a new row while at the end of the table
is to press the <kbd>Tab</kbd> key.</li>
</ul>
</li>
</ul>
<h2>Merging cells</h2>
<p>To merge two or more cells together, simply select them via drag &amp;
drop and press the
<img src="1_Tables_image.png"
width="19" height="19">button from the formatting toolbar.</p>
<p>More options are available by pressing the arrow next to it:</p>
<ul>
<li>Click on a single cell and select Merge cell up/down/right/left to merge
with an adjacent cell.</li>
<li>Select <em>Split cell vertically</em> or <em>horizontally</em>, to split
a cell into multiple cells (can also be used to undo a merge).</li>
</ul>
<h2>Table properties</h2>
<figure class="image image-style-align-right">
<img style="aspect-ratio:312/311;" src="2_Tables_image.png"
width="312" height="311">
</figure>
<p>The table properties can be accessed via the
<img src="12_Tables_image.png"
width="19" height="19">button and allows for the following adjustments:</p>
<ul>
<li>Border (not the border of the cells, but the outer rim of the table),
which includes the style (single, double), color and width.</li>
<li>The background color, with none set by default.</li>
<li>The width and height of the table in percentage (must end with <code>%</code>)
or pixels (must end with <code>px</code>).</li>
<li>The alignment of the table.
<ul>
<li>Left or right-aligned, case in which the text will flow next to it.</li>
<li>Centered, case in which text will avoid the table, regardless of the table
width.</li>
</ul>
</li>
</ul>
<p>The table will immediately update to reflect the changes, but the <em>Save</em> button
must be pressed for the changes to persist.</p>
<h2>Cell properties</h2>
<figure class="image image-style-align-right">
<img style="aspect-ratio:320/386;" src="3_Tables_image.png"
width="320" height="386">
</figure>
<p>Similarly to table properties, the
<img src="11_Tables_image.png"
width="19" height="19">button opens a popup which adjusts the styling of one or more cells (based
on the user's selection).</p>
<p>The following options can be adjusted:</p>
<ul>
<li>The border style, color and width (same as table properties), but applying
to the current cell only.</li>
<li>The background color, with none set by default.</li>
<li>The width and height of the cell in percentage (must end with <code>%</code>)
or pixels (must end with <code>px</code>).</li>
<li>The padding (the distance of the text compared to the cell's borders).</li>
<li>The alignment of the text, both horizontally (left, centered, right, justified)
and vertically (top, middle or bottom).</li>
</ul>
<p>The cell will immediately update to reflect the changes, but the <em>Save</em> button
must be pressed for the changes to persist.</p>
<h2>Caption</h2>
<p>Press the
<img src="4_Tables_image.png"
width="18" height="17">button to insert a caption or a text description of the table, which is
going to be displayed above the table.</p>
<h2>Tables with invisible borders</h2>
<p>Tables can be set to have invisible borders in order to allow for basic
layouts (columns, grids) of text or <a href="#root/_help_mT0HEkOsz6i1">images</a> without
the distraction of their border:</p>
<ol>
<li>First insert a table with the desired number of columns and rows.</li>
<li>Select the entire table.</li>
<li>In <em>Table properties</em>, set:
</li>
</ul>
<p>The table will immediately update to reflect the changes, but the <em>Save</em> button
must be pressed for the changes to persist.</p>
<h2>Cell properties</h2>
<figure class="image image-style-align-right">
<img style="aspect-ratio:320/386;" src="3_Tables_image.png"
width="320" height="386">
</figure>
<p>Similarly to table properties, the
<img src="12_Tables_image.png"
width="19" height="19">button opens a popup which adjusts the styling of one or more cells (based
on the user's selection).</p>
<p>The following options can be adjusted:</p>
<ul>
<li data-list-item-id="e9e0801ebcbbb763dc569814c922cde20">The border style, color and width (same as table properties), but applying
to the current cell only.</li>
<li data-list-item-id="ec3f1f0bbae91f118bfc86c5bace6edc9">The background color, with none set by default.</li>
<li data-list-item-id="e93abf34e4f6f6a4732cd8a63577567f4">The width and height of the cell in percentage (must end with <code>%</code>)
or pixels (must end with <code>px</code>).</li>
<li data-list-item-id="ed65a0f2554a5130beeb7d478710f7bfe">The padding (the distance of the text compared to the cell's borders).</li>
<li
data-list-item-id="e76d8603c089d10e807576cb2e535a388">The alignment of the text, both horizontally (left, centered, right, justified)
and vertically (top, middle or bottom).</li>
</ul>
<p>The cell will immediately update to reflect the changes, but the <em>Save</em> button
must be pressed for the changes to persist.</p>
<h2>Caption</h2>
<p>Press the
<img src="4_Tables_image.png"
width="18" height="17">button to insert a caption or a text description of the table, which is
going to be displayed above the table.</p>
<h2>Table borders</h2>
<p>By default, tables will come with a predefined gray border.</p>
<p>To adjust the borders, follow these steps:</p>
<ol>
<li data-list-item-id="e04c95cbf1d8480c634f7ba6310d5c66e">Select the table.</li>
<li data-list-item-id="e61b666fe10bca473400bd66f8fd11f36">In the floating panel, select the <em>Table properties</em> option (
<img
src="14_Tables_image.png" width="21" height="21">).
<ol>
<li><em>Style</em> to <em>Single</em>
<li data-list-item-id="e2ab1b3f540def81d55ec91fe8a313fb3">Look for the <em>Border</em> section at the top of the newly opened panel.</li>
<li
data-list-item-id="eef63fe5e16f8103d07a308b4b9147fbf">This will control the outer borders of the table.</li>
<li data-list-item-id="eca1a3d01633d7d2d32c854bb39e66a53">Select a style for the border. Generally <em>Single</em> is the desirable
option.</li>
<li data-list-item-id="e7edbe51137f6a7d16d2ca9d7b3f553a2">Select a color for the border.</li>
<li data-list-item-id="e3ad74eae4fddb2fb4c60a1c1efc46950">Select a width for the border, expressed in pixels.&nbsp;</li>
</ol>
</li>
<li data-list-item-id="ed56e2883a25aa417c7f4bfddd7a07df6">Select all the cells of the table and then press the <em>Cell properties </em>option
(
<img src="9_Tables_image.png" width="21" height="21">).
<ol>
<li data-list-item-id="e93dc8de15098fd2c0c5674a24205b712">This will control the inner borders of the table, at cell level.</li>
<li
data-list-item-id="ee4f0deb1a42efa29e3b5147f79e92d3b">Note that it's possible to change the borders individually by selecting
one or more cells, case in which it will only change the borders that intersect
these cells.</li>
<li data-list-item-id="e3af86e5d6096d8afd7413012a9ecb6c6">Repeat the same steps as from step (2).</li>
</ol>
</li>
</ol>
<h3>Tables with invisible borders</h3>
<p>Tables can be set to have invisible borders in order to allow for basic
layouts (columns, grids) of text or <a href="#root/_help_mT0HEkOsz6i1">images</a> without
the distraction of their border:</p>
<ol>
<li data-list-item-id="e078bac0af18c7fe8f4ac2272a312e49d">First insert a table with the desired number of columns and rows.</li>
<li
data-list-item-id="ee25683e809fd85e65db655dea9efece5">Select the entire table.</li>
<li data-list-item-id="e66342ca801e71a9aba89fc217fcc66a5">In <em>Table properties</em>, set:
<ol>
<li data-list-item-id="edef2e2e5a6a8ac73e36101f4429863d8"><em>Style</em> to <em>Single</em>
</li>
<li><em>Color</em> to <code>transparent</code>
<li data-list-item-id="e6aaccfd6440d2999079364982c0b33fc"><em>Color</em> to <code>transparent</code>
</li>
<li>Width to <code>1px</code>.</li>
<li data-list-item-id="e13494edb598fd972373a368e79540ea1">Width to <code>1px</code>.</li>
</ol>
</li>
<li>In Cell Properties, set the same as on the previous step.</li>
</ol>
<h2>Markdown import/export</h2>
<p>Simple tables are exported in GitHub-flavored Markdown format (e.g. a
series of <code>|</code> items). If the table is found to be more complex
(it contains HTML elements, has custom sizes or images), the table is converted
to a HTML one instead.</p>
<p>Generally formatting loss should be minimal when exported to Markdown
due to the fallback to HTML formatting.</p>
<li data-list-item-id="e15221332e526341aefb8b87e715c0e32">In Cell Properties, set the same as on the previous step.</li>
</ol>
<h2>Markdown import/export</h2>
<p>Simple tables are exported in GitHub-flavored Markdown format (e.g. a
series of <code>|</code> items). If the table is found to be more complex
(it contains HTML elements, has custom sizes or images), the table is converted
to a HTML one instead.</p>
<p>Generally formatting loss should be minimal when exported to Markdown
due to the fallback to HTML formatting.</p>

View File

@ -1,10 +1,10 @@
<p>For <a href="#root/_help_CdNpE2pqjmI6">script code notes</a>, Trilium offers
<p>tFor <a href="#root/_help_CdNpE2pqjmI6">script code notes</a>, Trilium offers
an API that gives them access to various features of the application.</p>
<p>There are two APIs:</p>
<ul>
<li>One for the front-end scripts:&nbsp;<a class="reference-link" href="#root/_help_Q2z6av6JZVWm">Frontend API</a>
<li data-list-item-id="e85c7106495c24ab4dd38c430b0af87df">One for the front-end scripts:&nbsp;<a class="reference-link" href="#root/_help_Q2z6av6JZVWm">Frontend API</a>
</li>
<li>One for the back-end scripts:&nbsp;<a class="reference-link" href="#root/_help_MEtfsqa5VwNi">Backend API</a>
<li data-list-item-id="e4f976e19004a21620ed1c6b58f9d1eb3">One for the back-end scripts:&nbsp;<a class="reference-link" href="#root/_help_MEtfsqa5VwNi">Backend API</a>
</li>
</ul>
<p>In both cases, the API resides in a global variable, <code>api</code>,

View File

@ -1,106 +1,106 @@
{
"keyboard_actions": {
"back-in-note-history": "Navega a la nota previa a l'historial",
"forward-in-note-history": "Navega a la següent nota a l'historial",
"dialogs": "Diàlegs",
"other": "Altres"
},
"login": {
"title": "Inicia sessió",
"password": "Contrasenya",
"button": "Inicia sessió"
},
"set_password": {
"password": "Contrasenya"
},
"setup": {
"next": "Següent",
"title": "Configuració"
},
"setup_sync-from-desktop": {
"step6-here": "aquí"
},
"setup_sync-from-server": {
"server-host-placeholder": "https://<hostname>:<port>",
"proxy-server-placeholder": "https://<hostname>:<port>",
"note": "Nota:",
"password": "Contrasenya",
"password-placeholder": "Contrasenya",
"back": "Torna"
},
"setup_sync-in-progress": {
"outstanding-items-default": "N/A"
},
"share_page": {
"parent": "pare:"
},
"weekdays": {
"monday": "Dilluns",
"tuesday": "Dimarts",
"wednesday": "Dimecres",
"thursday": "Dijous",
"friday": "Divendres",
"saturday": "Dissabte",
"sunday": "Diumenge"
},
"months": {
"january": "Gener",
"february": "Febrer",
"march": "Març",
"april": "Abril",
"may": "Maig",
"june": "Juny",
"july": "Juliol",
"august": "Agost",
"september": "Setembre",
"october": "Octubre",
"november": "Novembre",
"december": "Desembre"
},
"special_notes": {
"search_prefix": "Cerca:"
},
"hidden-subtree": {
"spacer-title": "Espaiador",
"calendar-title": "Calendari",
"bookmarks-title": "Marcadors",
"settings-title": "Ajustos",
"options-title": "Opcions",
"appearance-title": "Aparença",
"shortcuts-title": "Dreceres",
"images-title": "Imatges",
"spellcheck-title": "Correció ortogràfica",
"password-title": "Contrasenya",
"multi-factor-authentication-title": "MFA",
"etapi-title": "ETAPI",
"backup-title": "Còpia de seguretat",
"sync-title": "Sincronització",
"ai-llm-title": "AI/LLM",
"other": "Altres",
"advanced-title": "Avançat",
"inbox-title": "Safata d'entrada"
},
"notes": {
"duplicate-note-suffix": "(dup)"
},
"tray": {
"bookmarks": "Marcadors"
},
"modals": {
"error_title": "Error"
},
"share_theme": {
"search_placeholder": "Cerca...",
"subpages": "Subpàgines:",
"expand": "Expandeix"
},
"hidden_subtree_templates": {
"description": "Descripció",
"calendar": "Calendari",
"table": "Taula",
"geolocation": "Geolocalització",
"board": "Tauler",
"status": "Estat",
"board_status_done": "Fet"
}
"keyboard_actions": {
"back-in-note-history": "Navega a la nota previa a l'historial",
"forward-in-note-history": "Navega a la següent nota a l'historial",
"dialogs": "Diàlegs",
"other": "Altres"
},
"login": {
"title": "Inicia sessió",
"password": "Contrasenya",
"button": "Inicia sessió"
},
"set_password": {
"password": "Contrasenya"
},
"setup": {
"next": "Següent",
"title": "Configuració"
},
"setup_sync-from-desktop": {
"step6-here": "aquí"
},
"setup_sync-from-server": {
"server-host-placeholder": "https://<hostname>:<port>",
"proxy-server-placeholder": "https://<hostname>:<port>",
"note": "Nota:",
"password": "Contrasenya",
"password-placeholder": "Contrasenya",
"back": "Torna"
},
"setup_sync-in-progress": {
"outstanding-items-default": "N/A"
},
"share_page": {
"parent": "pare:"
},
"weekdays": {
"monday": "Dilluns",
"tuesday": "Dimarts",
"wednesday": "Dimecres",
"thursday": "Dijous",
"friday": "Divendres",
"saturday": "Dissabte",
"sunday": "Diumenge"
},
"months": {
"january": "Gener",
"february": "Febrer",
"march": "Març",
"april": "Abril",
"may": "Maig",
"june": "Juny",
"july": "Juliol",
"august": "Agost",
"september": "Setembre",
"october": "Octubre",
"november": "Novembre",
"december": "Desembre"
},
"special_notes": {
"search_prefix": "Cerca:"
},
"hidden-subtree": {
"spacer-title": "Espaiador",
"calendar-title": "Calendari",
"bookmarks-title": "Marcadors",
"settings-title": "Ajustos",
"options-title": "Opcions",
"appearance-title": "Aparença",
"shortcuts-title": "Dreceres",
"images-title": "Imatges",
"spellcheck-title": "Correció ortogràfica",
"password-title": "Contrasenya",
"multi-factor-authentication-title": "MFA",
"etapi-title": "ETAPI",
"backup-title": "Còpia de seguretat",
"sync-title": "Sincronització",
"ai-llm-title": "AI/LLM",
"other": "Altres",
"advanced-title": "Avançat",
"inbox-title": "Safata d'entrada"
},
"notes": {
"duplicate-note-suffix": "(dup)"
},
"tray": {
"bookmarks": "Marcadors"
},
"modals": {
"error_title": "Error"
},
"share_theme": {
"search_placeholder": "Cerca...",
"subpages": "Subpàgines:",
"expand": "Expandeix"
},
"hidden_subtree_templates": {
"description": "Descripció",
"calendar": "Calendari",
"table": "Taula",
"geolocation": "Geolocalització",
"board": "Tauler",
"status": "Estat",
"board_status_done": "Fet"
}
}

View File

@ -18,6 +18,7 @@ import { highlightAuto } from "@triliumnext/highlightjs";
import becca from "../becca/becca.js";
import { BAttachment } from "../services/backend_script_entrypoint.js";
import SAttachment from "./shaca/entities/sattachment.js";
import { sanitizeUrl } from "@braintree/sanitize-url";
const shareAdjustedAssetPath = isDev ? assetPath : `../${assetPath}`;
const templateCache: Map<string, string> = new Map();
@ -250,6 +251,8 @@ export function getContent(note: SNote | BNote) {
renderFile(note, result);
} else if (note.type === "book") {
result.isEmpty = true;
} else if (note.type === "webView") {
renderWebView(note, result);
} else {
result.content = `<p>${t("content_renderer.note-cannot-be-displayed")}</p>`;
}
@ -414,6 +417,13 @@ function renderFile(note: SNote | BNote, result: Result) {
}
}
function renderWebView(note: SNote | BNote, result: Result) {
const url = note.getLabelValue("webViewSrc");
if (!url) return;
result.content = `<iframe class="webview" src="${sanitizeUrl(url)}" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>`;
}
export default {
getContent
};

View File

@ -331,6 +331,41 @@
"format": "markdown",
"dataFileName": "Using the desktop application .md",
"attachments": []
},
{
"isClone": false,
"noteId": "Rp0q8bSP6Ayl",
"notePath": [
"pOsGYCXsbNQG",
"Otzi9La2YAUX",
"poXkQfguuA0U",
"Rp0q8bSP6Ayl"
],
"title": "System Requirements",
"notePosition": 20,
"prefix": null,
"isExpanded": false,
"type": "text",
"mime": "text/html",
"attributes": [
{
"type": "label",
"name": "shareAlias",
"value": "system-requirements",
"isInheritable": false,
"position": 30
},
{
"type": "label",
"name": "iconClass",
"value": "bx bx-chip",
"isInheritable": false,
"position": 40
}
],
"format": "markdown",
"dataFileName": "System Requirements.md",
"attachments": []
}
]
},
@ -1151,6 +1186,41 @@
"format": "markdown",
"dataFileName": "Third-party cloud hosting.md",
"attachments": []
},
{
"isClone": false,
"noteId": "iGTnKjubbXkA",
"notePath": [
"pOsGYCXsbNQG",
"Otzi9La2YAUX",
"WOcw2SLH6tbX",
"iGTnKjubbXkA"
],
"title": "System Requirements",
"notePosition": 140,
"prefix": null,
"isExpanded": false,
"type": "text",
"mime": "text/html",
"attributes": [
{
"type": "label",
"name": "shareAlias",
"value": "system-requirements",
"isInheritable": false,
"position": 30
},
{
"type": "label",
"name": "iconClass",
"value": "bx bx-chip",
"isInheritable": false,
"position": 40
}
],
"format": "markdown",
"dataFileName": "System Requirements.md",
"attachments": []
}
]
},
@ -8281,7 +8351,7 @@
"dataFileName": "8_Tables_image.png"
},
{
"attachmentId": "UdhsypjV4pzZ",
"attachmentId": "rrLM5BQCZ5ci",
"title": "image.png",
"role": "image",
"mime": "image/png",
@ -8289,7 +8359,7 @@
"dataFileName": "9_Tables_image.png"
},
{
"attachmentId": "VerzwlO9y6Na",
"attachmentId": "UdhsypjV4pzZ",
"title": "image.png",
"role": "image",
"mime": "image/png",
@ -8297,7 +8367,7 @@
"dataFileName": "10_Tables_image.png"
},
{
"attachmentId": "wYkQvargZlNF",
"attachmentId": "VerzwlO9y6Na",
"title": "image.png",
"role": "image",
"mime": "image/png",
@ -8305,12 +8375,28 @@
"dataFileName": "11_Tables_image.png"
},
{
"attachmentId": "YFGeAN41kvZY",
"attachmentId": "wYkQvargZlNF",
"title": "image.png",
"role": "image",
"mime": "image/png",
"position": 10,
"dataFileName": "12_Tables_image.png"
},
{
"attachmentId": "YFGeAN41kvZY",
"title": "image.png",
"role": "image",
"mime": "image/png",
"position": 10,
"dataFileName": "13_Tables_image.png"
},
{
"attachmentId": "zRLxHrKJiK8N",
"title": "image.png",
"role": "image",
"mime": "image/png",
"position": 10,
"dataFileName": "14_Tables_image.png"
}
]
}

View File

@ -0,0 +1,12 @@
# System Requirements
The desktop version of Trilium supports all three main operating systems:
* Windows
* Windows 11 is officially supported.
* Windows on ARM is also supported
* Linux:
* Most modern distributions are supported, including NixOS.
* ARM is supported in `aarch64` (no ARM v7 support).
* macOS
* Minimum supported operating system: macOS Monterey
* Both Intel and Apple Silicon devices are supported.

View File

@ -0,0 +1,11 @@
# System Requirements
* Using Docker, the server can be run on Windows, Linux and macOS devices.
* Native binaries are provided for Linux x64 and ARM (`aarch64`).
## Legacy ARM support
The Docker builds also provide `linux/arm/v7` and `linux/arm/v8` platforms. These platforms are considered legacy since Trilium uses Node.js version 24 which have [officially downgraded support](https://github.com/nodejs/node/commit/6682861d6f) for these platforms to “experimental”.
As a result, Trilium needs to use Node.js 22 for these versions. As soon as soon Node.js 22 will no longer be compatible, support for `armv7` and `armv8` will be dropped entirely.
Regardless of upstream support, these platforms are supported on a best-effort basis and are not officially supported by the Trilium development team. Bug reports are accepted but they will not be treated with priority; contributions are welcome.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 541 B

View File

@ -9,13 +9,13 @@ To create a table, simply press the table button and select with the mouse the d
When a table is selected, a special formatting toolbar will appear:
<img src="9_Tables_image.png" width="384" height="100">
<img src="10_Tables_image.png" width="384" height="100">
## Navigating a table
* Using the mouse:
* Click on a cell to focus it.
* Click the <img src="10_Tables_image.png" width="28" height="27"> button at the top or the bottom of a table to insert an empty paragraph near it.
* Click the <img src="11_Tables_image.png" width="28" height="27"> button at the top or the bottom of a table to insert an empty paragraph near it.
* Click the <img src="5_Tables_image.png" width="24" height="26"> button at the top-left of the table to select it entirely (for easy copy-pasting or cutting) or drag and drop it to relocate the table.
* Using the keyboard:
* Use the arrow keys on the keyboard to easily navigate between cells.
@ -48,7 +48,7 @@ More options are available by pressing the arrow next to it:
<figure class="image image-style-align-right"><img style="aspect-ratio:312/311;" src="2_Tables_image.png" width="312" height="311"></figure>
The table properties can be accessed via the <img src="12_Tables_image.png" width="19" height="19"> button and allows for the following adjustments:
The table properties can be accessed via the <img src="13_Tables_image.png" width="19" height="19"> button and allows for the following adjustments:
* Border (not the border of the cells, but the outer rim of the table), which includes the style (single, double), color and width.
* The background color, with none set by default.
@ -63,7 +63,7 @@ The table will immediately update to reflect the changes, but the _Save_ button
<figure class="image image-style-align-right"><img style="aspect-ratio:320/386;" src="3_Tables_image.png" width="320" height="386"></figure>
Similarly to table properties, the <img src="11_Tables_image.png" width="19" height="19"> button opens a popup which adjusts the styling of one or more cells (based on the user's selection).
Similarly to table properties, the <img src="12_Tables_image.png" width="19" height="19"> button opens a popup which adjusts the styling of one or more cells (based on the user's selection).
The following options can be adjusted:
@ -79,7 +79,25 @@ The cell will immediately update to reflect the changes, but the _Save_ button m
Press the <img src="4_Tables_image.png" width="18" height="17"> button to insert a caption or a text description of the table, which is going to be displayed above the table.
## Tables with invisible borders
## Table borders
By default, tables will come with a predefined gray border.
To adjust the borders, follow these steps:
1. Select the table.
2. In the floating panel, select the _Table properties_ option (<img src="14_Tables_image.png" width="21" height="21">).
1. Look for the _Border_ section at the top of the newly opened panel.
2. This will control the outer borders of the table.
3. Select a style for the border. Generally _Single_ is the desirable option.
4. Select a color for the border.
5. Select a width for the border, expressed in pixels.
3. Select all the cells of the table and then press the _Cell properties_ option (<img src="9_Tables_image.png" width="21" height="21">).
1. This will control the inner borders of the table, at cell level.
2. Note that it's possible to change the borders individually by selecting one or more cells, case in which it will only change the borders that intersect these cells.
3. Repeat the same steps as from step (2).
### Tables with invisible borders
Tables can be set to have invisible borders in order to allow for basic layouts (columns, grids) of text or [images](Images.md) without the distraction of their border:

View File

@ -1,5 +1,5 @@
# Script API
For [script code notes](../Scripting.md), Trilium offers an API that gives them access to various features of the application.
tFor [script code notes](../Scripting.md), Trilium offers an API that gives them access to various features of the application.
There are two APIs:

View File

@ -52,4 +52,19 @@
body:not(.math-loaded) .math-tex {
visibility: hidden;
}
body.type-webView #main {
max-width: unset;
}
body.type-webView #content {
display: flex;
flex-direction: column;
height: 100%;
}
iframe.webview {
width: 100%;
flex-grow: 1;
}