Auto This is the default behavior in which the note will be editable by default,
- unless it becomes large enough to trigger read-only mode.
-
+ unless it becomes large enough to trigger read-only mode.
Read-only The note will be always marked as read-only, regardless of its size. Nevertheless,
it's still possible to temporarily edit the note if needed. This is generally
- useful for notes that are not prone to change.
-
+ useful for notes that are not prone to change.
Always Editable This option will bypass the automatic read-only activation for this particular
note. It's useful for large notes that are frequently edited.
From 6a94889646bfde3be8636e949f56ffca355c6bc0 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 6 Apr 2025 15:30:54 +0300
Subject: [PATCH 056/147] feat(docs): reorganize script notes & document render
note
---
docs/User Guide/!!!meta.json | 1104 +++++++++--------
.../Advanced Usage/Advanced Showcases.md | 2 +-
.../Advanced Showcases/Task Manager.md | 4 +-
.../Advanced Showcases/Weight Tracker.md | 2 +-
.../Advanced Usage/Custom Request Handler.md | 2 +-
.../User Guide/Advanced Usage/Database.md | 19 +-
.../Advanced Usage/Database/Demo Notes.md | 19 +
.../Manually altering the database.md | 2 +-
.../ETAPI (REST API)}/API Reference.dat | 0
.../Internal API/API Reference.dat | 0
.../Basic Concepts and Features/Notes.md | 2 +-
.../Notes/Attachments.md | 2 +-
.../UI Elements/Launch Bar.md | 4 +-
docs/User Guide/User Guide/FAQ.md | 2 +-
.../Installation & Setup/Mobile Frontend.md | 2 +-
docs/User Guide/User Guide/Note Types.md | 2 +-
docs/User Guide/User Guide/Note Types/Code.md | 2 +-
.../User Guide/Note Types/Code/Events.md | 2 +-
.../Scripting/New Task launcher button.md | 47 -
.../User Guide/Note Types/Render Note.md | 39 +
.../Note Types/Render Note_image.png | Bin 0 -> 30231 bytes
.../{Note Types/Code => }/Scripting.md | 14 +-
.../Downloading responses from Goo.md | 0
.../Examples/New Task launcher button.md | 47 +
.../Examples}/New Task launcher button_i.png | Bin
.../Examples/Using promoted attributes .png | Bin
.../Using promoted attributes to c.md | 0
.../Frontend Basics.md | 0
.../Widget Basics.md | 0
.../app/doc_notes/en/User Guide/!!!meta.json | 1104 +++++++++--------
.../Advanced Usage/Advanced Showcases.html | 2 +-
.../Advanced Showcases/Task Manager.html | 4 +-
.../Advanced Showcases/Weight Tracker.html | 4 +-
.../Custom Request Handler.html | 2 +-
.../User Guide/Advanced Usage/Database.html | 33 +-
.../Advanced Usage/Database/Demo Notes.html | 50 +
.../Manually altering the database.html | 2 +-
.../ETAPI (REST API)}/API Reference.dat | 0
.../Internal API/API Reference.dat | 0
.../Basic Concepts and Features/Notes.html | 2 +-
.../Notes/Attachments.html | 2 +-
.../UI Elements/Launch Bar.html | 4 +-
.../en/User Guide/User Guide/FAQ.html | 2 +-
.../Installation & Setup/Mobile Frontend.html | 2 +-
.../en/User Guide/User Guide/Note Types.html | 2 +-
.../User Guide/Note Types/Code.html | 3 +-
.../User Guide/Note Types/Code/Events.html | 6 +-
.../User Guide/Note Types/Render Note.html | 43 +-
.../Note Types/Render Note_image.png | Bin 0 -> 30231 bytes
.../{Note Types/Code => }/Scripting.html | 18 +-
.../Downloading responses from Goo.html | 0
.../Examples}/New Task launcher button.html | 22 +-
.../Examples}/New Task launcher button_i.png | Bin
.../Examples/Using promoted attributes .png | Bin
.../Using promoted attributes to c.html | 0
.../Frontend Basics.html | 0
.../Widget Basics.html | 0
.../doc_notes/en/User Guide/navigation.html | 78 +-
58 files changed, 1428 insertions(+), 1276 deletions(-)
create mode 100644 docs/User Guide/User Guide/Advanced Usage/Database/Demo Notes.md
rename docs/User Guide/User Guide/{Developer Guides/REST API/ETAPI => Advanced Usage/ETAPI (REST API)}/API Reference.dat (100%)
rename docs/User Guide/User Guide/{Developer Guides/REST API => Advanced Usage}/Internal API/API Reference.dat (100%)
delete mode 100644 docs/User Guide/User Guide/Note Types/Code/Scripting/New Task launcher button.md
create mode 100644 docs/User Guide/User Guide/Note Types/Render Note_image.png
rename docs/User Guide/User Guide/{Note Types/Code => }/Scripting.md (56%)
rename docs/User Guide/User Guide/{Developer Guides => Scripting}/Examples/Downloading responses from Goo.md (100%)
create mode 100644 docs/User Guide/User Guide/Scripting/Examples/New Task launcher button.md
rename docs/User Guide/User Guide/{Note Types/Code/Scripting => Scripting/Examples}/New Task launcher button_i.png (100%)
rename docs/User Guide/User Guide/{Developer Guides => Scripting}/Examples/Using promoted attributes .png (100%)
rename docs/User Guide/User Guide/{Developer Guides => Scripting}/Examples/Using promoted attributes to c.md (100%)
rename docs/User Guide/User Guide/{Developer Guides => Scripting}/Frontend Basics.md (100%)
rename docs/User Guide/User Guide/{Developer Guides => Scripting}/Widget Basics.md (100%)
create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database/Demo Notes.html
rename src/public/app/doc_notes/en/User Guide/User Guide/{Developer Guides/REST API/ETAPI => Advanced Usage/ETAPI (REST API)}/API Reference.dat (100%)
rename src/public/app/doc_notes/en/User Guide/User Guide/{Developer Guides/REST API => Advanced Usage}/Internal API/API Reference.dat (100%)
create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Render Note_image.png
rename src/public/app/doc_notes/en/User Guide/User Guide/{Note Types/Code => }/Scripting.html (79%)
rename src/public/app/doc_notes/en/User Guide/User Guide/{Developer Guides => Scripting}/Examples/Downloading responses from Goo.html (100%)
rename src/public/app/doc_notes/en/User Guide/User Guide/{Note Types/Code/Scripting => Scripting/Examples}/New Task launcher button.html (83%)
rename src/public/app/doc_notes/en/User Guide/User Guide/{Note Types/Code/Scripting => Scripting/Examples}/New Task launcher button_i.png (100%)
rename src/public/app/doc_notes/en/User Guide/User Guide/{Developer Guides => Scripting}/Examples/Using promoted attributes .png (100%)
rename src/public/app/doc_notes/en/User Guide/User Guide/{Developer Guides => Scripting}/Examples/Using promoted attributes to c.html (100%)
rename src/public/app/doc_notes/en/User Guide/User Guide/{Developer Guides => Scripting}/Frontend Basics.html (100%)
rename src/public/app/doc_notes/en/User Guide/User Guide/{Developer Guides => Scripting}/Widget Basics.html (100%)
diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json
index 0ecd44f5e..c1cdcc09c 100644
--- a/docs/User Guide/!!!meta.json
+++ b/docs/User Guide/!!!meta.json
@@ -4858,13 +4858,6 @@
"type": "text",
"mime": "text/markdown",
"attributes": [
- {
- "type": "relation",
- "name": "internalLink",
- "value": "CdNpE2pqjmI6",
- "isInheritable": false,
- "position": 10
- },
{
"type": "relation",
"name": "internalLink",
@@ -4913,6 +4906,13 @@
"value": "bx bx-code",
"isInheritable": false,
"position": 90
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "CdNpE2pqjmI6",
+ "isInheritable": false,
+ "position": 100
}
],
"format": "markdown",
@@ -4937,173 +4937,6 @@
],
"dirFileName": "Code",
"children": [
- {
- "isClone": false,
- "noteId": "CdNpE2pqjmI6",
- "notePath": [
- "pOsGYCXsbNQG",
- "KSZ04uQ2D1St",
- "6f9hih2hXXZk",
- "CdNpE2pqjmI6"
- ],
- "title": "Scripting",
- "notePosition": 10,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/markdown",
- "attributes": [
- {
- "type": "relation",
- "name": "internalLink",
- "value": "6f9hih2hXXZk",
- "isInheritable": false,
- "position": 10
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "GLks18SNjxmC",
- "isInheritable": false,
- "position": 20
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "TjLYAo3JMO8X",
- "isInheritable": false,
- "position": 30
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "zEY4DaJG4YT5",
- "isInheritable": false,
- "position": 40
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "RDslemsQ6gCp",
- "isInheritable": false,
- "position": 50
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "5668rwcirq1t",
- "isInheritable": false,
- "position": 60
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "GPERMystNGTB",
- "isInheritable": false,
- "position": 70
- },
- {
- "type": "label",
- "name": "shareAlias",
- "value": "scripts",
- "isInheritable": false,
- "position": 20
- }
- ],
- "format": "markdown",
- "dataFileName": "Scripting.md",
- "attachments": [],
- "dirFileName": "Scripting",
- "children": [
- {
- "isClone": false,
- "noteId": "TjLYAo3JMO8X",
- "notePath": [
- "pOsGYCXsbNQG",
- "KSZ04uQ2D1St",
- "6f9hih2hXXZk",
- "CdNpE2pqjmI6",
- "TjLYAo3JMO8X"
- ],
- "title": "\"New Task\" launcher button",
- "notePosition": 20,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/html",
- "attributes": [
- {
- "type": "relation",
- "name": "internalLink",
- "value": "xYjQUYhpbUEW",
- "isInheritable": false,
- "position": 10
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "xYmIYSP6wE3F",
- "isInheritable": false,
- "position": 20
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "6f9hih2hXXZk",
- "isInheritable": false,
- "position": 30
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "zEY4DaJG4YT5",
- "isInheritable": false,
- "position": 40
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "yIhgI5H7A2Sm",
- "isInheritable": false,
- "position": 50
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "m1lbrzyKDaRB",
- "isInheritable": false,
- "position": 60
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "s8alTXmpFR61",
- "isInheritable": false,
- "position": 70
- },
- {
- "type": "label",
- "name": "iconClass",
- "value": "bx bx-task",
- "isInheritable": false,
- "position": 80
- }
- ],
- "format": "markdown",
- "dataFileName": "New Task launcher button.md",
- "attachments": [
- {
- "attachmentId": "9C2JA6tdtRpN",
- "title": "image.png",
- "role": "image",
- "mime": "image/png",
- "position": 10,
- "dataFileName": "New Task launcher button_i.png"
- }
- ]
- }
- ]
- },
{
"isClone": false,
"noteId": "GLks18SNjxmC",
@@ -5422,11 +5255,62 @@
"value": "bx bx-extension",
"isInheritable": false,
"position": 10
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "CdNpE2pqjmI6",
+ "isInheritable": false,
+ "position": 20
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "R7abl2fc6Mxi",
+ "isInheritable": false,
+ "position": 30
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "6tZeKvSHEUiB",
+ "isInheritable": false,
+ "position": 40
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "6f9hih2hXXZk",
+ "isInheritable": false,
+ "position": 50
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "HcABDtFCkbFN",
+ "isInheritable": false,
+ "position": 60
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "zEY4DaJG4YT5",
+ "isInheritable": false,
+ "position": 70
}
],
"format": "markdown",
"dataFileName": "Render Note.md",
- "attachments": []
+ "attachments": [
+ {
+ "attachmentId": "SeTpR7xEDMvQ",
+ "title": "image.png",
+ "role": "image",
+ "mime": "image/png",
+ "position": 10,
+ "dataFileName": "Render Note_image.png"
+ }
+ ]
},
{
"isClone": false,
@@ -6551,321 +6435,6 @@
}
]
},
- {
- "isClone": false,
- "noteId": "k2Gc17NbaAwb",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb"
- ],
- "title": "Developer Guides",
- "notePosition": 260,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/html",
- "attributes": [
- {
- "type": "label",
- "name": "iconClass",
- "value": "bx bxl-javascript",
- "isInheritable": false,
- "position": 10
- }
- ],
- "format": "markdown",
- "attachments": [],
- "dirFileName": "Developer Guides",
- "children": [
- {
- "isClone": false,
- "noteId": "yIhgI5H7A2Sm",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "yIhgI5H7A2Sm"
- ],
- "title": "Frontend Basics",
- "notePosition": 10,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/markdown",
- "attributes": [
- {
- "type": "relation",
- "name": "internalLink",
- "value": "zEY4DaJG4YT5",
- "isInheritable": false,
- "position": 10
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "GLks18SNjxmC",
- "isInheritable": false,
- "position": 20
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "SynTBQiBsdYJ",
- "isInheritable": false,
- "position": 30
- },
- {
- "type": "label",
- "name": "shareAlias",
- "value": "frontend-basics",
- "isInheritable": false,
- "position": 30
- }
- ],
- "format": "markdown",
- "dataFileName": "Frontend Basics.md",
- "attachments": []
- },
- {
- "isClone": false,
- "noteId": "SynTBQiBsdYJ",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "SynTBQiBsdYJ"
- ],
- "title": "Widget Basics",
- "notePosition": 20,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/markdown",
- "attributes": [
- {
- "type": "relation",
- "name": "internalLink",
- "value": "zEY4DaJG4YT5",
- "isInheritable": false,
- "position": 10
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "BFs8mudNFgCS",
- "isInheritable": false,
- "position": 20
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "GLks18SNjxmC",
- "isInheritable": false,
- "position": 30
- },
- {
- "type": "label",
- "name": "shareAlias",
- "value": "widget-basics",
- "isInheritable": false,
- "position": 20
- }
- ],
- "format": "markdown",
- "dataFileName": "Widget Basics.md",
- "attachments": []
- },
- {
- "isClone": false,
- "noteId": "es8OU2GuguFU",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "es8OU2GuguFU"
- ],
- "title": "Examples",
- "notePosition": 30,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/html",
- "attributes": [],
- "format": "markdown",
- "attachments": [],
- "dirFileName": "Examples",
- "children": [
- {
- "isClone": false,
- "noteId": "7kZPMD0uFwkH",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "es8OU2GuguFU",
- "7kZPMD0uFwkH"
- ],
- "title": "Downloading responses from Google Forms",
- "notePosition": 10,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/html",
- "attributes": [],
- "format": "markdown",
- "dataFileName": "Downloading responses from Goo.md",
- "attachments": []
- },
- {
- "isClone": false,
- "noteId": "DL92EjAaXT26",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "es8OU2GuguFU",
- "DL92EjAaXT26"
- ],
- "title": "Using promoted attributes to configure scripts",
- "notePosition": 20,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/html",
- "attributes": [],
- "format": "markdown",
- "dataFileName": "Using promoted attributes to c.md",
- "attachments": [
- {
- "attachmentId": "7P3jzVEa1mk7",
- "title": "image.png",
- "role": "image",
- "mime": "image/png",
- "position": 10,
- "dataFileName": "Using promoted attributes .png"
- }
- ]
- }
- ]
- },
- {
- "isClone": false,
- "noteId": "CXny4YWKsD7z",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "CXny4YWKsD7z"
- ],
- "title": "REST API",
- "notePosition": 40,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/html",
- "attributes": [],
- "format": "markdown",
- "attachments": [],
- "dirFileName": "REST API",
- "children": [
- {
- "isClone": false,
- "noteId": "cqCjxpN8NhbH",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "CXny4YWKsD7z",
- "cqCjxpN8NhbH"
- ],
- "title": "ETAPI",
- "notePosition": 10,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/html",
- "attributes": [],
- "format": "markdown",
- "attachments": [],
- "dirFileName": "ETAPI",
- "children": [
- {
- "isClone": false,
- "noteId": "9qPsTWBorUhQ",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "CXny4YWKsD7z",
- "cqCjxpN8NhbH",
- "9qPsTWBorUhQ"
- ],
- "title": "API Reference",
- "notePosition": 10,
- "prefix": null,
- "isExpanded": false,
- "type": "webView",
- "mime": "",
- "attributes": [
- {
- "type": "label",
- "name": "webViewSrc",
- "value": "/etapi/docs",
- "isInheritable": false,
- "position": 10
- }
- ],
- "dataFileName": "API Reference.dat",
- "attachments": []
- }
- ]
- },
- {
- "isClone": false,
- "noteId": "0vTSyvhPTAOz",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "CXny4YWKsD7z",
- "0vTSyvhPTAOz"
- ],
- "title": "Internal API",
- "notePosition": 20,
- "prefix": null,
- "isExpanded": false,
- "type": "text",
- "mime": "text/html",
- "attributes": [],
- "format": "markdown",
- "attachments": [],
- "dirFileName": "Internal API",
- "children": [
- {
- "isClone": false,
- "noteId": "z8O2VG4ZZJD7",
- "notePath": [
- "pOsGYCXsbNQG",
- "k2Gc17NbaAwb",
- "CXny4YWKsD7z",
- "0vTSyvhPTAOz",
- "z8O2VG4ZZJD7"
- ],
- "title": "API Reference",
- "notePosition": 10,
- "prefix": null,
- "isExpanded": false,
- "type": "webView",
- "mime": "",
- "attributes": [
- {
- "type": "label",
- "name": "webViewSrc",
- "value": "/api/docs",
- "isInheritable": false,
- "position": 10
- }
- ],
- "dataFileName": "API Reference.dat",
- "attachments": []
- }
- ]
- }
- ]
- }
- ]
- },
{
"isClone": false,
"noteId": "tC7s2alapj8V",
@@ -6874,7 +6443,7 @@
"tC7s2alapj8V"
],
"title": "Advanced Usage",
- "notePosition": 300,
+ "notePosition": 310,
"prefix": null,
"isExpanded": false,
"type": "text",
@@ -7262,6 +6831,13 @@
"value": "note-map",
"isInheritable": false,
"position": 30
+ },
+ {
+ "type": "label",
+ "name": "iconClass",
+ "value": "bx bxs-network-chart",
+ "isInheritable": false,
+ "position": 40
}
],
"format": "markdown",
@@ -7885,7 +7461,37 @@
],
"format": "markdown",
"dataFileName": "ETAPI (REST API).md",
- "attachments": []
+ "attachments": [],
+ "dirFileName": "ETAPI (REST API)",
+ "children": [
+ {
+ "isClone": false,
+ "noteId": "9qPsTWBorUhQ",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "tC7s2alapj8V",
+ "pgxEVkzLl1OP",
+ "9qPsTWBorUhQ"
+ ],
+ "title": "API Reference",
+ "notePosition": 10,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "webView",
+ "mime": "",
+ "attributes": [
+ {
+ "type": "label",
+ "name": "webViewSrc",
+ "value": "/etapi/docs",
+ "isInheritable": false,
+ "position": 10
+ }
+ ],
+ "dataFileName": "API Reference.dat",
+ "attachments": []
+ }
+ ]
},
{
"isClone": false,
@@ -7896,7 +7502,7 @@
"47ZrP6FNuoG8"
],
"title": "Default Note Title",
- "notePosition": 110,
+ "notePosition": 120,
"prefix": null,
"isExpanded": false,
"type": "text",
@@ -7937,7 +7543,7 @@
"wX4HbRucYSDD"
],
"title": "Database",
- "notePosition": 130,
+ "notePosition": 140,
"prefix": null,
"isExpanded": false,
"type": "text",
@@ -7950,41 +7556,6 @@
"isInheritable": false,
"position": 10
},
- {
- "type": "relation",
- "name": "internalLink",
- "value": "iRwzGnHPzonm",
- "isInheritable": false,
- "position": 20
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "l0tKav7yLHGF",
- "isInheritable": false,
- "position": 30
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "R7abl2fc6Mxi",
- "isInheritable": false,
- "position": 40
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "xYjQUYhpbUEW",
- "isInheritable": false,
- "position": 50
- },
- {
- "type": "relation",
- "name": "internalLink",
- "value": "Wy267RK4M69c",
- "isInheritable": false,
- "position": 60
- },
{
"type": "relation",
"name": "internalLink",
@@ -8012,6 +7583,13 @@
"value": "bx bx-data",
"isInheritable": false,
"position": 50
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "6tZeKvSHEUiB",
+ "isInheritable": false,
+ "position": 90
}
],
"format": "markdown",
@@ -8038,16 +7616,16 @@
{
"type": "relation",
"name": "internalLink",
- "value": "YKWqdJhzi2VY",
+ "value": "tAassRL4RSQL",
"isInheritable": false,
- "position": 10
+ "position": 20
},
{
"type": "relation",
"name": "internalLink",
- "value": "tAassRL4RSQL",
+ "value": "YKWqdJhzi2VY",
"isInheritable": false,
- "position": 20
+ "position": 30
}
],
"format": "markdown",
@@ -8141,6 +7719,69 @@
]
}
]
+ },
+ {
+ "isClone": false,
+ "noteId": "6tZeKvSHEUiB",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "tC7s2alapj8V",
+ "wX4HbRucYSDD",
+ "6tZeKvSHEUiB"
+ ],
+ "title": "Demo Notes",
+ "notePosition": 20,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/html",
+ "attributes": [
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "iRwzGnHPzonm",
+ "isInheritable": false,
+ "position": 60
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "l0tKav7yLHGF",
+ "isInheritable": false,
+ "position": 70
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "R7abl2fc6Mxi",
+ "isInheritable": false,
+ "position": 80
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "xYjQUYhpbUEW",
+ "isInheritable": false,
+ "position": 90
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "Wy267RK4M69c",
+ "isInheritable": false,
+ "position": 100
+ },
+ {
+ "type": "label",
+ "name": "iconClass",
+ "value": "bx bx-package",
+ "isInheritable": false,
+ "position": 110
+ }
+ ],
+ "format": "markdown",
+ "dataFileName": "Demo Notes.md",
+ "attachments": []
}
]
},
@@ -8153,7 +7794,7 @@
"Gzjqa934BdH4"
],
"title": "Configuration (config.ini or environment variables)",
- "notePosition": 140,
+ "notePosition": 150,
"prefix": null,
"isExpanded": false,
"type": "text",
@@ -8180,7 +7821,7 @@
"ivYnonVFBxbQ"
],
"title": "Bulk actions",
- "notePosition": 150,
+ "notePosition": 160,
"prefix": null,
"isExpanded": false,
"type": "text",
@@ -8207,7 +7848,7 @@
"4FahAwuGTAwC"
],
"title": "Note source",
- "notePosition": 160,
+ "notePosition": 170,
"prefix": null,
"isExpanded": false,
"type": "text",
@@ -8320,7 +7961,7 @@
"1YeN2MzFUluU"
],
"title": "Technologies used",
- "notePosition": 170,
+ "notePosition": 180,
"prefix": null,
"isExpanded": false,
"type": "text",
@@ -8469,7 +8110,7 @@
"m1lbrzyKDaRB"
],
"title": "Note ID",
- "notePosition": 180,
+ "notePosition": 190,
"prefix": null,
"isExpanded": false,
"type": "text",
@@ -8493,6 +8134,391 @@
"format": "markdown",
"dataFileName": "Note ID.md",
"attachments": []
+ },
+ {
+ "isClone": false,
+ "noteId": "0vTSyvhPTAOz",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "tC7s2alapj8V",
+ "0vTSyvhPTAOz"
+ ],
+ "title": "Internal API",
+ "notePosition": 200,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/html",
+ "attributes": [],
+ "format": "markdown",
+ "attachments": [],
+ "dirFileName": "Internal API",
+ "children": [
+ {
+ "isClone": false,
+ "noteId": "z8O2VG4ZZJD7",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "tC7s2alapj8V",
+ "0vTSyvhPTAOz",
+ "z8O2VG4ZZJD7"
+ ],
+ "title": "API Reference",
+ "notePosition": 10,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "webView",
+ "mime": "",
+ "attributes": [
+ {
+ "type": "label",
+ "name": "webViewSrc",
+ "value": "/api/docs",
+ "isInheritable": false,
+ "position": 10
+ }
+ ],
+ "dataFileName": "API Reference.dat",
+ "attachments": []
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "isClone": false,
+ "noteId": "CdNpE2pqjmI6",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "CdNpE2pqjmI6"
+ ],
+ "title": "Scripting",
+ "notePosition": 320,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/markdown",
+ "attributes": [
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "6f9hih2hXXZk",
+ "isInheritable": false,
+ "position": 10
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "GLks18SNjxmC",
+ "isInheritable": false,
+ "position": 20
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "TjLYAo3JMO8X",
+ "isInheritable": false,
+ "position": 30
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "zEY4DaJG4YT5",
+ "isInheritable": false,
+ "position": 40
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "RDslemsQ6gCp",
+ "isInheritable": false,
+ "position": 50
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "5668rwcirq1t",
+ "isInheritable": false,
+ "position": 60
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "GPERMystNGTB",
+ "isInheritable": false,
+ "position": 70
+ },
+ {
+ "type": "label",
+ "name": "shareAlias",
+ "value": "scripts",
+ "isInheritable": false,
+ "position": 20
+ },
+ {
+ "type": "label",
+ "name": "iconClass",
+ "value": "bx bxs-file-js",
+ "isInheritable": false,
+ "position": 80
+ }
+ ],
+ "format": "markdown",
+ "dataFileName": "Scripting.md",
+ "attachments": [],
+ "dirFileName": "Scripting",
+ "children": [
+ {
+ "isClone": false,
+ "noteId": "yIhgI5H7A2Sm",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "CdNpE2pqjmI6",
+ "yIhgI5H7A2Sm"
+ ],
+ "title": "Frontend Basics",
+ "notePosition": 20,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/markdown",
+ "attributes": [
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "zEY4DaJG4YT5",
+ "isInheritable": false,
+ "position": 10
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "GLks18SNjxmC",
+ "isInheritable": false,
+ "position": 20
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "SynTBQiBsdYJ",
+ "isInheritable": false,
+ "position": 30
+ },
+ {
+ "type": "label",
+ "name": "shareAlias",
+ "value": "frontend-basics",
+ "isInheritable": false,
+ "position": 30
+ }
+ ],
+ "format": "markdown",
+ "dataFileName": "Frontend Basics.md",
+ "attachments": []
+ },
+ {
+ "isClone": false,
+ "noteId": "SynTBQiBsdYJ",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "CdNpE2pqjmI6",
+ "SynTBQiBsdYJ"
+ ],
+ "title": "Widget Basics",
+ "notePosition": 30,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/markdown",
+ "attributes": [
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "zEY4DaJG4YT5",
+ "isInheritable": false,
+ "position": 10
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "BFs8mudNFgCS",
+ "isInheritable": false,
+ "position": 20
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "GLks18SNjxmC",
+ "isInheritable": false,
+ "position": 30
+ },
+ {
+ "type": "label",
+ "name": "shareAlias",
+ "value": "widget-basics",
+ "isInheritable": false,
+ "position": 20
+ }
+ ],
+ "format": "markdown",
+ "dataFileName": "Widget Basics.md",
+ "attachments": []
+ },
+ {
+ "isClone": false,
+ "noteId": "es8OU2GuguFU",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "CdNpE2pqjmI6",
+ "es8OU2GuguFU"
+ ],
+ "title": "Examples",
+ "notePosition": 50,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/html",
+ "attributes": [],
+ "format": "markdown",
+ "attachments": [],
+ "dirFileName": "Examples",
+ "children": [
+ {
+ "isClone": false,
+ "noteId": "TjLYAo3JMO8X",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "CdNpE2pqjmI6",
+ "es8OU2GuguFU",
+ "TjLYAo3JMO8X"
+ ],
+ "title": "\"New Task\" launcher button",
+ "notePosition": 10,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/html",
+ "attributes": [
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "xYjQUYhpbUEW",
+ "isInheritable": false,
+ "position": 10
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "xYmIYSP6wE3F",
+ "isInheritable": false,
+ "position": 20
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "6f9hih2hXXZk",
+ "isInheritable": false,
+ "position": 30
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "zEY4DaJG4YT5",
+ "isInheritable": false,
+ "position": 40
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "yIhgI5H7A2Sm",
+ "isInheritable": false,
+ "position": 50
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "m1lbrzyKDaRB",
+ "isInheritable": false,
+ "position": 60
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "s8alTXmpFR61",
+ "isInheritable": false,
+ "position": 70
+ },
+ {
+ "type": "label",
+ "name": "iconClass",
+ "value": "bx bx-task",
+ "isInheritable": false,
+ "position": 80
+ }
+ ],
+ "format": "markdown",
+ "dataFileName": "New Task launcher button.md",
+ "attachments": [
+ {
+ "attachmentId": "9C2JA6tdtRpN",
+ "title": "image.png",
+ "role": "image",
+ "mime": "image/png",
+ "position": 10,
+ "dataFileName": "New Task launcher button_i.png"
+ }
+ ]
+ },
+ {
+ "isClone": false,
+ "noteId": "7kZPMD0uFwkH",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "CdNpE2pqjmI6",
+ "es8OU2GuguFU",
+ "7kZPMD0uFwkH"
+ ],
+ "title": "Downloading responses from Google Forms",
+ "notePosition": 20,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/html",
+ "attributes": [],
+ "format": "markdown",
+ "dataFileName": "Downloading responses from Goo.md",
+ "attachments": []
+ },
+ {
+ "isClone": false,
+ "noteId": "DL92EjAaXT26",
+ "notePath": [
+ "pOsGYCXsbNQG",
+ "CdNpE2pqjmI6",
+ "es8OU2GuguFU",
+ "DL92EjAaXT26"
+ ],
+ "title": "Using promoted attributes to configure scripts",
+ "notePosition": 30,
+ "prefix": null,
+ "isExpanded": false,
+ "type": "text",
+ "mime": "text/html",
+ "attributes": [],
+ "format": "markdown",
+ "dataFileName": "Using promoted attributes to c.md",
+ "attachments": [
+ {
+ "attachmentId": "7P3jzVEa1mk7",
+ "title": "image.png",
+ "role": "image",
+ "mime": "image/png",
+ "position": 10,
+ "dataFileName": "Using promoted attributes .png"
+ }
+ ]
+ }
+ ]
}
]
},
@@ -8504,7 +8530,7 @@
"Wxt3vVlxlYLi"
],
"title": "Attachments",
- "notePosition": 310,
+ "notePosition": 340,
"prefix": null,
"isExpanded": false,
"type": "text",
diff --git a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases.md b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases.md
index ec81ead6c..758dc4435 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases.md
@@ -1,5 +1,5 @@
# Advanced Showcases
-Trilium offers advanced functionality through [Scripts](../Note%20Types/Code/Scripting.md) and [Promoted Attributes](Attributes/Promoted%20Attributes.md). To illustrate these features, we've prepared several showcases available in the [demo notes](Database.md):
+Trilium offers advanced functionality through [Scripts](../Scripting.md) and [Promoted Attributes](Attributes/Promoted%20Attributes.md). To illustrate these features, we've prepared several showcases available in the [demo notes](Database.md):
* [Relation Map](../Note%20Types/Relation%20Map.md)
* [Day Notes](Advanced%20Showcases/Day%20Notes.md)
diff --git a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager.md b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager.md
index 026840ae0..3618f5aae 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager.md
@@ -1,5 +1,5 @@
# Task Manager
-Task Manager is a [promoted attributes](../Attributes/Promoted%20Attributes.md) and [scripts](../../Note%20Types/Code/Scripting.md)showcase present in the [demo notes](../Database.md).
+Task Manager is a [promoted attributes](../Attributes/Promoted%20Attributes.md) and [scripts](../../Scripting.md)showcase present in the [demo notes](../Database.md).
## Demo
@@ -15,7 +15,7 @@ New tasks are created in the TODO note which has `~child:template` [relation](..
### Attributes
-Task template defines several [promoted attributes](../Attributes/Promoted%20Attributes.md) - todoDate, doneDate, tags, location. Importantly it also defines `~runOnAttributeChange` relation - [event](../../Note%20Types/Code/Events.md) handler which is run on attribute change. This [script](../../Note%20Types/Code/Scripting.md) 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.
+Task template defines several [promoted attributes](../Attributes/Promoted%20Attributes.md) - todoDate, doneDate, tags, location. Importantly it also defines `~runOnAttributeChange` relation - [event](../../Note%20Types/Code/Events.md) handler which is run on attribute change. This [script](../../Scripting.md) 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.
### New task button
diff --git a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker.md b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker.md
index 32bfde718..584dacdce 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker.md
@@ -7,7 +7,7 @@ By adding `weight` as a [promoted attribute](../Attributes/Promoted%20Attributes
## Implementation
-The `Weight Tracker` note in the screenshot above is of the type `Render Note`. That type of note doesn't have any useful content itself. Instead it is a placeholder where a [script](../../Note%20Types/Code/Scripting.md) can render its output.
+The `Weight Tracker` note in the screenshot above is of the type `Render Note`. That type of note doesn't have any useful content itself. Instead it is a placeholder where a [script](../../Scripting.md) can render its output.
Scripts for `Render Notes` are defined in a [relation](../Attributes.md) called `~renderNote`. In this example, it's the `Weight Tracker`'s child `Implementation`. The Implementation consists of two [code notes](../../Note%20Types/Code.md) that contain some HTML and JavaScript respectively, which load all the notes with a `weight` attribute and display their values in a chart.
diff --git a/docs/User Guide/User Guide/Advanced Usage/Custom Request Handler.md b/docs/User Guide/User Guide/Advanced Usage/Custom Request Handler.md
index 6adbebe5e..b848fdd8d 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Custom Request Handler.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Custom Request Handler.md
@@ -1,5 +1,5 @@
# Custom Request Handler
-Trilium provides a mechanism for [scripts](../Note%20Types/Code/Scripting.md) 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. `/trilium buy milk`).
+Trilium provides a mechanism for [scripts](../Scripting.md) 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. `/trilium buy milk`).
## Create note from outside Trilium
diff --git a/docs/User Guide/User Guide/Advanced Usage/Database.md b/docs/User Guide/User Guide/Advanced Usage/Database.md
index e0ce389fb..a6dae59da 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Database.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Database.md
@@ -3,24 +3,9 @@ Your Trilium data is stored in a [SQLite](https://www.sqlite.org) database which
## Demo Notes
-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:
+When first starting Trilium, it will provide a set of notes to showcase various features of the application.
-* [Relation Map](../Note%20Types/Relation%20Map.md)
-* [Day Notes](Advanced%20Showcases/Day%20Notes.md)
-* [Weight Tracker](Advanced%20Showcases/Weight%20Tracker.md)
-* [Task Manager](Advanced%20Showcases/Task%20Manager.md)
-* [Custom CSS Themes](../Basic%20Concepts%20and%20Features/Themes.md)
-
-### Restoring Demo Notes
-
-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.
-
-You can easily restore the demo notes by using Trilium's built-in import feature by importing them:
-
-* Download [this .zip archive](https://github.com/TriliumNext/Notes/raw/develop/db/demo.zip) with the latest version of the demo notes
-* Right click on any note in your tree under which you would like the demo notes to be imported
-* Click "Import into note"
-* Select the .zip archive to import it
+For more information see Demo Notes.
## Manually Modifying the Database
diff --git a/docs/User Guide/User Guide/Advanced Usage/Database/Demo Notes.md b/docs/User Guide/User Guide/Advanced Usage/Database/Demo Notes.md
new file mode 100644
index 000000000..b68a3f67d
--- /dev/null
+++ b/docs/User Guide/User Guide/Advanced Usage/Database/Demo Notes.md
@@ -0,0 +1,19 @@
+# Demo Notes
+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:
+
+* Relation Map
+* Day Notes
+* Weight Tracker
+* Task Manager
+* Themes
+
+### Restoring Demo Notes
+
+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.
+
+You can easily restore the demo notes by using Trilium's built-in import feature by importing them:
+
+* Download [this .zip archive](https://github.com/TriliumNext/Notes/raw/develop/db/demo.zip) with the latest version of the demo notes
+* Right click on any note in your tree under which you would like the demo notes to be imported
+* Click "Import into note"
+* Select the .zip archive to import it
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database.md b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database.md
index e91260892..361e27f77 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Database/Manually altering the database.md
@@ -7,7 +7,7 @@ If you are doing any advanced development or troubleshooting where you manually
The SQL Console is Trilium's built-in database editor.
-See [SQL Console](Manually%20altering%20the%20database/SQL%20Console.md).
+See SQL Console.
## Externally modifying the database
diff --git a/docs/User Guide/User Guide/Developer Guides/REST API/ETAPI/API Reference.dat b/docs/User Guide/User Guide/Advanced Usage/ETAPI (REST API)/API Reference.dat
similarity index 100%
rename from docs/User Guide/User Guide/Developer Guides/REST API/ETAPI/API Reference.dat
rename to docs/User Guide/User Guide/Advanced Usage/ETAPI (REST API)/API Reference.dat
diff --git a/docs/User Guide/User Guide/Developer Guides/REST API/Internal API/API Reference.dat b/docs/User Guide/User Guide/Advanced Usage/Internal API/API Reference.dat
similarity index 100%
rename from docs/User Guide/User Guide/Developer Guides/REST API/Internal API/API Reference.dat
rename to docs/User Guide/User Guide/Advanced Usage/Internal API/API Reference.dat
diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes.md b/docs/User Guide/User Guide/Basic Concepts and Features/Notes.md
index 22ee8f262..381e59000 100644
--- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes.md
+++ b/docs/User Guide/User Guide/Basic Concepts and Features/Notes.md
@@ -5,7 +5,7 @@ Note is a central entity in Trilium. Main attributes of note are title and conte
The main note type is a rich-text note type called Text. For diagrams and drawing there is Canvas and Mermaid Diagrams.
-There are also more complex note types such as Saved Search, Render Note that usually go hand-in-hand with Scripting.
+There are also more complex note types such as Saved Search, Render Note that usually go hand-in-hand with Scripting.
In Trilium there's no specific "folder" note type. Any note can have children and thus be a folder.
diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Attachments.md b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Attachments.md
index 36e011c32..27c2f751d 100644
--- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Attachments.md
+++ b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Attachments.md
@@ -1,7 +1,7 @@
# Attachments
A [note](../Notes.md) in Trilium can _own_ one or more attachments, which can be either images or files. These attachments can be displayed or linked within the note that owns them.
-This can be especially useful to include dependencies for your [scripts](../../Note%20Types/Code/Scripting.md). The Weight Tracker shows how to use [chartjs](https://chartjs.org/) which is attached to the script note.
+This can be especially useful to include dependencies for your [scripts](../../Scripting.md). The Weight Tracker shows how to use [chartjs](https://chartjs.org/) which is attached to the script note.
Each note exclusively owns its attachments, meaning attachments cannot be shared or linked from one note to another. If an attachment link is copied to a different note, the attachment itself is duplicated, and the copies are managed independently thereafter.
diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar.md b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar.md
index 184d25de3..d3dfd49f8 100644
--- a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar.md
+++ b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar.md
@@ -50,13 +50,13 @@ Right click either the _Available launchers_ or _Visible launchers_ sections and
2. Optionally, set `hoistedNote` to hoist a particular note. See [Note Hoisting](../Navigation/Note%20Hoisting.md) for more information.
3. Optionally, set a `keyboardShortcut` to trigger the launcher.
2. **Script Launcher**
- An advanced launcher which will run a script upon pressing. See [Scripts](../../Note%20Types/Code/Scripting.md) for more information.
+ An advanced launcher which will run a script upon pressing. See [Scripts](../../Scripting.md) for more information.
1. Set `script` to point to the desired script to run.
2. Optionally, set a `keyboardShortcut` to trigger the launcher.
3. **Custom Widget**
- Allows defining a custom widget to be rendered inside the launcher. See [Widget Basics](../../Developer%20Guides/Widget%20Basics.md) for more information.
+ Allows defining a custom widget to be rendered inside the launcher. See [Widget Basics](../../Scripting/Widget%20Basics.md) for more information.
4. **Spacers**
Launchers that create some distance between other launchers for better visual distinction.
diff --git a/docs/User Guide/User Guide/FAQ.md b/docs/User Guide/User Guide/FAQ.md
index 7a30ea58c..d0af95d76 100644
--- a/docs/User Guide/User Guide/FAQ.md
+++ b/docs/User Guide/User Guide/FAQ.md
@@ -17,7 +17,7 @@ Common request is to allow multiple users collaborate, share notes etc. So far I
* 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.
* given its size it would probably pivot the attention away from my main focus which is a personal note-taking
-* 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 [scripting](Note%20Types/Code/Scripting.md)support would be a XSS security hole, while with the single user assumption it's an endless customizable tool.
+* 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 [scripting](Scripting.md)support would be a XSS security hole, while with the single user assumption it's an endless customizable tool.
## How to open multiple documents in one Trilium instance
diff --git a/docs/User Guide/User Guide/Installation & Setup/Mobile Frontend.md b/docs/User Guide/User Guide/Installation & Setup/Mobile Frontend.md
index 53351321a..619ca8431 100644
--- a/docs/User Guide/User Guide/Installation & Setup/Mobile Frontend.md
+++ b/docs/User Guide/User Guide/Installation & Setup/Mobile Frontend.md
@@ -31,4 +31,4 @@ Trilium decides automatically whether to use mobile or desktop frontend. If this
## Scripting
-You can alter the behavior with [scripts](../Note%20Types/Code/Scripting.md) just like for normal frontend. For script notes to be executed, they need to have labeled `#run=mobileStartup`.
\ No newline at end of file
+You can alter the behavior with [scripts](../Scripting.md) just like for normal frontend. For script notes to be executed, they need to have labeled `#run=mobileStartup`.
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Note Types.md b/docs/User Guide/User Guide/Note Types.md
index a455fb6ee..a47b3d650 100644
--- a/docs/User Guide/User Guide/Note Types.md
+++ b/docs/User Guide/User Guide/Note Types.md
@@ -25,4 +25,4 @@ It is possible to change the type of a note after it has been created via the _B
The following note types are supported by Trilium:
-
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.
Used in Scripting, 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.
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.
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.
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.
Used in Scripting, 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.
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.
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.
Represents an uploaded file such as PDFs, images, video or audio files.
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Note Types/Code.md b/docs/User Guide/User Guide/Note Types/Code.md
index a44bb8c8c..cba400984 100644
--- a/docs/User Guide/User Guide/Note Types/Code.md
+++ b/docs/User Guide/User Guide/Note Types/Code.md
@@ -5,7 +5,7 @@ This can be useful for a few things:
* computer programmers can store code snippets as notes with syntax highlighting
* JavaScript code notes can be executed inside Trilium for some extra functionality
- * we call such JavaScript code notes "scripts" - see [Scripts](Code/Scripting.md)
+ * we call such JavaScript code notes "scripts" - see Scripting
* JSON, XML etc. can be used as storage for structured data (typically used in conjunction with scripting)
For shorter snippets of code that can be embedded in [Text](Text.md) notes, see [Code blocks](Text/Developer-specific%20formatting/Code%20blocks.md).
diff --git a/docs/User Guide/User Guide/Note Types/Code/Events.md b/docs/User Guide/User Guide/Note Types/Code/Events.md
index 7e50ca30e..ca3336889 100644
--- a/docs/User Guide/User Guide/Note Types/Code/Events.md
+++ b/docs/User Guide/User Guide/Note Types/Code/Events.md
@@ -1,5 +1,5 @@
# Events
-[Script](Scripting.md) notes can be triggered by events. Note that these are backend events and thus relation need to point to the "JS backend" code note.
+[Script](../../Scripting.md) notes can be triggered by events. Note that these are backend events and thus relation need to point to the "JS backend" code note.
## Global events
diff --git a/docs/User Guide/User Guide/Note Types/Code/Scripting/New Task launcher button.md b/docs/User Guide/User Guide/Note Types/Code/Scripting/New Task launcher button.md
deleted file mode 100644
index 8c9148c42..000000000
--- a/docs/User Guide/User Guide/Note Types/Code/Scripting/New Task launcher button.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# "New Task" launcher button
-In this example we are going to extend the functionality of Task Manager showcase (which comes by default with Trilium) by adding a button in the Launch Bar () to create a new task automatically and open it.
-
-## Creating the note
-
-1. First, create a new Code note type with the _JS frontend_ language.
-2. Define the `#run=frontendStartup` label in Attributes.
-
-## Content of the script
-
-Copy-paste the following script:
-
-```javascript
-api.addButtonToToolbar({
- title: "New task",
- icon: "task",
- shortcut: "alt+n",
- action: async () => {
- const taskNoteId = await api.runOnBackend(() => {
- const todoRootNote = api.getNoteWithLabel("taskTodoRoot");
- const resp = api.createTextNote(todoRootNote.noteId, "New task", "")
- return resp.note.noteId;
- });
-
- await api.waitUntilSynced();
- await api.activateNewNote(taskNoteId);
- }
-});
-```
-
-## Testing the functionality
-
-Since we set the script to be run on start-up, all we need to do is to [refresh the application](../../../Troubleshooting/Refreshing%20the%20application.md).
-
-## Understanding how the script works
-
-
Here we identify a note with the label#taskTodoRoot. This is how the Task Manager showcase knows where to place all the different tasks.
Normally this might return a null value if no such note could be identified, but error handling is outside the scope of this example.
const resp = api.createTextNote(todoRootNote.noteId, "New task", "")
We create a new child note within the to-do root note (first argument) with the title “New task" (second argument) and no content by default (third argument).
await api.waitUntilSynced();
Back on the client, since we created a new note on the server, we now need to wait for the change to be reflected in the client.
await api.activateNewNote(taskNoteId);
Since we know the ID of the newly created note, all we have to do now is to show this note to the user.
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Note Types/Render Note.md b/docs/User Guide/User Guide/Note Types/Render Note.md
index e69de29bb..6b70ad128 100644
--- a/docs/User Guide/User Guide/Note Types/Render Note.md
+++ b/docs/User Guide/User Guide/Note Types/Render Note.md
@@ -0,0 +1,39 @@
+# Render Note
+
+
+Render Note is used in Scripting. It works by displaying the HTML of a Code note, via an attribute.
+
+## Creating a render note
+
+1. Create a Code note with the HTML language, with what needs to be displayed (for example `
Hello world.
`).
+2. Create a Render Note.
+3. Assign the `renderNote` [relation](../Advanced%20Usage/Attributes.md) to point at the previously created code note.
+
+## Dynamic content
+
+A static HTML is generally not enough for Scripting. The next step is to automatically change parts of the note using JavaScript.
+
+For a simple example, we are going to create a render note that displays the current date in a field.
+
+To do so, first create an HTML code note with the following content:
+
+```
+
Current date & time
+The current date & time is
+```
+
+Now we need to add the script. Create another Code, 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:
+
+```
+const $dateEl = api.$container.find(".date");
+$dateEl.text(new Date());
+```
+
+Now create a render note at any place and set its `~renderNote` relation to point to the HTML note. When the render note is accessed it will display:
+
+> **Current date & time**
+> The current date & time is Sun Apr 06 2025 15:26:29 GMT+0300 (Eastern European Summer Time)
+
+## Examples
+
+* Weight Tracker which is present in the Demo Notes.
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Note Types/Render Note_image.png b/docs/User Guide/User Guide/Note Types/Render Note_image.png
new file mode 100644
index 0000000000000000000000000000000000000000..18afa6cee0d4c41f61441037b4785b6d463a0596
GIT binary patch
literal 30231
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
Here we identify a note with the label#taskTodoRoot. This is how the Task Manager showcase knows where to place all the different tasks.
Normally this might return a null value if no such note could be identified, but error handling is outside the scope of this example.
const resp = api.createTextNote(todoRootNote.noteId, "New task", "")
We create a new child note within the to-do root note (first argument) with the title “New task" (second argument) and no content by default (third argument).
await api.waitUntilSynced();
Back on the client, since we created a new note on the server, we now need to wait for the change to be reflected in the client.
await api.activateNewNote(taskNoteId);
Since we know the ID of the newly created note, all we have to do now is to show this note to the user.
Trilium offers advanced functionality through Scripts and
+
Trilium offers advanced functionality through Scripts and
Promoted Attributes. To illustrate these features, we've prepared
several showcases available in the demo notes:
+ href="../../Scripting.html">scriptsshowcase present in the demo notes.
Demo
@@ -37,7 +37,7 @@
Task template defines several promoted attributes -
todoDate, doneDate, tags, location. Importantly it also defines ~runOnAttributeChange relation
- event handler which is
- run on attribute change. This script handles
+ run on attribute change. This script 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.
The Weight Tracker note in the screenshot above is of the type Render Note.
That type of note doesn't have any useful content itself. Instead it is
- a placeholder where a script can
- render its output.
+ a placeholder where a script can render
+ its output.
Scripts for Render Notes are defined in a relation called ~renderNote.
In this example, it's the Weight Tracker's child Implementation.
The Implementation consists of two code notes that
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Custom Request Handler.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Custom Request Handler.html
index ee165623a..8c491ef80 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Custom Request Handler.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Custom Request Handler.html
@@ -13,7 +13,7 @@
Trilium provides a mechanism for scripts 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. /trilium buy milk).
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database.html
index 4b52c6f4a..be62b8869 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database.html
@@ -18,36 +18,9 @@
The database file is named document.db and is stored in the
application's default Data directory.
Demo Notes
-
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:
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.
-
You can easily restore the demo notes by using Trilium's built-in import
- feature by importing them:
-
-
Download this .zip archive with
- the latest version of the demo notes
-
Right click on any note in your tree under which you would like the demo
- notes to be imported
-
Click "Import into note"
-
Select the .zip archive to import it
-
+
When first starting Trilium, it will provide a set of notes to showcase
+ various features of the application.
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
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database/Demo Notes.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database/Demo Notes.html
new file mode 100644
index 000000000..bc15cd499
--- /dev/null
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database/Demo Notes.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+ Demo Notes
+
+
+
+
+
Demo Notes
+
+
+
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:
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.
+
You can easily restore the demo notes by using Trilium's built-in import
+ feature by importing them:
+
+
Download this .zip archive with
+ the latest version of the demo notes
+
Right click on any note in your tree under which you would like the demo
+ notes to be imported
+
Click "Import into note"
+
Select the .zip archive to import it
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database/Manually altering the database.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database/Manually altering the database.html
index b41a6518a..d831e67c7 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database/Manually altering the database.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Database/Manually altering the database.html
@@ -20,7 +20,7 @@
of your document.db file.
Modifying it internally using the SQL Console
The SQL Console is Trilium's built-in database editor.
In Trilium there's no specific "folder" note type. Any note can have children
and thus be a folder.
Root note
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Attachments.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Attachments.html
index 4e5d2c70d..423734561 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Attachments.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Attachments.html
@@ -16,7 +16,7 @@
A note in Trilium can own one or more
attachments, which can be either images or files. These attachments can
be displayed or linked within the note that owns them.
-
This can be especially useful to include dependencies for your scripts.
+
This can be especially useful to include dependencies for your scripts.
The Weight Tracker shows
how to use chartjs which is attached to
the script note.
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar.html
index 93dd27ed0..de42d0c71 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar.html
@@ -84,7 +84,7 @@
Script Launcher An advanced launcher which will run a script upon pressing. See
Scripts for more information.
+ href="../../Scripting.html">Scripts for more information.
Set script to point to the desired script to run.
Optionally, set a keyboardShortcut to trigger the launcher.
@@ -95,7 +95,7 @@
Allows defining a custom widget to be rendered inside the launcher. See
Widget Basics for more information.
+ href="../../Scripting/Widget%20Basics.html">Widget Basics for more information.
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
scriptingsupport would be a XSS security hole, while with the single
+ href="Scripting.html">scriptingsupport would be a XSS security hole, while with the single
user assumption it's an endless customizable tool.
How to open multiple documents in one Trilium instance
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation & Setup/Mobile Frontend.html b/src/public/app/doc_notes/en/User Guide/User Guide/Installation & Setup/Mobile Frontend.html
index a9528ed37..5f55eec45 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Installation & Setup/Mobile Frontend.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Installation & Setup/Mobile Frontend.html
@@ -47,7 +47,7 @@
If this is not appropriate, you can use ?mobile or ?desktop query
param on login page (Note: you might need to log out).
Used in Scripting,
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.
Script notes can be triggered by events. Note
- that these are backend events and thus relation need to point to the "JS
- backend" code note.
+
Script notes can be triggered by events.
+ Note that these are backend events and thus relation need to point to the
+ "JS backend" code note.
Global events
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
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Render Note.html b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Render Note.html
index fcebc8389..347cf2129 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Render Note.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Render Note.html
@@ -12,7 +12,48 @@
Render Note
-
+
+
+
+
+
Render Note is used in Scripting.
+ It works by displaying the HTML of a Code note,
+ via an attribute.
+
Creating a render note
+
+
Create a Code note
+ with the HTML language, with what needs to be displayed (for example <p>Hello world.</p>).
Assign the renderNoterelation to
+ point at the previously created code note.
+
+
Dynamic content
+
A static HTML is generally not enough for Scripting. The next step is to automatically
+ change parts of the note using JavaScript.
+
For a simple example, we are going to create a render note that displays
+ the current date in a field.
+
To do so, first create an HTML code note with the following content:
<h1>Current date & time</h1>
+The current date & time is <span class="date"></span>
+
Now we need to add the script. Create another Code, 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: