feat(docs): reorganize script notes & document render note

This commit is contained in:
Elian Doran
2025-04-06 15:30:54 +03:00
parent 161f6172e7
commit fb6e6241d9
58 changed files with 1428 additions and 1276 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -13,7 +13,7 @@
<h1 data-trilium-h1>Advanced Showcases</h1>
<div class="ck-content">
<p>Trilium offers advanced functionality through <a href="../Note%20Types/Code/Scripting.html">Scripts</a> and
<p>Trilium offers advanced functionality through <a href="../Scripting.html">Scripts</a> and
<a
href="Attributes/Promoted%20Attributes.html">Promoted Attributes</a>. To illustrate these features, we've prepared
several showcases available in the <a href="Database.html">demo notes</a>:</p>

View File

@@ -15,7 +15,7 @@
<div class="ck-content">
<p>Task Manager is a <a href="../Attributes/Promoted%20Attributes.html">promoted attributes</a> and
<a
href="../../Note%20Types/Code/Scripting.html">scripts</a>showcase present in the <a href="../Database.html">demo notes</a>.</p>
href="../../Scripting.html">scripts</a>showcase present in the <a href="../Database.html">demo notes</a>.</p>
<h2>Demo</h2>
<p>
<img src="../../Attachments/task-manager.png">
@@ -37,7 +37,7 @@
<p>Task template defines several <a href="../Attributes/Promoted%20Attributes.html">promoted attributes</a> -
todoDate, doneDate, tags, location. Importantly it also defines <code>~runOnAttributeChange</code> relation
- <a href="../../Note%20Types/Code/Events.html">event</a> handler which is
run on attribute change. This <a href="../../Note%20Types/Code/Scripting.html">script</a> handles
run on attribute change. This <a href="../../Scripting.html">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>

View File

@@ -24,8 +24,8 @@
<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="../../Note%20Types/Code/Scripting.html">script</a> can
render its output.</p>
a placeholder where a <a href="../../Scripting.html">script</a> can render
its output.</p>
<p>Scripts for <code>Render Notes</code> are defined in a <a href="../Attributes.html">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="../../Note%20Types/Code.html">code notes</a> that

View File

@@ -13,7 +13,7 @@
<h1 data-trilium-h1>Custom Request Handler</h1>
<div class="ck-content">
<p>Trilium provides a mechanism for <a href="../Note%20Types/Code/Scripting.html">scripts</a> to
<p>Trilium provides a mechanism for <a href="../Scripting.html">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>

View File

@@ -18,36 +18,9 @@
The database file is named <code>document.db</code> and is stored in the
application's default&nbsp;<a href="../Installation%20%26%20Setup/Data%20directory.html">Data directory</a>.</p>
<h2>Demo Notes</h2>
<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 href="../Note%20Types/Relation%20Map.html">Relation Map</a>
</li>
<li><a href="Advanced%20Showcases/Day%20Notes.html">Day Notes</a>
</li>
<li><a href="Advanced%20Showcases/Weight%20Tracker.html">Weight Tracker</a>
</li>
<li><a href="Advanced%20Showcases/Task%20Manager.html">Task Manager</a>
</li>
<li><a href="../Basic%20Concepts%20and%20Features/Themes.html">Custom CSS 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>
<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&nbsp;<a class="reference-link" href="Database/Demo%20Notes.html">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

View File

@@ -0,0 +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>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="../../Note%20Types/Relation%20Map.html">Relation Map</a>
</li>
<li><a class="reference-link" href="../Advanced%20Showcases/Day%20Notes.html">Day Notes</a>
</li>
<li><a class="reference-link" href="../Advanced%20Showcases/Weight%20Tracker.html">Weight Tracker</a>
</li>
<li><a class="reference-link" href="../Advanced%20Showcases/Task%20Manager.html">Task Manager</a>
</li>
<li><a class="reference-link" href="../../Basic%20Concepts%20and%20Features/Themes.html">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>

View File

@@ -20,7 +20,7 @@
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&nbsp;<a href="Manually%20altering%20the%20database/SQL%20Console.html">SQL Console</a>.</p>
<p>See&nbsp;<a class="reference-link" href="Manually%20altering%20the%20database/SQL%20Console.html">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>

View File

@@ -24,7 +24,7 @@
<p>There are also more complex note types such as&nbsp;<a class="reference-link"
href="../Note%20Types/Saved%20Search.html">Saved Search</a>,&nbsp;<a class="reference-link"
href="../Note%20Types/Render%20Note.html">Render Note</a>&nbsp;that usually
go hand-in-hand with&nbsp;<a class="reference-link" href="../Note%20Types/Code/Scripting.html">Scripting</a>.</p>
go hand-in-hand with&nbsp;<a class="reference-link" href="../Scripting.html">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>

View File

@@ -16,7 +16,7 @@
<p>A <a href="../Notes.html">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="../../Note%20Types/Code/Scripting.html">scripts</a>.
<p>This can be especially useful to include dependencies for your <a href="../../Scripting.html">scripts</a>.
The&nbsp;<a class="reference-link" href="../../Advanced%20Usage/Advanced%20Showcases/Weight%20Tracker.html">Weight Tracker</a>&nbsp;shows
how to use <a href="https://chartjs.org/">chartjs</a> which is attached to
the script note.</p>

View File

@@ -84,7 +84,7 @@
<p><strong>Script Launcher</strong>
<br>An advanced launcher which will run a script upon pressing. See&nbsp;
<a
href="../../Note%20Types/Code/Scripting.html">Scripts</a>&nbsp;for more information.</p>
href="../../Scripting.html">Scripts</a>&nbsp;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>
@@ -95,7 +95,7 @@
</p>
<p>Allows defining a custom widget to be rendered inside the launcher. See&nbsp;
<a
href="../../Developer%20Guides/Widget%20Basics.html">Widget Basics</a>&nbsp;for more information.</p>
href="../../Scripting/Widget%20Basics.html">Widget Basics</a>&nbsp;for more information.</p>
</li>
<li>
<p><strong>Spacers</strong>

View File

@@ -36,7 +36,7 @@
<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="Note%20Types/Code/Scripting.html">scripting</a>support would be a XSS security hole, while with the single
href="Scripting.html">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>

View File

@@ -47,7 +47,7 @@
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="../Note%20Types/Code/Scripting.html">scripts</a> just
<p>You can alter the behavior with <a href="../Scripting.html">scripts</a> just
like for normal frontend. For script notes to be executed, they need to
have labeled <code>#run=mobileStartup</code>.</p>
</div>

View File

@@ -94,7 +94,7 @@
<tr>
<td><a class="reference-link" href="Note%20Types/Render%20Note.html">Render Note</a>
</td>
<td>Used in&nbsp;<a class="reference-link" href="Note%20Types/Code/Scripting.html">Scripting</a>,
<td>Used in&nbsp;<a class="reference-link" href="Scripting.html">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>

View File

@@ -21,7 +21,8 @@
<li>computer programmers can store code snippets as notes with syntax highlighting</li>
<li>JavaScript code notes can be executed inside Trilium for some extra functionality
<ul>
<li>we call such JavaScript code notes "scripts" - see <a href="Code/Scripting.html">Scripts</a>
<li>we call such JavaScript code notes "scripts" - see&nbsp;<a class="reference-link"
href="../Scripting.html">Scripting</a>
</li>
</ul>
</li>

View File

@@ -13,9 +13,9 @@
<h1 data-trilium-h1>Events</h1>
<div class="ck-content">
<p><a href="Scripting.html">Script</a> notes can be triggered by events. Note
that these are backend events and thus relation need to point to the "JS
backend" code note.</p>
<p><a href="../../Scripting.html">Script</a> notes can be triggered by events.
Note that these are backend events and thus relation need to point to the
"JS backend" code note.</p>
<h2>Global events</h2>
<p>Global events are attached to the script note via label. Simply create
e.g. "run" label with some of these values and script note will be executed

View File

@@ -12,7 +12,48 @@
<div class="content">
<h1 data-trilium-h1>Render Note</h1>
<div class="ck-content"></div>
<div class="ck-content">
<figure class="image">
<img style="aspect-ratio:601/216;" src="Render Note_image.png" width="601"
height="216">
</figure>
<p>Render Note is used in&nbsp;<a class="reference-link" href="../Scripting.html">Scripting</a>.
It works by displaying the HTML of a&nbsp;<a class="reference-link" href="Code.html">Code</a>&nbsp;note,
via an attribute.</p>
<h2>Creating a render note</h2>
<ol>
<li>Create a&nbsp;<a class="reference-link" href="Code.html">Code</a>&nbsp;note
with the HTML language, with what needs to be displayed (for example <code>&lt;p&gt;Hello world.&lt;/p&gt;</code>).</li>
<li>Create a&nbsp;<a class="reference-link" href="Render%20Note.html">Render Note</a>.</li>
<li>Assign the <code>renderNote</code> <a href="../Advanced%20Usage/Attributes.html">relation</a> to
point at the previously created code note.</li>
</ol>
<h2>Dynamic content</h2>
<p>A static HTML is generally not enough for&nbsp;<a class="reference-link"
href="../Scripting.html">Scripting</a>. The next step is to automatically
change parts of the note using JavaScript.</p>
<p>For a simple example, we are going to create a render note that displays
the current date in a field.</p>
<p>To do so, first create an HTML code note with the following content:</p><pre><code class="language-text-x-trilium-auto">&lt;h1&gt;Current date &amp; time&lt;/h1&gt;
The current date &amp; time is &lt;span class="date"&gt;&lt;/span&gt;</code></pre>
<p>Now we need to add the script. Create another&nbsp;<a class="reference-link"
href="Code.html">Code</a>, but this time of JavaScript (frontend) language.
Make sure the newly created note is a direct child of the HTML note created
previously; with the following content:</p><pre><code class="language-text-x-trilium-auto">const $dateEl = api.$container.find(".date");
$dateEl.text(new Date());</code></pre>
<p>Now create a render note at any place and set its <code>~renderNote</code> relation
to point to the HTML note. When the render note is accessed it will display:</p>
<blockquote>
<p><strong>Current date &amp; time</strong>
<br>The current date &amp; time is Sun Apr 06 2025 15:26:29 GMT+0300 (Eastern
European Summer Time)</p>
</blockquote>
<h2>Examples</h2>
<ul>
<li><a class="reference-link" href="../Advanced%20Usage/Advanced%20Showcases/Weight%20Tracker.html">Weight Tracker</a>&nbsp;which
is present in the&nbsp;<a class="reference-link" href="../Advanced%20Usage/Database/Demo%20Notes.html">Demo Notes</a>.</li>
</ul>
</div>
</div>
</body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../../../style.css">
<link rel="stylesheet" href="../style.css">
<base target="_parent">
<title data-trilium-title>Scripting</title>
</head>
@@ -13,10 +13,10 @@
<h1 data-trilium-h1>Scripting</h1>
<div class="ck-content">
<p>Trilium supports creating&nbsp;<a class="reference-link" href="../Code.html">Code</a>&nbsp;notes,
<p>Trilium supports creating&nbsp;<a class="reference-link" href="Note%20Types/Code.html">Code</a>&nbsp;notes,
i.e. notes which allow you to store some programming code and highlight
it. Special case is JavaScript code notes which can also be executed inside
Trilium which can in conjunction with&nbsp;<a class="reference-link" href="Script%20API.html">Script API</a>&nbsp;provide
Trilium which can in conjunction with&nbsp;<a class="reference-link" href="Note%20Types/Code/Script%20API.html">Script API</a>&nbsp;provide
extra functionality.</p>
<h2>Scripting</h2>
<p>To go further I must explain basic architecture of Trilium - in its essence
@@ -33,7 +33,7 @@
we're onto something.</p>
<h2>Use cases</h2>
<ul>
<li><a class="reference-link" href="Scripting/New%20Task%20launcher%20button.html">"New Task" launcher button</a>
<li><a class="reference-link" href="Scripting/Examples/New%20Task%20launcher%20button.html">"New Task" launcher button</a>
</li>
</ul>
<h2>Action handler</h2>
@@ -48,19 +48,19 @@
by Trilium runtime so when we restart Trilium, button won't be there.</p>
<p>We need to execute it every time Trilium starts up, but we probably don't
want to have to manually click on play button on every start up.</p>
<p>The solution is marked by red circle at the bottom - this note has <a href="../../Advanced%20Usage/Attributes.html">label</a> <code>#run=frontendStartup</code> -
<p>The solution is marked by red circle at the bottom - this note has <a href="Advanced%20Usage/Attributes.html">label</a> <code>#run=frontendStartup</code> -
this is one of the "system" labels which Trilium understands. As you might
guess, this will cause all such labeled script notes to be executed once
Trilium frontend starts up.</p>
<p>(<code>#run=frontendStartup</code> does not work for <a href="../../Installation%20%26%20Setup/Mobile%20Frontend.html">Mobile frontend</a> -
<p>(<code>#run=frontendStartup</code> does not work for <a href="Installation%20%26%20Setup/Mobile%20Frontend.html">Mobile frontend</a> -
if you want to have scripts running there, give the script <code>#run=mobileStartup</code> label)</p>
<h2>More showcases</h2>
<p>You can see more scripting with explanation in&nbsp;<a class="reference-link"
href="../../Advanced%20Usage/Advanced%20Showcases.html">Advanced Showcases</a>.</p>
href="Advanced%20Usage/Advanced%20Showcases.html">Advanced Showcases</a>.</p>
<h2>Events</h2>
<p>See&nbsp;<a class="reference-link" href="Events.html">Events</a>.</p>
<p>See&nbsp;<a class="reference-link" href="Note%20Types/Code/Events.html">Events</a>.</p>
<h2>Script API</h2>
<p>See&nbsp;<a class="reference-link" href="Script%20API.html">Script API</a>.</p>
<p>See&nbsp;<a class="reference-link" href="Note%20Types/Code/Script%20API.html">Script API</a>.</p>
</div>
</div>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../../../../style.css">
<link rel="stylesheet" href="../../../style.css">
<base target="_parent">
<title data-trilium-title>&quot;New Task&quot; launcher button</title>
</head>
@@ -14,17 +14,17 @@
<div class="ck-content">
<p>In this example we are going to extend the functionality of&nbsp;<a class="reference-link"
href="../../../Advanced%20Usage/Advanced%20Showcases/Task%20Manager.html">Task Manager</a>&nbsp;showcase
href="../../Advanced%20Usage/Advanced%20Showcases/Task%20Manager.html">Task Manager</a>&nbsp;showcase
(which comes by default with Trilium) by adding a button in the&nbsp;
<a
class="reference-link" href="../../../Basic%20Concepts%20and%20Features/UI%20Elements/Launch%20Bar.html">Launch Bar</a>&nbsp; (
class="reference-link" href="../../Basic%20Concepts%20and%20Features/UI%20Elements/Launch%20Bar.html">Launch Bar</a>&nbsp; (
<img src="New Task launcher button_i.png">) to create a new task automatically and open it.</p>
<h2>Creating the note</h2>
<ol>
<li>First, create a new&nbsp;<a class="reference-link" href="../../Code.html">Code</a>&nbsp;note
<li>First, create a new&nbsp;<a class="reference-link" href="../../Note%20Types/Code.html">Code</a>&nbsp;note
type with the <em>JS frontend</em> language.</li>
<li>Define the <code>#run=frontendStartup</code> label in&nbsp;<a class="reference-link"
href="../../../Advanced%20Usage/Attributes.html">Attributes</a>.</li>
href="../../Advanced%20Usage/Attributes.html">Attributes</a>.</li>
</ol>
<h2>Content of the script</h2>
<p>Copy-paste the following script:</p><pre><code class="language-application-javascript-env-backend">api.addButtonToToolbar({
@@ -45,7 +45,7 @@
<h2>Testing the functionality</h2>
<p>Since we set the script to be run on start-up, all we need to do is to
<a
href="../../../Troubleshooting/Refreshing%20the%20application.html">refresh the application</a>.</p>
href="../../Troubleshooting/Refreshing%20the%20application.html">refresh the application</a>.</p>
<h2>Understanding how the script works</h2>
<table class="ck-table-resized">
<colgroup>
@@ -64,8 +64,8 @@
});</code></pre>
</td>
<td>
<p>This uses the <a href="../../../Developer%20Guides/Frontend%20Basics.html">Front-end API</a> to
create a icon in the&nbsp;<a class="reference-link" href="../../../Basic%20Concepts%20and%20Features/UI%20Elements/Launch%20Bar.html">Launch Bar</a>,
<p>This uses the <a href="../Frontend%20Basics.html">Front-end API</a> to create
a icon in the&nbsp;<a class="reference-link" href="../../Basic%20Concepts%20and%20Features/UI%20Elements/Launch%20Bar.html">Launch Bar</a>,
by specifying:</p>
<ul>
<li>A title</li>
@@ -99,8 +99,8 @@
</td>
<td>
<ul>
<li>Here we identify a note with the <a href="../../../Advanced%20Usage/Attributes.html">label</a> <code>#taskTodoRoot</code>.
This is how the&nbsp;<a class="reference-link" href="../../../Advanced%20Usage/Advanced%20Showcases/Task%20Manager.html">Task Manager</a>&nbsp;showcase
<li>Here we identify a note with the <a href="../../Advanced%20Usage/Attributes.html">label</a> <code>#taskTodoRoot</code>.
This is how the&nbsp;<a class="reference-link" href="../../Advanced%20Usage/Advanced%20Showcases/Task%20Manager.html">Task Manager</a>&nbsp;showcase
knows where to place all the different tasks.</li>
<li>Normally this might return a <code>null</code> value if no such note could
be identified, but error handling is outside the scope of this example.&nbsp;</li>
@@ -133,7 +133,7 @@
</td>
<td>
<ul>
<li>Since we know the <a href="../../../Advanced%20Usage/Note%20ID.html">ID</a> of
<li>Since we know the <a href="../../Advanced%20Usage/Note%20ID.html">ID</a> of
the newly created note, all we have to do now is to show this note to the
user.</li>
</ul>

View File

@@ -246,13 +246,6 @@
</li>
<li><a href="User%20Guide/Note%20Types/Code.html" target="detail">Code</a>
<ul>
<li><a href="User%20Guide/Note%20Types/Code/Scripting.html" target="detail">Scripting</a>
<ul>
<li><a href="User%20Guide/Note%20Types/Code/Scripting/New%20Task%20launcher%20button.html"
target="detail">&quot;New Task&quot; launcher button</a>
</li>
</ul>
</li>
<li><a href="User%20Guide/Note%20Types/Code/Script%20API.html" target="detail">Script API</a>
</li>
<li><a href="User%20Guide/Note%20Types/Code/Events.html" target="detail">Events</a>
@@ -321,42 +314,6 @@
</li>
</ul>
</li>
<li>Developer Guides
<ul>
<li><a href="User%20Guide/Developer%20Guides/Frontend%20Basics.html" target="detail">Frontend Basics</a>
</li>
<li><a href="User%20Guide/Developer%20Guides/Widget%20Basics.html" target="detail">Widget Basics</a>
</li>
<li>Examples
<ul>
<li><a href="User%20Guide/Developer%20Guides/Examples/Downloading%20responses%20from%20Goo.html"
target="detail">Downloading responses from Google Forms</a>
</li>
<li><a href="User%20Guide/Developer%20Guides/Examples/Using%20promoted%20attributes%20to%20c.html"
target="detail">Using promoted attributes to configure scripts</a>
</li>
</ul>
</li>
<li>REST API
<ul>
<li>ETAPI
<ul>
<li><a href="User%20Guide/Developer%20Guides/REST%20API/ETAPI/API%20Reference.dat"
target="detail">API Reference</a>
</li>
</ul>
</li>
<li>Internal API
<ul>
<li><a href="User%20Guide/Developer%20Guides/REST%20API/Internal%20API/API%20Reference.dat"
target="detail">API Reference</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Advanced Usage
<ul>
<li><a href="User%20Guide/Advanced%20Usage/Attributes.html" target="detail">Attributes</a>
@@ -401,6 +358,11 @@
target="detail">Custom Resource Providers</a>
</li>
<li><a href="User%20Guide/Advanced%20Usage/ETAPI%20(REST%20API).html" target="detail">ETAPI (REST API)</a>
<ul>
<li><a href="User%20Guide/Advanced%20Usage/ETAPI%20(REST%20API)/API%20Reference.dat"
target="detail">API Reference</a>
</li>
</ul>
</li>
<li><a href="User%20Guide/Advanced%20Usage/Default%20Note%20Title.html" target="detail">Default Note Title</a>
</li>
@@ -414,6 +376,8 @@
</li>
</ul>
</li>
<li><a href="User%20Guide/Advanced%20Usage/Database/Demo%20Notes.html" target="detail">Demo Notes</a>
</li>
</ul>
</li>
<li><a href="User%20Guide/Advanced%20Usage/Configuration%20(config.ini%20or%20e.html"
@@ -441,6 +405,34 @@
</li>
<li><a href="User%20Guide/Advanced%20Usage/Note%20ID.html" target="detail">Note ID</a>
</li>
<li>Internal API
<ul>
<li><a href="User%20Guide/Advanced%20Usage/Internal%20API/API%20Reference.dat"
target="detail">API Reference</a>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="User%20Guide/Scripting.html" target="detail">Scripting</a>
<ul>
<li><a href="User%20Guide/Scripting/Frontend%20Basics.html" target="detail">Frontend Basics</a>
</li>
<li><a href="User%20Guide/Scripting/Widget%20Basics.html" target="detail">Widget Basics</a>
</li>
<li>Examples
<ul>
<li><a href="User%20Guide/Scripting/Examples/New%20Task%20launcher%20button.html"
target="detail">&quot;New Task&quot; launcher button</a>
</li>
<li><a href="User%20Guide/Scripting/Examples/Downloading%20responses%20from%20Goo.html"
target="detail">Downloading responses from Google Forms</a>
</li>
<li><a href="User%20Guide/Scripting/Examples/Using%20promoted%20attributes%20to%20c.html"
target="detail">Using promoted attributes to configure scripts</a>
</li>
</ul>
</li>
</ul>
</li>
<li>Attachments