From e9175d60ec6eab104ab2c79598133066c987fab4 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 12 Mar 2025 12:13:51 +0200 Subject: [PATCH] feat(docs): improve documentation for code notes, code blocks --- docs/User Guide/!!!meta.json | 799 +++++++++++------ .../Advanced Usage/Advanced Showcases.md | 2 +- .../Advanced Showcases/Task Manager.md | 8 +- .../Advanced Showcases/Weight Tracker.md | 8 +- .../User Guide/Advanced Usage/Code Notes.md | 21 - .../Advanced Usage/Custom Request Handler.md | 6 +- .../User Guide/Advanced Usage/Sharing.md | 2 +- .../Basic Concepts/Keyboard Shortcuts.md | 2 +- .../User Guide/Basic Concepts/Note.md | 4 +- .../Basic Concepts/Note/Attachments.md | 2 +- .../Basic Concepts/Note/Read-Only Notes.md | 2 +- .../User Guide/Basic Concepts/Themes.md | 4 +- .../Basic Concepts/UI Elements/Options.md | 0 .../Basic Concepts/UI Elements/Ribbon.md | 8 + .../UI Elements/Ribbon_image.png | Bin 0 -> 23293 bytes .../Developer Guides/Frontend Basics.md | 2 +- .../Developer Guides/Widget Basics.md | 2 +- docs/User Guide/User Guide/FAQ.md | 2 +- .../Installation & Setup/Mobile Frontend.md | 2 +- .../User Guide/Note Types/1_Code_image.png | Bin 0 -> 13946 bytes .../2_Code_image.png} | Bin docs/User Guide/User Guide/Note Types/Code.md | 27 + .../Code}/Custom Widgets.md | 0 .../Code Notes => Note Types/Code}/Events.md | 2 +- .../Code}/Script API.md | 0 .../Code Notes => Note Types/Code}/Scripts.md | 8 +- .../Code_image.png} | Bin .../Note Types/Text/1_Code blocks_image.png | Bin 0 -> 30176 bytes .../Text/1_Formatting toolbar_image.png | Bin 0 -> 2671 bytes .../Note Types/Text/2_Code blocks_image.png | Bin 0 -> 6320 bytes .../Text/2_Formatting toolbar_image.png | Bin 0 -> 18174 bytes .../Text/3_Formatting toolbar_image.png | Bin 0 -> 10342 bytes .../User Guide/Note Types/Text/Code blocks.md | 35 + .../Note Types/Text/Code blocks_image.png | Bin 0 -> 682 bytes .../Note Types/Text/Formatting toolbar.md | 35 + .../Text/Formatting toolbar_image.png | Bin 0 -> 9111 bytes docs/User Guide/User Guide/Troubleshooting.md | 2 +- .../Refreshing the application.md | 4 + .../app/doc_notes/en/User Guide/!!!meta.json | 813 ++++++++++++------ .../Advanced Usage/Advanced Showcases.html | 2 +- .../Advanced Showcases/Task Manager.html | 10 +- .../Advanced Showcases/Weight Tracker.html | 8 +- .../User Guide/Advanced Usage/Code Notes.html | 53 -- .../Custom Request Handler.html | 6 +- .../User Guide/Advanced Usage/Sharing.html | 2 +- .../Basic Concepts/Keyboard Shortcuts.html | 4 +- .../User Guide/Basic Concepts/Note.html | 8 +- .../Basic Concepts/Note/Attachments.html | 2 +- .../Basic Concepts/Note/Read-Only Notes.html | 2 +- .../User Guide/Basic Concepts/Themes.html | 4 +- .../Basic Concepts/UI Elements/Options.html | 19 + .../Basic Concepts/UI Elements/Ribbon.html | 30 + .../UI Elements/Ribbon_image.png | Bin 0 -> 23293 bytes .../Developer Guides/Frontend Basics.html | 2 +- .../Developer Guides/Widget Basics.html | 2 +- .../en/User Guide/User Guide/FAQ.html | 2 +- .../Installation & Setup/Mobile Frontend.html | 2 +- .../User Guide/Note Types/1_Code_image.png | Bin 0 -> 13946 bytes .../2_Code_image.png} | Bin .../User Guide/Note Types/Code.html | 46 +- .../Code}/Custom Widgets.html | 0 .../Code}/Events.html | 2 +- .../Code}/Script API.html | 0 .../Code}/Scripts.html | 14 +- .../Code_image.png} | Bin .../Note Types/Text/1_Code blocks_image.png | Bin 0 -> 30176 bytes .../Text/1_Formatting toolbar_image.png | Bin 0 -> 2671 bytes .../Note Types/Text/2_Code blocks_image.png | Bin 0 -> 6320 bytes .../Text/2_Formatting toolbar_image.png | Bin 0 -> 18174 bytes .../Text/3_Formatting toolbar_image.png | Bin 0 -> 10342 bytes .../Note Types/Text/Code blocks.html | 78 ++ .../Note Types/Text/Code blocks_image.png | Bin 0 -> 682 bytes .../Note Types/Text/Formatting toolbar.html | 60 ++ .../Text/Formatting toolbar_image.png | Bin 0 -> 9111 bytes .../User Guide/Troubleshooting.html | 2 +- .../Refreshing the application.html | 23 + .../doc_notes/en/User Guide/navigation.html | 35 +- 77 files changed, 1535 insertions(+), 685 deletions(-) delete mode 100644 docs/User Guide/User Guide/Advanced Usage/Code Notes.md create mode 100644 docs/User Guide/User Guide/Basic Concepts/UI Elements/Options.md create mode 100644 docs/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon.md create mode 100644 docs/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon_image.png create mode 100644 docs/User Guide/User Guide/Note Types/1_Code_image.png rename docs/User Guide/User Guide/{Advanced Usage/1_Code Notes_image.png => Note Types/2_Code_image.png} (100%) rename docs/User Guide/User Guide/{Advanced Usage/Code Notes => Note Types/Code}/Custom Widgets.md (100%) rename docs/User Guide/User Guide/{Advanced Usage/Code Notes => Note Types/Code}/Events.md (91%) rename docs/User Guide/User Guide/{Advanced Usage/Code Notes => Note Types/Code}/Script API.md (100%) rename docs/User Guide/User Guide/{Advanced Usage/Code Notes => Note Types/Code}/Scripts.md (76%) rename docs/User Guide/User Guide/{Advanced Usage/Code Notes_image.png => Note Types/Code_image.png} (100%) create mode 100644 docs/User Guide/User Guide/Note Types/Text/1_Code blocks_image.png create mode 100644 docs/User Guide/User Guide/Note Types/Text/1_Formatting toolbar_image.png create mode 100644 docs/User Guide/User Guide/Note Types/Text/2_Code blocks_image.png create mode 100644 docs/User Guide/User Guide/Note Types/Text/2_Formatting toolbar_image.png create mode 100644 docs/User Guide/User Guide/Note Types/Text/3_Formatting toolbar_image.png create mode 100644 docs/User Guide/User Guide/Note Types/Text/Code blocks.md create mode 100644 docs/User Guide/User Guide/Note Types/Text/Code blocks_image.png create mode 100644 docs/User Guide/User Guide/Note Types/Text/Formatting toolbar.md create mode 100644 docs/User Guide/User Guide/Note Types/Text/Formatting toolbar_image.png create mode 100644 docs/User Guide/User Guide/Troubleshooting/Refreshing the application.md delete mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes.html create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Options.html create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon.html create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon_image.png create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/1_Code_image.png rename src/public/app/doc_notes/en/User Guide/User Guide/{Advanced Usage/1_Code Notes_image.png => Note Types/2_Code_image.png} (100%) rename src/public/app/doc_notes/en/User Guide/User Guide/{Advanced Usage/Code Notes => Note Types/Code}/Custom Widgets.html (100%) rename src/public/app/doc_notes/en/User Guide/User Guide/{Advanced Usage/Code Notes => Note Types/Code}/Events.html (97%) rename src/public/app/doc_notes/en/User Guide/User Guide/{Advanced Usage/Code Notes => Note Types/Code}/Script API.html (100%) rename src/public/app/doc_notes/en/User Guide/User Guide/{Advanced Usage/Code Notes => Note Types/Code}/Scripts.html (87%) rename src/public/app/doc_notes/en/User Guide/User Guide/{Advanced Usage/Code Notes_image.png => Note Types/Code_image.png} (100%) create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/1_Code blocks_image.png create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/1_Formatting toolbar_image.png create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/2_Code blocks_image.png create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/2_Formatting toolbar_image.png create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/3_Formatting toolbar_image.png create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/Code blocks.html create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/Code blocks_image.png create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/Formatting toolbar.html create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Text/Formatting toolbar_image.png create mode 100644 src/public/app/doc_notes/en/User Guide/User Guide/Troubleshooting/Refreshing the application.html diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index 09da4fd36..0c39d3095 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -634,249 +634,6 @@ } ] }, - { - "isClone": false, - "noteId": "6f9hih2hXXZk", - "notePath": [ - "pOsGYCXsbNQG", - "tC7s2alapj8V", - "6f9hih2hXXZk" - ], - "title": "Code Notes", - "notePosition": 60, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/markdown", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "CdNpE2pqjmI6", - "isInheritable": false, - "position": 10 - }, - { - "type": "label", - "name": "shareAlias", - "value": "code-notes", - "isInheritable": false, - "position": 20 - } - ], - "format": "markdown", - "dataFileName": "Code Notes.md", - "attachments": [ - { - "attachmentId": "hajUVeLs3EOM", - "title": "image.png", - "role": "image", - "mime": "image/jpg", - "position": 10, - "dataFileName": "Code Notes_image.png" - }, - { - "attachmentId": "OTcapNOcNaBL", - "title": "image.png", - "role": "image", - "mime": "image/jpg", - "position": 10, - "dataFileName": "1_Code Notes_image.png" - } - ], - "dirFileName": "Code Notes", - "children": [ - { - "isClone": false, - "noteId": "CdNpE2pqjmI6", - "notePath": [ - "pOsGYCXsbNQG", - "tC7s2alapj8V", - "6f9hih2hXXZk", - "CdNpE2pqjmI6" - ], - "title": "Scripts", - "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": "zEY4DaJG4YT5", - "isInheritable": false, - "position": 30 - }, - { - "type": "relation", - "name": "internalLink", - "value": "5668rwcirq1t", - "isInheritable": false, - "position": 40 - }, - { - "type": "relation", - "name": "internalLink", - "value": "GPERMystNGTB", - "isInheritable": false, - "position": 50 - }, - { - "type": "relation", - "name": "imageLink", - "value": "DVJl4l3T8EG2", - "isInheritable": false, - "position": 60 - }, - { - "type": "relation", - "name": "internalLink", - "value": "wX4HbRucYSDD", - "isInheritable": false, - "position": 70 - }, - { - "type": "relation", - "name": "internalLink", - "value": "RDslemsQ6gCp", - "isInheritable": false, - "position": 80 - }, - { - "type": "label", - "name": "shareAlias", - "value": "scripts", - "isInheritable": false, - "position": 20 - } - ], - "format": "markdown", - "dataFileName": "Scripts.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "GLks18SNjxmC", - "notePath": [ - "pOsGYCXsbNQG", - "tC7s2alapj8V", - "6f9hih2hXXZk", - "GLks18SNjxmC" - ], - "title": "Script API", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/markdown", - "attributes": [ - { - "type": "label", - "name": "shareAlias", - "value": "script-api", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Script API.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "GPERMystNGTB", - "notePath": [ - "pOsGYCXsbNQG", - "tC7s2alapj8V", - "6f9hih2hXXZk", - "GPERMystNGTB" - ], - "title": "Events", - "notePosition": 40, - "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": "CdNpE2pqjmI6", - "isInheritable": false, - "position": 20 - }, - { - "type": "label", - "name": "shareAlias", - "value": "events", - "isInheritable": false, - "position": 30 - } - ], - "format": "markdown", - "dataFileName": "Events.md", - "attachments": [] - }, - { - "isClone": false, - "noteId": "MgibgPcfeuGz", - "notePath": [ - "pOsGYCXsbNQG", - "tC7s2alapj8V", - "6f9hih2hXXZk", - "MgibgPcfeuGz" - ], - "title": "Custom Widgets", - "notePosition": 50, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/markdown", - "attributes": [ - { - "type": "relation", - "name": "imageLink", - "value": "3sCPPL0LEC1S", - "isInheritable": false, - "position": 10 - }, - { - "type": "label", - "name": "shareAlias", - "value": "custom-widget", - "isInheritable": false, - "position": 20 - } - ], - "format": "markdown", - "dataFileName": "Custom Widgets.md", - "attachments": [] - } - ] - }, { "isClone": false, "noteId": "5668rwcirq1t", @@ -1944,6 +1701,71 @@ "dataFileName": "1_Global menu_image.png" } ] + }, + { + "isClone": false, + "noteId": "BlN9DFI679QC", + "notePath": [ + "pOsGYCXsbNQG", + "gh7bpGYxajRS", + "Vc8PjrjAGuOp", + "BlN9DFI679QC" + ], + "title": "Ribbon", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "4TIF1oA4VQRO", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Ribbon.md", + "attachments": [ + { + "attachmentId": "JCiJ3vRhgXY9", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "Ribbon_image.png" + } + ] + }, + { + "isClone": false, + "noteId": "4TIF1oA4VQRO", + "notePath": [ + "pOsGYCXsbNQG", + "gh7bpGYxajRS", + "Vc8PjrjAGuOp", + "4TIF1oA4VQRO" + ], + "title": "Options", + "notePosition": 30, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "label", + "name": "iconClass", + "value": "bx bx-cog", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Options.md", + "attachments": [] } ] }, @@ -3498,6 +3320,13 @@ "name": "shareAlias", "value": "text-notes", "isInheritable": false, + "position": 10 + }, + { + "type": "label", + "name": "sorted", + "value": "", + "isInheritable": false, "position": 20 } ], @@ -3523,6 +3352,87 @@ ], "dirFileName": "Text", "children": [ + { + "isClone": false, + "noteId": "QxEyIjRBizuC", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "iPIMuisry3hd", + "QxEyIjRBizuC" + ], + "title": "Code blocks", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "nRhnJkTT8cPs", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "4TIF1oA4VQRO", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "s8alTXmpFR61", + "isInheritable": false, + "position": 40 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-code", + "isInheritable": false, + "position": 50 + }, + { + "type": "relation", + "name": "internalLink", + "value": "6f9hih2hXXZk", + "isInheritable": false, + "position": 60 + } + ], + "format": "markdown", + "dataFileName": "Code blocks.md", + "attachments": [ + { + "attachmentId": "7HhhhyZ4AS0A", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Code blocks_image.png" + }, + { + "attachmentId": "DyHSLO958cdd", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "1_Code blocks_image.png" + }, + { + "attachmentId": "kE8PPw7iyuu9", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "2_Code blocks_image.png" + } + ] + }, { "isClone": false, "noteId": "veGu4faJErEM", @@ -3533,7 +3443,7 @@ "veGu4faJErEM" ], "title": "Content language", - "notePosition": 10, + "notePosition": 20, "prefix": null, "isExpanded": false, "type": "text", @@ -3545,6 +3455,13 @@ "value": "BMf2nEbYlcUt", "isInheritable": false, "position": 10 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-align-right", + "isInheritable": false, + "position": 20 } ], "format": "markdown", @@ -3560,6 +3477,81 @@ } ] }, + { + "isClone": false, + "noteId": "nRhnJkTT8cPs", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "iPIMuisry3hd", + "nRhnJkTT8cPs" + ], + "title": "Formatting toolbar", + "notePosition": 30, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "BlN9DFI679QC", + "isInheritable": false, + "position": 10 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-text", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "4TIF1oA4VQRO", + "isInheritable": false, + "position": 30 + } + ], + "format": "markdown", + "dataFileName": "Formatting toolbar.md", + "attachments": [ + { + "attachmentId": "CZ8ENj2LsBsA", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "Formatting toolbar_image.png" + }, + { + "attachmentId": "iu9xb3VivIIl", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "1_Formatting toolbar_image.png" + }, + { + "attachmentId": "MMeih4nJVgNk", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "2_Formatting toolbar_image.png" + }, + { + "attachmentId": "SGaPJHzNyLLV", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "3_Formatting toolbar_image.png" + } + ] + }, { "isClone": false, "noteId": "S6Xx8QIWTV66", @@ -3570,7 +3562,7 @@ "S6Xx8QIWTV66" ], "title": "Lists", - "notePosition": 20, + "notePosition": 40, "prefix": null, "isExpanded": false, "type": "text", @@ -3641,30 +3633,296 @@ }, { "isClone": false, - "noteId": "FVuX89AJuFSw", + "noteId": "6f9hih2hXXZk", "notePath": [ "pOsGYCXsbNQG", "KSZ04uQ2D1St", - "FVuX89AJuFSw" + "6f9hih2hXXZk" ], "title": "Code", - "notePosition": 30, + "notePosition": 40, "prefix": null, "isExpanded": false, "type": "text", - "mime": "text/html", + "mime": "text/markdown", "attributes": [ + { + "type": "label", + "name": "shareAlias", + "value": "code-notes", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "CdNpE2pqjmI6", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "iPIMuisry3hd", + "isInheritable": false, + "position": 40 + }, + { + "type": "relation", + "name": "internalLink", + "value": "QxEyIjRBizuC", + "isInheritable": false, + "position": 50 + }, + { + "type": "relation", + "name": "internalLink", + "value": "BlN9DFI679QC", + "isInheritable": false, + "position": 60 + }, + { + "type": "relation", + "name": "internalLink", + "value": "4TIF1oA4VQRO", + "isInheritable": false, + "position": 70 + }, + { + "type": "relation", + "name": "internalLink", + "value": "s8alTXmpFR61", + "isInheritable": false, + "position": 80 + }, { "type": "label", "name": "iconClass", "value": "bx bx-code", "isInheritable": false, - "position": 10 + "position": 90 } ], "format": "markdown", "dataFileName": "Code.md", - "attachments": [] + "attachments": [ + { + "attachmentId": "hajUVeLs3EOM", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "Code_image.png" + }, + { + "attachmentId": "iKJbcEUkME1a", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "1_Code_image.png" + }, + { + "attachmentId": "OTcapNOcNaBL", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "2_Code_image.png" + } + ], + "dirFileName": "Code", + "children": [ + { + "isClone": false, + "noteId": "CdNpE2pqjmI6", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "6f9hih2hXXZk", + "CdNpE2pqjmI6" + ], + "title": "Scripts", + "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": "zEY4DaJG4YT5", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "5668rwcirq1t", + "isInheritable": false, + "position": 40 + }, + { + "type": "relation", + "name": "internalLink", + "value": "GPERMystNGTB", + "isInheritable": false, + "position": 50 + }, + { + "type": "relation", + "name": "imageLink", + "value": "DVJl4l3T8EG2", + "isInheritable": false, + "position": 60 + }, + { + "type": "relation", + "name": "internalLink", + "value": "wX4HbRucYSDD", + "isInheritable": false, + "position": 70 + }, + { + "type": "relation", + "name": "internalLink", + "value": "RDslemsQ6gCp", + "isInheritable": false, + "position": 80 + }, + { + "type": "label", + "name": "shareAlias", + "value": "scripts", + "isInheritable": false, + "position": 20 + } + ], + "format": "markdown", + "dataFileName": "Scripts.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "GLks18SNjxmC", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "6f9hih2hXXZk", + "GLks18SNjxmC" + ], + "title": "Script API", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/markdown", + "attributes": [ + { + "type": "label", + "name": "shareAlias", + "value": "script-api", + "isInheritable": false, + "position": 10 + } + ], + "format": "markdown", + "dataFileName": "Script API.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "GPERMystNGTB", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "6f9hih2hXXZk", + "GPERMystNGTB" + ], + "title": "Events", + "notePosition": 40, + "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": "CdNpE2pqjmI6", + "isInheritable": false, + "position": 20 + }, + { + "type": "label", + "name": "shareAlias", + "value": "events", + "isInheritable": false, + "position": 30 + } + ], + "format": "markdown", + "dataFileName": "Events.md", + "attachments": [] + }, + { + "isClone": false, + "noteId": "MgibgPcfeuGz", + "notePath": [ + "pOsGYCXsbNQG", + "KSZ04uQ2D1St", + "6f9hih2hXXZk", + "MgibgPcfeuGz" + ], + "title": "Custom Widgets", + "notePosition": 50, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/markdown", + "attributes": [ + { + "type": "relation", + "name": "imageLink", + "value": "3sCPPL0LEC1S", + "isInheritable": false, + "position": 10 + }, + { + "type": "label", + "name": "shareAlias", + "value": "custom-widget", + "isInheritable": false, + "position": 20 + } + ], + "format": "markdown", + "dataFileName": "Custom Widgets.md", + "attachments": [] + } + ] }, { "isClone": false, @@ -3675,7 +3933,7 @@ "m523cpzocqaD" ], "title": "Saved Search", - "notePosition": 50, + "notePosition": 60, "prefix": null, "isExpanded": false, "type": "text", @@ -3723,7 +3981,7 @@ "joqzSrDccPKf" ], "title": "Relation Map", - "notePosition": 60, + "notePosition": 70, "prefix": null, "isExpanded": false, "type": "text", @@ -3750,7 +4008,7 @@ "bdUJEHsAPYQR" ], "title": "Note Map", - "notePosition": 70, + "notePosition": 80, "prefix": null, "isExpanded": false, "type": "text", @@ -3777,7 +4035,7 @@ "HcABDtFCkbFN" ], "title": "Render Note", - "notePosition": 90, + "notePosition": 100, "prefix": null, "isExpanded": false, "type": "text", @@ -3804,7 +4062,7 @@ "GTwFsgaA0lCt" ], "title": "Book", - "notePosition": 110, + "notePosition": 120, "prefix": null, "isExpanded": false, "type": "text", @@ -4054,7 +4312,7 @@ "s1aBHPd79XYj" ], "title": "Mermaid Diagrams", - "notePosition": 120, + "notePosition": 130, "prefix": null, "isExpanded": false, "type": "text", @@ -4161,7 +4419,7 @@ "grjYqerjn243" ], "title": "Canvas", - "notePosition": 140, + "notePosition": 150, "prefix": null, "isExpanded": false, "type": "text", @@ -4197,7 +4455,7 @@ "1vHRoWCEjj0L" ], "title": "Web View", - "notePosition": 150, + "notePosition": 160, "prefix": null, "isExpanded": false, "type": "text", @@ -4224,7 +4482,7 @@ "gBbsAeiuUxI5" ], "title": "Mind Map", - "notePosition": 160, + "notePosition": 170, "prefix": null, "isExpanded": false, "type": "text", @@ -4251,7 +4509,7 @@ "81SGnPGMk7Xc" ], "title": "Geo map", - "notePosition": 170, + "notePosition": 180, "prefix": null, "isExpanded": false, "type": "text", @@ -6192,6 +6450,25 @@ "format": "markdown", "dataFileName": "Synchronization fails with 504.md", "attachments": [] + }, + { + "isClone": false, + "noteId": "s8alTXmpFR61", + "notePath": [ + "pOsGYCXsbNQG", + "BgmBlOIl72jZ", + "s8alTXmpFR61" + ], + "title": "Refreshing the application", + "notePosition": 60, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [], + "format": "markdown", + "dataFileName": "Refreshing the application.md", + "attachments": [] } ] }, 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 29b50da68..b11d347af 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](Code%20Notes/Scripts.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](../Note%20Types/Code/Scripts.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](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 0611fdcd6..86fb3e054 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](../Code%20Notes/Scripts.md)showcase present in the [demo notes](../Database.md). +Task Manager is a [promoted attributes](../Attributes/Promoted%20Attributes.md) and [scripts](../../Note%20Types/Code/Scripts.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](../Code%20Notes/Events.md) handler which is run on attribute change. This [script](../Code%20Notes/Scripts.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](../../Note%20Types/Code/Scripts.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 @@ -46,7 +46,7 @@ api.addButtonToToolbar({ In the demo screenshot above you may notice that TODO tasks are in red color and DONE tasks are green. -This is done by having this CSS [code note](../Code%20Notes.md) which defines extra CSS classes: +This is done by having this CSS [code note](../../Note%20Types/Code.md) which defines extra CSS classes: ``` span.fancytree-node.todo .fancytree-title { @@ -58,6 +58,6 @@ span.fancytree-node.done .fancytree-title { } ``` -This [code note](../Code%20Notes.md) has `#appCss` [label](../Attributes.md)which is recognized by Trilium on startup and loaded as CSS into the application. +This [code note](../../Note%20Types/Code.md) has `#appCss` [label](../Attributes.md)which is recognized by Trilium on startup and loaded as CSS into the application. Second part of this functionality is based in event handler described above which assigns `#cssClass` label to the task to either "done" or "todo" based on the task status. \ No newline at end of file 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 3f93f7a7e..b760a050d 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 @@ -1,21 +1,21 @@ # Weight Tracker ![](Weight%20Tracker_image.png) -The `Weight Tracker` is a [Script API](../Code%20Notes/Script%20API.md) showcase present in the [demo notes](../Database.md). +The `Weight Tracker` is a [Script API](../../Note%20Types/Code/Script%20API.md) showcase present in the [demo notes](../Database.md). By adding `weight` as a [promoted attribute](../Attributes/Promoted%20Attributes.md) in the [template](../Attributes/Template.md) from which [day notes](Day%20Notes.md) are created, you can aggregate the data and plot weight change over time. ## 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](../Code%20Notes/Scripts.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](../../Note%20Types/Code/Scripts.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](../Code%20Notes.md) that contain some HTML and JavaScript respectively, which load all the notes with a `weight` attribute and display their values in a chart. +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. To actually render the chart, we're using a third party library called [chart.js](https://www.chartjs.org/)which is imported as an attachment, since it's not built into Trilium. ### Code -Here's the content of the script which is placed in a [code note](../Code%20Notes.md) of type `JS Frontend`: +Here's the content of the script which is placed in a [code note](../../Note%20Types/Code.md) of type `JS Frontend`: ``` async function getChartData() { diff --git a/docs/User Guide/User Guide/Advanced Usage/Code Notes.md b/docs/User Guide/User Guide/Advanced Usage/Code Notes.md deleted file mode 100644 index e989655fd..000000000 --- a/docs/User Guide/User Guide/Advanced Usage/Code Notes.md +++ /dev/null @@ -1,21 +0,0 @@ -# Code Notes -Trilium supports creating "code" notes, i.e. notes which contain some sort of formal code - be it programming language (C++, JavaScript), structured data (JSON, XML) or other types of codes (CSS etc.). - -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%20Notes/Scripts.md) -* JSON, XML etc. can be used as storage for structured data (typically used in conjunction with scripting) - -![](Code%20Notes_image.png) - -## Extra languages - -Trilium supports syntax highlighting for many languages, but by default displays only some of them (to reduce the number of items). You can add extra languages in Options -> Code notes. - -## Code blocks - -An alternative to the code note is a "code block" - feature of a text note which can add short snippets of code to the text editor. Starting with TriliumNext v0.90.12, the code blocks also support syntax highlighting. - -![](1_Code%20Notes_image.png) \ No newline at end of file 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 00963321d..3b1e52cf1 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,11 +1,11 @@ # Custom Request Handler -Trilium provides a mechanism for [scripts](Code%20Notes/Scripts.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](../Note%20Types/Code/Scripts.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 Let's take a look at an example. The goal is to provide a REST endpoint to which we can send title and content and Trilium will create a note. -We'll start with creating a JavaScript backend [code note](Code%20Notes.md) containing: +We'll start with creating a JavaScript backend [code note](../Note%20Types/Code.md) containing: ``` const {req, res} = api; @@ -53,7 +53,7 @@ Trilium will then find our code note created above and execute it. `api.req`, `a In the code note we check the request method and then use trivial authentication - keep in mind that these endpoints are by default totally unauthenticated, and you need to take care of this yourself. -Once we pass these checks we will just create the desired note using [Script API](Code%20Notes/Script%20API.md). +Once we pass these checks we will just create the desired note using [Script API](../Note%20Types/Code/Script%20API.md). ## Custom resource provider diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing.md b/docs/User Guide/User Guide/Advanced Usage/Sharing.md index e0666e301..2daa5fadc 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Sharing.md +++ b/docs/User Guide/User Guide/Advanced Usage/Sharing.md @@ -40,7 +40,7 @@ To protect shared notes with a username and password, you can use the `#shareCre The default shared page is basic in design, but you can customize it using your own CSS: -* **Custom CSS**: Link a CSS [code note](Code%20Notes.md) to the shared page by adding a `~shareCss` 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 `#shareHiddenFromTree` label. +* **Custom CSS**: Link a CSS [code note](../Note%20Types/Code.md) to the shared page by adding a `~shareCss` 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 `#shareHiddenFromTree` label. * **Omitting Default CSS**: For extensive styling changes, use the `#shareOmitDefaultCss` label to avoid conflicts with Trilium's [default stylesheet](../Basic%20Concepts/Themes.md). ### Adding JavaScript diff --git a/docs/User Guide/User Guide/Basic Concepts/Keyboard Shortcuts.md b/docs/User Guide/User Guide/Basic Concepts/Keyboard Shortcuts.md index 26eb4e782..254745853 100644 --- a/docs/User Guide/User Guide/Basic Concepts/Keyboard Shortcuts.md +++ b/docs/User Guide/User Guide/Basic Concepts/Keyboard Shortcuts.md @@ -49,7 +49,7 @@ Only in desktop (electron build): ## Editing notes -Trilium uses CKEditor 5 for the [text notes](../Note%20Types/Text.md) and CodeMirror 5 for [code notes](../Advanced%20Usage/Code%20Notes.md). Check the documentation of these projects to see all their built-in keyboard shortcuts. +Trilium uses CKEditor 5 for the [text notes](../Note%20Types/Text.md) and CodeMirror 5 for [code notes](../Note%20Types/Code.md). Check the documentation of these projects to see all their built-in keyboard shortcuts. * `ALT-F10` - bring up inline formatting toolbar (arrow keys `<-`,`->` to navigate, `ENTER` to apply) * `ALT-F10` - again to bring up block formatting toolbar diff --git a/docs/User Guide/User Guide/Basic Concepts/Note.md b/docs/User Guide/User Guide/Basic Concepts/Note.md index 463614fb3..9e8dad5e5 100644 --- a/docs/User Guide/User Guide/Basic Concepts/Note.md +++ b/docs/User Guide/User Guide/Basic Concepts/Note.md @@ -4,10 +4,10 @@ Note is a central entity in Trilium. Main attributes of note are title and conte ### Note types * [text note](../Note%20Types/Text.md) - this is default note type which allows you to put rich text, images etc. -* [code note](../Advanced%20Usage/Code%20Notes.md) - some kind of formal code, typically programming language (e.g. JavaScript) or data structure (e.g. JSON) +* [code note](../Note%20Types/Code.md) - some kind of formal code, typically programming language (e.g. JavaScript) or data structure (e.g. JSON) * [image note](https://github.com/TriliumNext/Notes/wiki/Images) - represents single image * file note - represents uploaded file (e.g. docx MS Word document). -* render HTML note - this works as an output screen of attached [scripts](../Advanced%20Usage/Code%20Notes/Scripts.md) +* render HTML note - this works as an output screen of attached [scripts](../Note%20Types/Code/Scripts.md) * [saved search](../Note%20Types/Saved%20Search.md) note - contains saved search query and dynamically displays result of the search as its sub-notes * [relation map](../Advanced%20Usage/Relation%20Map.md) note - visualizes notes and their relations * [book note](../Note%20Types/Book.md) - displays its children notes, useful for reading many short notes diff --git a/docs/User Guide/User Guide/Basic Concepts/Note/Attachments.md b/docs/User Guide/User Guide/Basic Concepts/Note/Attachments.md index 20e75b8ed..8e5fe9a68 100644 --- a/docs/User Guide/User Guide/Basic Concepts/Note/Attachments.md +++ b/docs/User Guide/User Guide/Basic Concepts/Note/Attachments.md @@ -1,7 +1,7 @@ # Attachments A [note](../Note.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](../../Advanced%20Usage/Code%20Notes/Scripts.md). The [Weight Tracker](../../Advanced%20Usage/Advanced%20Showcases/Weight%20Tracker.md) shows how to use [chartjs](https://chartjs.org/) which is attached to the [script note](#root/HcUYTojFohtb). +This can be especially useful to include dependencies for your [scripts](../../Note%20Types/Code/Scripts.md). The [Weight Tracker](../../Advanced%20Usage/Advanced%20Showcases/Weight%20Tracker.md) shows how to use [chartjs](https://chartjs.org/) which is attached to the [script note](#root/HcUYTojFohtb). 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/Note/Read-Only Notes.md b/docs/User Guide/User Guide/Basic Concepts/Note/Read-Only Notes.md index 5feaa3387..60491d724 100644 --- a/docs/User Guide/User Guide/Basic Concepts/Note/Read-Only Notes.md +++ b/docs/User Guide/User Guide/Basic Concepts/Note/Read-Only Notes.md @@ -1,5 +1,5 @@ # Read-Only Notes -Both [text](../../Note%20Types/Text.md) and [code](../../Advanced%20Usage/Code%20Notes.md) notes in Trilium can be set to read-only. When a note is in read-only mode, it is presented to the user in a non-editable view, with the option to switch to editing mode if needed. +Both [text](../../Note%20Types/Text.md) and [code](../../Note%20Types/Code.md) notes in Trilium can be set to read-only. When a note is in read-only mode, it is presented to the user in a non-editable view, with the option to switch to editing mode if needed. ## Setting Read-Only Mode with a Label diff --git a/docs/User Guide/User Guide/Basic Concepts/Themes.md b/docs/User Guide/User Guide/Basic Concepts/Themes.md index 84919433e..f0932453f 100644 --- a/docs/User Guide/User Guide/Basic Concepts/Themes.md +++ b/docs/User Guide/User Guide/Basic Concepts/Themes.md @@ -9,7 +9,7 @@ Trilium comes with a couple pre-installed color themes, with the default being a Trilium supports custom user themes, allowing you to personalize the application's appearance. To create a custom theme, follow these steps: -1. **Create a CSS Code Note**: Start by creating a new [code note](../Advanced%20Usage/Code%20Notes.md) with the `CSS` type. +1. **Create a CSS Code Note**: Start by creating a new [code note](../Note%20Types/Code.md) with the `CSS` type. 2. **Annotate with** `**#appTheme**`: Add the [attribute](../Advanced%20Usage/Attributes.md) `#appTheme=my-theme-name` to your note, where `my-theme-name` is the name of your custom theme. 3. **Define Your Styles**: Write your custom CSS within the note. Below is an example of a custom theme: @@ -95,7 +95,7 @@ In addition to full themes, Trilium allows for custom CSS that isn't tied to a t To use custom CSS: -1. **Create a CSS Code Note**: Create a new [code note](../Advanced%20Usage/Code%20Notes.md) with the `CSS` type. +1. **Create a CSS Code Note**: Create a new [code note](../Note%20Types/Code.md) with the `CSS` type. 2. **Add the** `**appCss**` **Label**: Annotate the note with the `#appCss` [label](../Advanced%20Usage/Attributes.md). 3. **Write Your CSS**: Add your custom CSS rules to the note. diff --git a/docs/User Guide/User Guide/Basic Concepts/UI Elements/Options.md b/docs/User Guide/User Guide/Basic Concepts/UI Elements/Options.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon.md b/docs/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon.md new file mode 100644 index 000000000..e99138df6 --- /dev/null +++ b/docs/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon.md @@ -0,0 +1,8 @@ +# Ribbon +![](Ribbon_image.png) + +The ribbon allows changing options, attributes and viewing information about the current note. + +## Settings + +It is possible to change whether some ribbon items will be automatically open when navigating to a new note. To do so, in [Settings](Options.md), go to _Appearance_ and look for the _Ribbon widgets_ section. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon_image.png b/docs/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon_image.png new file mode 100644 index 0000000000000000000000000000000000000000..95fc8e6648f7218f1653bdc03b4b8bb866105ef2 GIT binary patch literal 23293 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 literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Developer Guides/Frontend Basics.md b/docs/User Guide/User Guide/Developer Guides/Frontend Basics.md index fdd9af407..fe5435548 100644 --- a/docs/User Guide/User Guide/Developer Guides/Frontend Basics.md +++ b/docs/User Guide/User Guide/Developer Guides/Frontend Basics.md @@ -1,7 +1,7 @@ # Frontend Basics ## Frontend API -The frontend api supports two styles, regular scripts that are run with the current app and note context, and widgets that export an object to Trilium to be used in the UI. In both cases, the frontend api of Trilium is available to scripts running in the frontend context as global variable `api`. The members and methods of the api can be seen on the [Script API](../Advanced%20Usage/Code%20Notes/Script%20API.md) page. +The frontend api supports two styles, regular scripts that are run with the current app and note context, and widgets that export an object to Trilium to be used in the UI. In both cases, the frontend api of Trilium is available to scripts running in the frontend context as global variable `api`. The members and methods of the api can be seen on the [Script API](../Note%20Types/Code/Script%20API.md) page. ## Scripts diff --git a/docs/User Guide/User Guide/Developer Guides/Widget Basics.md b/docs/User Guide/User Guide/Developer Guides/Widget Basics.md index 2eed9a097..8aa554a95 100644 --- a/docs/User Guide/User Guide/Developer Guides/Widget Basics.md +++ b/docs/User Guide/User Guide/Developer Guides/Widget Basics.md @@ -85,7 +85,7 @@ After reloading Trilium, the button should now appear at the bottom left of the ### Step 4: Adding User Interaction -Let’s make the button interactive by showing a message when it’s clicked. We'll use the `api.showMessage` method from the [Script API](../Advanced%20Usage/Code%20Notes/Script%20API.md). +Let’s make the button interactive by showing a message when it’s clicked. We'll use the `api.showMessage` method from the [Script API](../Note%20Types/Code/Script%20API.md). ``` class MyWidget extends api.BasicWidget { diff --git a/docs/User Guide/User Guide/FAQ.md b/docs/User Guide/User Guide/FAQ.md index 8090f22d8..b9ce905dd 100644 --- a/docs/User Guide/User Guide/FAQ.md +++ b/docs/User Guide/User Guide/FAQ.md @@ -23,7 +23,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](Advanced%20Usage/Code%20Notes/Scripts.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](Note%20Types/Code/Scripts.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 f64b214e8..fab7cf292 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](../Advanced%20Usage/Code%20Notes/Scripts.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](../Note%20Types/Code/Scripts.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/1_Code_image.png b/docs/User Guide/User Guide/Note Types/1_Code_image.png new file mode 100644 index 0000000000000000000000000000000000000000..7520e45c1865fb53eb45ed13f0fcb4be83e7dd2c GIT binary patch literal 13946 zcmdtI2Q*yW_dk4Q24nOVC3+Vvq7!8#Y7nFdhUn3ICt{Egf&@W=FoGbFh+Y$kE~0m% z_Y#5xL6~=vr{(#5*Lv6Ym-oNcf30^c_s*Sj@4086v-fB3{W%*qf|~|Z7u2=X0R#d7 z1pfzcSa2H<6A{6Q2#MivI08XTLPkeUMoLP?L_J&5|ZK&1Oh=uO2$Y|&M3~w!YTg0{@~sLYGTL(a14V`11L2F zMh(F=L7w8rNC^4)0e^lVP#6Ir5u6x7LP`ao5Eu+f03#$MAi&=ljBf)3)PyvgXHEZtT1Hk*{=BN1x`w9K zh09m28eTIpHnFy`y@PDJG0sOW^mhe^pPj~=H!&CbbvmX}}f zyri_OyrQzIx~8GAskx=Kt^Gq^|G?nT@W|-c%WBY_Q4kAA=x1IK}8?X?^nn7;s&XLEP@LbiDU`_`p{ z73F;zH08H~VDHTDQAqgrD{pJ`j#V+RV?lE>ejMP^hv2}8)2|Y7AYK6AKy=Em77nyM z1R?(~-BCZ=I#IKqfEqF7+O`f&mtz~9MN1aCSq%u!RY#sR^;W#HM}!vEhad?79r)`+ zB$aYcQcCT{546Kh>mA_IWnHbmiL@S9zp=FLcrj+V=wPHI5WIPol)MdUpd4fMG@Ajz# zUUy@dodb7%7lop`J=Eln^*vLk*s$s-Pkv4xj+sSE+XD>Qx}917cV(v&UD?9%t-?lEsjJtx=eb(3t(Jdo+q5vX zf4sbBd+&y<&V}M6XPZ-iEIbvAZz(+?>~7LS=n3x`q?@9-YZIh+uZS@k!ZN&$X5P0k zV#uZ{SIw~@n|F?C*4CBB>KzX?(kJb9Lk>RIKN*=i%*+M0y7`^-;j=Eb3g>T*y?s(R z-t6G)#%$5_O;g9XF`|n|g@c963QcZ^15JK`_wTyS3|N$;HXOE9IK|pd#}P97x>Zu2 zc%bB!%=2V~u^9vsj=L8Ie!rLBq43#R0jr)aj(sxUm}7?|677XNJ2p`q`~m8#IsqOOl5gJxq<)Wlt%V67j;?I9@=YFTFA5XTLyQ;4DRyIE$@f~eJl9O~5}c9$pg{lRS#UDso2g6USLeFyVIoBjsP(!59*k?h>U5@S1tVhk-?MBO|~NwIdx zKSk5&D2t3KrH9#$B#fQq?NAZM^w{TYdv=?D&LG8wpjYACkrvE9j%l`%2T93e6$ zS8&*+p{8(}b=w|RfguZ_#DS03jvHuj-~t%Ihc?iF|Uh%SjOT&fdn>tKV)Ox zB{ak8N3i#$c8Jz~`2;-KWCyE7h` z?#+aO+xH2l^4{Yl2q2c-fx&m^AXdyyLDr|jh@VPm+CFFr^{aj->@lz@r}Pj)c5vf~ zXQhybrIX+U5G8o<0)d`(YuhizNF>KxCK4rD)1l%kcxwa~DD+rh3*9q4M$(0C{!d?I0^DR zFw4UsHx4hxTgr?gQ6b`^%FCRJVMgDZ$ctOmnU(_-4tpRTZf*gHh(+S1yCub1`r-?k9MgLQ zP{nr`VkvSV-N9MSauKDzT}hV@m12dVdii7&|#E4kj8$94f+Xidi}Cb5tEjT=b6cpG^ea0H!*t)ewGP-vkGXLG^HF(kCZqvP`ROw? z4)ok$KisUJLBe|?7 z#DOhI5Rx0xEgSNA1_x&C@xj&w9LR9Tj|xBPrXI*~5)LTfo9ZKRAPNJMIe%=d_D%Cg zAKqSYUQNNZK|KQ`O*oQ#n|4U=@Y~cJ68<2gBxI@u2TlTo+dGNJ$1>k~AoKi%nR{FH zEoe$kMH_r?vB#1i0I|k@^xbU>18dVWR{lH}5)1hMdG zhfGQ+SK5FK!_KNMzjW`tl}>;>7VYJJlia&8Pow58lIvF5zR-HAxBa3encKf@GMyS?;5tOnRM1yMl{15_* zZ;{4>k|BI3GwHt7Ni9pXWXen0D4qu#`>Hx(q_FgZtyQqJCGrxj=@S_}v?&mf0OQ$e z$a#=EKLQPpD`cpDW)JOH8*?<3sx_VUsX|$^Cu8ecm>)u79%!76WF%M$M-zWlyft+_ zZe==R@pNg|W@RR<^+}<+`m{uUo*$25lxpaSF=ZvA3ClXuQ!S2)9@-pwHtOA+ zz1%K_v}P$%bYZwWs=ma{M?gw8+ozR+(s6f4=oMO zg{DuFfW_}-4gp>+dEK_o!h zqs__lJg~ z%Gy-S^hLZWZiKP>qb_h*P7NMPJ-B^2K!l*u)AZc(d@;=#D<;i%?`5ac5A})4@zz!L zcN+DF5tc#l(d)*0957SfHN;Rr$GV%6Z?RSMtbdoW_TNpAIZ)3MXAWQxiO@&5&x@^M zC;}uQE8c&00--^vur^g92%HqMR1*Y27sFW<#f#z|E2)69GHm>VWrXaX*4*4MEp1q34mt6h@UiIg=YA1 zAk&BZ(g?AKKFiwU#DQ0theG;LjXt#KpOEr1MI=IVyFP?mas)%$11!IoVK0q$}PWsh+$!L^>2;buDLupkEEWQmJ8k(jQ*+^IG z-n(Tbx7Jz?jA{qH*OeF--_(~^L|?u;>5z2d_;!XplyAs6yS}D8S%s>iJZ@Dh$D;V| zL^`Zi`DHW%2RBFlOhM%>2z1}_oe-(vlgNau%GruaeA?NC-z9(m)FFcUO0!v*l> zS0{H8#MbB&YUM*+l>d>(_-9H#SErV1I_{r!TDfHBY{zBGc{{zg^dF1rGSl{o6VBk{ z7oyA@#{>O7(WSoT{mPQ$9<1sX5n3Yb(fC!$HfS+xD^n+s(d*e!BpbPSV6v*>%r^LP zCJ8>;p=s{8e;fLU6Tvcr2QUHtaGw_rpEiIo4wQZpL6(WW)g6d$mtgD)V1~VFaF+-R zbcZZ2H_sW`*ziEF7ANh>&Z1d=mEq^Y;8SY-!v{Dptap@@4=MJ>kPiH!jSvhme!8xt zqWSO`GS?Y08FEDY0}g(|%irw9e_W9SMvg}w*Mxj}i6p<53$Fi4b&vz~2?1!%07N&Rf#Dsw{;wVTMkh>1J8dek>sbz|4A*Wf z(9t&%v7iG~QbGGrOls_#7wt3e$#aIq+ZKcPYvf3v3J=sZK8{aU_^va(R{&RgB$=cT z-bOo}(#Bbl7i(h^HfYQB#%L`pJSASc%T3#OcLMba`N3yVx!O){e!HFL-Z@<3$!0(= z?RhD?Q|mnDAJ8YbeyU%TD|L2CuaDKHG>o8sA-ctQUJ%WalU30er^47_{Z33)6AJ*sJ9MF%e%L7XD z%6~c>XEOol&MzDh_!DI?h%y}b_QiY;uK?#HAvb=|U{Kls$I5#*hQ;pXo#%RI>Ly4* zO1KuYhXL13()w*gEoH2fCEwS%A<|v3!%TCM5UC&i5_p-OcVU05P~3DUY{QpC{32-I z&;r5sAl2Vx(8S@Al--p}pMY>HAlu_X69Scx=MD!~gru{BUF>M3n}ec~r9_57G0SF% zAmAR9+%Fv37FxSjeuKDF_=A42ERgm{&}6@iq+kAJ;!dryd$J#_;FGd)AT9b368K~A zf3-_On7uJ1iTVU%A>RXv4!dz6>m(@sVRDf7{?Fw&w_*azNOZ=`!X{j<7cs^sU;S>7 z#x|`_q^+Hg1NN)(N72;-QmlNli{p@FqucSqMvMyk7Sdw3Zs7Bc2aXJ_YD4oSgYhqu zhqzw46?FPdF z>2&KD3p}P>GpOlbx2|$}qaISe%(v}cO7AA)Z5`;^cK^uQ&i)+?j}Zdc)k+$T0&HW* z5=zZ0S3&p0_mm4{DJWBfDfHbP5c+ODFdF!*k9&1Go|ZaWv>sp7P%`p3%}P}itv3-o zsGCK6(Yd2oIR!N1$K6`q&@VJ3%am+$o50)SRqd1s7wXvh9tzlK; zJuGi}!``z%a>@}hs(CoY&6Oalcvc_AG0d0PJfx&H@Vwvg61Lk#>Py=Uv>n~!f}r|P za7oGPOnW{LPw=E#5=@-j_-q)=*B5+l8Jo5?5*4wEw28eY zpwPvN?j{T1rh~Ytq^|RAt~X9i>hjL-8TLoz*jSz8>Udck0$t%;Duye_(4+s zpF-4@dyU1`&~- z%MWe~S<5^AFaSpI?r-%U)yIGy0+&9tpe~Zu0iO&l)_+z$zHJZvnLEIF3*S5Be``3) zYRr{7U=&c{J4}A}Sy}*Pd~bA7N=!JqX%;QEUS5ku2}mAE4>|eg4)Ruz+xf7zKwDS} zMa0x#zId=7dk1R)k|I*Ejt6Eky47{klnN;-uZG(KOjWN4x?h*_WK3qkffur{*F>Kq z%SmJP8n<=5xOBEU6rkRw!XM(=SSZr(bh89{AX)e$7Bi;a@3PTev*gQjbKdRFP^;_R zNWbqRbh)nudp{g`4!rk@vC@&U5OJ4{yk`Syt?3(9_i>U6GqEc!$-CX3kx z;}d6w`gJwSf}D0@tzu#~UKu4!KM5y&AUE%M7VUddalR%Z$}&jd`jtxh-Va+i;PF_6 zdy@~%>fU_G5dHu`2Web+%R3*NrOM2V%k5v?!#?7z$ZYr7FMble z&zywHj>CkQ0POuEBMkhfHvBd?mv3a+7O2ddk76gzr|)|;y{g`MPX`hlQg04H8&J%4 zr2yjEdnyLfNtHhwa_QbpNVEPWSmoty5{&ap9GF! zdkCQm41Or$+G~Q0bzx6}7`@w0yr1O1uK^2fg`znURr_ved#7lZcvmonnoJPi4JmEy z_@+;IX2wNo$9Q8yM1((THcZxKzVg!R0MzC+MI{`tI1>%97-F871phWkNG4I_Gm~av z!vnLNGaqVsG}i~u7i9rY#e7JkMt_qQRlkd>N5mC#PWP<0n=lr;`jIZe~Q{Jxc3MpiBbZW;=%dO!xi|TKC_61M|C{*h7hPpvZfQWz>xKW20W!DET;Z zS3`oPwdl2HS02iJB|@LsVRbV|yfR$QxUocUKAOUAedmUcjv5#LBkA}s)W`h@ig7O_ z^Fid@@_SCPuKvkQBP-VoRITmD+XW>(BrGc}HNQ|$Q1~-4wu6FKPJx{*kMk!?v|QY5 zUGjM|1}96?b)q}#q=~e+T_-hec_2?JojvYx;rqZUx`9GfyJc%m$_OP!a7fD+aM<|K zLGBg!$1Rz>+5B2_^9vTGAyrs;H||PGGBS+5)s!&NeFuv?nVcb5o6=JJ67DJ`ubU+{oCE@lid_Pb8vZD$due(UQ;tFw7DGrC))M(TQ7Z>XyLA<7Bsa`e zgP#dQ(ekTf{_P1isOb|vZJVK;=E1G!>|)cwBB`2ijj7eE+XTEiX6l_BbV>afAauj| zToj`fZA_8*u7+apGBlvfOv(RqcJh>`c}=^g%-g<9X$LjyK$D=rXtuhy%g?n-5_JOq94OVIHS)@<>U3W zk&UXfr)*uK^NzWGS%uNP!dJa7)*+)O;ut)-G(q~8A+-F3UyvM%{>>ogm%ITV^8EYi zcYPv-P}9MDYRKK@y0OmVCswHe)i+8@jE^nmX-1>k^p(QUT;{C0mbTVz`MJ@nx(>Sq zcP3^{h|YbawdYtE5%t}Kd&*)+lP84&rVQ$D7bXi?+WEM#^zm@s?B~;#TNYzb40K1V zLQM3S92qJ$S;fcRFX~=AD~AL9q)jsq#RO)RRNw^b1k^n}gd=rYe!JC$78QqPpHjXw zl4uLW(#Q^K)4WFjS6DVnW*ek^w&TU)!gUevT&K~=*;Cf3OIGJLlO~c$MlaWf!Sh(s zf&J(jd4a#fj=-$+_T2?S1bK<7aG^vG`a{5HB+J{!vo9~X5jbbqx=~5Ay0B!J#I{_e zNLYt4QWsmdDEkgTEN?n^n;s`)l2y-KIO4%-oz4(k|SlGIX z?Y=228R|v&r0$xy=AIHtTt2zsRe$n31seDp;B8oW=DP8FAH>JY>Lr}q&*S62FGC&w zTK?a2@PrI~E;)ml2Em=&*x;mWXS!3hemXwi?P21liLu!8&dGrpxsIDEyKeHQsA?M! zg0a<_4fALu89WdquQgO$bCD?9bK<$@N)U$p7z>l&hQ3=UX+2w-3hw%=W816Y`t?qa zH?nJGbe3(54bFuTbyhWe71SsPTKsoj8h`9Ho4`&47i=Uf^64&jWf_4h1((2d_yGw> z?r8Kilo;)%ODwCH^qAa0B;|6{%C+)ySAefA0?^KkcsJWztvvPZM>Y;drPQ^1aUUn% z7|m^BNTiQx`dx}X73p``mX@L(tLr*t#Ov4a&CN?O`t? z1g0Zot&s68Sq2(NIM9bJ{~3xwGyY*wU{)(ghCf5EpUwh?q^`UG3Z#H;9uBmo;y@h^ z98hCOCI4+~|9SPhT*mx&m07K?Q&g>au_%px4(Uw$FFthqL2lSG_A_UL?V;N2j7(p# zT0DIli**T8>k{Yf(fb}7g6vB|jV`>%4r**PNC-J;q|O@@q>XLkEQ{OKdf9tHSd=kx z{}F9NA{v4BQRGg|#SXiBIAB#)T^poruB2s+>^+|(oVNWw&Le@22F_0hie?X;{B;sd zCbU@V4BCS{ps*7a3*=vHE7^$o?VX_r4C!voxL@kvVjB6AUTIevr!YFzoR(MMY>6j} zH;Z*T84V=$n7688D}BtY=?u9nk3cEfkEhRdj5*!KB?s0j%d&)qb~iikMlBh4cm+u< zj8kEa^T*rC3e%!|fdyeZkLS2gGobRXT~D3Nba2WWSA01@+s^aRfb2BwbMca70vDc$ zxtckJY3O9;Y>=7y;uvpvUD(+syV49B{S-kW&nlicIp(kgIXXz?KOD^O24pa<&&bNR zLws*)goGuG()cTF+5}NNOG=UW4QIY*;53w!x;TG z>|sy)zZP2tKR1o?ySH{H?Z$Y3e-wA?^^n1(N>g79N#8eL(zNyKPI+G}2Qbm}_gqPw zr`nu%_Dkd~qCsczX6)n>C!3*zDwhjG+R2AHL)e6?8M+&Vp^@%+oRLDGqd^9?A);@# z#sBm94ytMfbtA9c(6cYvW2j$m7{p;H!~%N=PQt@nz6xOjvX8s%*9{Wr@9W0NwQ(~A z1PFVyAWfIjd*Ijpzc0mqW>6%5fvLdn+cHz%nqkG>aB?X;_N9p7`UHBcH{sm_FRW$v z#q1%p;OMt!Er)u2uV$jB$uC$F7>J{nKd@A6Wk~P4q~AdER&DVmQKSUtpAR6PHxw}O zDNnMoZFPpdKbS>}8m}6j41H*P9c%gsh^F@H`M70I!&bJde2M#3^P*N}9s3PJ^Dj$;Et6{HN6)zY-C?83vu zS#fY~C!ut_lfNhcQ*t9+-AlcQdFgaZw7$fq_>L%FIdOCJgXf%TA7bn1xtSC^?O{26 zpNe?51XsmZtaZakVGgAq)xQ|kyymu4=DNdS2VYVk0g=t}qS*mA6C9$F>cbC}j>7Mp zLRj2P`|UnFkNCupvr1we1z>HIM#-_u?+_s-Ri$*9UI zuQVGoTFY@$J_x*-dEtNZe81<>|C8AJC!YK7m-j);%|G3&5QWK28z}0@Ab@>M~e&EUPnS%z))`e{zPa#Q{@^^A$ z9_j2|=u?jJgKwWG7%mFkyZ2bdHf&PybD57)1Dd|yq`0=&sb2Q{Nx3*Z<-HrytXE6% zF>b`$GHpxGVSSP6l~WH0mGK25FI`@anl}5KPUVUovnFj95-i|m3C~FHAzaRlvmerY zViOy2_2E2w76$$o5%r7e{FZwYFgLm0DHf#N4}3-ilO{rs=D)g5W+nmS^74oe6BeP; zPY>r4#}mghO+ed#%jxymNag}FsVT_0lh?v;k3#sZS{bfovb_qyENV>X!tyA*5rit*ijBy1QKnhJ*g;n4nG z&Hr1*_n$N$0a>9D5kV0FtPd@|!%pomW;Q!!THgL7`-`uNgYbyXoX1EWOsNc__^LQ> zN}J5EQb&|@J^J1Yw1dfiW~c`Yiq{r;DXNn<1w+dFMexCCYc)Eq1d;ReSN_y zv|9F$qhHgU?P5Bffy)YGA?+|IT43cMc=pYJyV1wwkTDbQULKR6vDT){I@_oyL10jo zse{+fdZ#R@8muGr%J#D?96%6!>JPB{NF~+uc&RA)O881w&>~vu`}t?sj#)R#Ra%FJ z1d@)>mZlwk**gLdAzf$A_COUO)z!4dr>%W@w>B zc&MJ|9SEdoba*AXEq<%& zIc=EK^{#ev?5(xS;S1lyJKXZVnQW|Ged{yey(iP{;k%$o6*(^Me%t!9D5dF-V!~sR zH*afdtIRH~&VP7aG-CZI>5GfF@5jcvNc8CZ%{MZhkg;Dk0{&d(-vZ{Js78`{C%(SY zXlP@xcd)Urq6-F9yvq?6NTmiOF7!R^vq<7jc9_q&EZMK462O8McLyv$3@}3fy&dt7 zuKjnh#J}O}gs6?(<4^?{S^#?T?@$|3#HD&?-bam9n}r1U{Lp5YO*~g@PW&LXy7rlO zur(ybKlm&>+SXw4cpp^`wEwpo8ZlFA^EiMnYmo=G_?@0s|FnzY23uro7X3c(h@RrU z9R!JJ-_)A^4BGX~hm7&KX{JD`=# zVDXc75T?SkK@NPBP93ceM;1;UskJ=Ma1CUQZx;;50az@)>}p|MigZGn+~j!J(DeK) zJpAx%$GMXIMD&$(x5@J~V#sM5HhbvWw-kLg?lOPT4cpgMgKY0|;*k$#{DcU=V{M_+ zld_k?TZl0vDS<7R1K$^J1?CEwj<4T}2|JM`_ual6PMbAZb^WQ%{MQxa$y9H@`#uzr z1?J3H*7NECW^6nL)Pz*elfXKc-fa8aOW@+KwCXfPWM3&mX5t|H)Xw_5hW&m$TYW5W z`AbU)b~CrWX5Qb%ApVQ;i<*CLwdT6#+TD!HNd<9u_mUTq<52Vb>8iX>?sUuoVUrMF z|9TaRK0&*K3*8H0-z}af_J@V}kSoW_N*MzXLl;tws<1J{*B4Ayy((F>TYL=_J(Ple<;_wnV|W#n+`&s_e|xv3f*PNyOtSpa|z-w?rbP= zoAUWp1RV%h>r38oyQWjZ;Aoue0o_Lz^E?>o=1I6!212Y>%w3&6f9g10UP>gfPr67W z&pOg&5201h$rS<%#m6>df0tz-*e`(E zf3jaXe34;nKD6v9n%PcX?UCvFd=h_Fw_6ulv_$A=fqaJvL$GayuV=*X?cIz93XkfS zQbVS=(3E_q_ZKtw+Ay&8d&dEJN81A6|MqSACm7Ilc<2Q($e&-(&khuPcss!R3>_9Vdezj}y}>Ssqh+CJSs9yW^-fR3G}gWyL0 EAJW3t;Q#;t literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Advanced Usage/1_Code Notes_image.png b/docs/User Guide/User Guide/Note Types/2_Code_image.png similarity index 100% rename from docs/User Guide/User Guide/Advanced Usage/1_Code Notes_image.png rename to docs/User Guide/User Guide/Note Types/2_Code_image.png diff --git a/docs/User Guide/User Guide/Note Types/Code.md b/docs/User Guide/User Guide/Note Types/Code.md index e69de29bb..e1725bdae 100644 --- a/docs/User Guide/User Guide/Note Types/Code.md +++ b/docs/User Guide/User Guide/Note Types/Code.md @@ -0,0 +1,27 @@ +# Code +Trilium supports creating "code" notes, i.e. notes which contain some sort of formal code - be it programming language (C++, JavaScript), structured data (JSON, XML) or other types of codes (CSS etc.). + +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/Scripts.md) +* 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/Code%20blocks.md). + +![](Code_image.png) + +## Adjusting the language of a code note + +In the [Ribbon](../Basic%20Concepts/UI%20Elements/Ribbon.md), look for the _Note type_ selector and click it to reveal the possible note types. Inside of it there will be a section called _Code_, select any one of the languages. + +![](1_Code_image.png) + +## Adjusting the list of languages + +Trilium supports syntax highlighting for many languages, but by default displays only some of them. The supported languages can be adjusted by going to [Options](../Basic%20Concepts/UI%20Elements/Options.md), then _Code Notes_ and looking for the _Available MIME types in the dropdown_ section. Simply check any of the items to add them to the list, or un-check them to remove them from the list. + +Note that the list of languages is not immediately refreshed, you'd have to manually [refresh the application](../Troubleshooting/Refreshing%20the%20application.md). + +The list of languages is also shared with the [Code blocks](Text/Code%20blocks.md) feature of [Text](Text.md) notes. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Advanced Usage/Code Notes/Custom Widgets.md b/docs/User Guide/User Guide/Note Types/Code/Custom Widgets.md similarity index 100% rename from docs/User Guide/User Guide/Advanced Usage/Code Notes/Custom Widgets.md rename to docs/User Guide/User Guide/Note Types/Code/Custom Widgets.md diff --git a/docs/User Guide/User Guide/Advanced Usage/Code Notes/Events.md b/docs/User Guide/User Guide/Note Types/Code/Events.md similarity index 91% rename from docs/User Guide/User Guide/Advanced Usage/Code Notes/Events.md rename to docs/User Guide/User Guide/Note Types/Code/Events.md index add2fa5a2..5c90db376 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Code Notes/Events.md +++ b/docs/User Guide/User Guide/Note Types/Code/Events.md @@ -14,7 +14,7 @@ Global events are attached to the script note via label. Simply create e.g. "run ## Entity events -Other events are bound to some entity, these are defined as [relations](../Attributes.md) - meaning that script is triggered only if note has this script attached to it through relations (or it can inherit it). +Other events are bound to some entity, these are defined as [relations](../../Advanced%20Usage/Attributes.md) - meaning that script is triggered only if note has this script attached to it through relations (or it can inherit it). * `runOnNoteCreation` - executes when note is created on backend * `runOnNoteTitleChange` - executes when note title is changed (includes note creation as well) diff --git a/docs/User Guide/User Guide/Advanced Usage/Code Notes/Script API.md b/docs/User Guide/User Guide/Note Types/Code/Script API.md similarity index 100% rename from docs/User Guide/User Guide/Advanced Usage/Code Notes/Script API.md rename to docs/User Guide/User Guide/Note Types/Code/Script API.md diff --git a/docs/User Guide/User Guide/Advanced Usage/Code Notes/Scripts.md b/docs/User Guide/User Guide/Note Types/Code/Scripts.md similarity index 76% rename from docs/User Guide/User Guide/Advanced Usage/Code Notes/Scripts.md rename to docs/User Guide/User Guide/Note Types/Code/Scripts.md index 0be851d73..ecd15270c 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Code Notes/Scripts.md +++ b/docs/User Guide/User Guide/Note Types/Code/Scripts.md @@ -1,5 +1,5 @@ # Scripts -Trilium supports creating [code notes](../Code%20Notes.md), 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 [Script API](Script%20API.md) provide extra functionality. +Trilium supports creating [code notes](../Code.md), 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 [Script API](Script%20API.md) provide extra functionality. ## Scripting @@ -12,7 +12,7 @@ So we have frontend and backend, each with their own set of responsibilities, bu ## Button use case -Let's take a look at our demo script (shipped with default Trilium [database](../Database.md)) - Task manager. One of the things this script does is adding a button to the Trilium interface which will allow user to easily add new Task (TODO item). +Let's take a look at our demo script (shipped with default Trilium [database](../../Advanced%20Usage/Database.md)) - Task manager. One of the things this script does is adding a button to the Trilium interface which will allow user to easily add new Task (TODO item). ![](../../Attachments/button-script.png) @@ -37,13 +37,13 @@ So we have a script which will add the button to the toolbar. But how can we exe 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. -The solution is marked by red circle at the bottom - this note has [label](../Attributes.md) `#run=frontendStartup` - 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. +The solution is marked by red circle at the bottom - this note has [label](../../Advanced%20Usage/Attributes.md) `#run=frontendStartup` - 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. (`#run=frontendStartup` does not work for [Mobile frontend](../../Installation%20%26%20Setup/Mobile%20Frontend.md) - if you want to have scripts running there, give the script `#run=mobileStartup` label) ### More showcases -You can see more scripting with explanation in [Advanced showcases](../Advanced%20Showcases.md) +You can see more scripting with explanation in [Advanced showcases](../../Advanced%20Usage/Advanced%20Showcases.md) ## Events diff --git a/docs/User Guide/User Guide/Advanced Usage/Code Notes_image.png b/docs/User Guide/User Guide/Note Types/Code_image.png similarity index 100% rename from docs/User Guide/User Guide/Advanced Usage/Code Notes_image.png rename to docs/User Guide/User Guide/Note Types/Code_image.png diff --git a/docs/User Guide/User Guide/Note Types/Text/1_Code blocks_image.png b/docs/User Guide/User Guide/Note Types/Text/1_Code blocks_image.png new file mode 100644 index 0000000000000000000000000000000000000000..ef28ed50d4f2eea20244401d0fb7ff1da53becc5 GIT binary patch literal 30176 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 literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Note Types/Text/1_Formatting toolbar_image.png b/docs/User Guide/User Guide/Note Types/Text/1_Formatting toolbar_image.png new file mode 100644 index 0000000000000000000000000000000000000000..bc6bd96c479d4c83e78d98079a35da9ac1271045 GIT binary patch literal 2671 zcmbW&X*Ane8vyY8&msx2BtpfY2$k5z5(G7kv{kf=v{v{YMa>kLK_gQ7-) z)>380zEq2`Z*7#Z*3w!+b+L3}TGfo1dC#2p%%}IA=bn3?5BJ`4?(g1no+}s^%mE2& z3o8o%K>$Fz4G5+{96$>Rp@fiV6bgmGpoOsnQLKmvmWY=WC&PE4ubQzLO>e)pK2;CGU@%w_tc<9rjGmI5lHUIvf>wY-0}@1pLpT7# zL2w)-=zt1#&xnNn4Dg?TU~mLd2!+N7i%0+%1c$>Aa3m6e*j*X1I|mRrBwk6^Tu9R1 z9i_}9=tZ;g(IiG?o79P+H5Gl2;24as^d1?atm-~BGDV$gU}!`$HaU3cu*DHeE9;YA zo^o(>I_>P~<$c!2*UvxX;-%2A%i&jI<8FNOZG1vv+V|-hnYXgCa|#OY+$}0DDZN)! zT~k|E-_Y3fb9+Z;S9ecu-_zldUq;8qCnlf2m|s|2;w`VdT;JGy_bY$vxAz|)0RM}# zJN^awFV8LtNo}!`7X0%xR)2e^!~~bL$!@L zkFUM`CP0ffJW9Oi<*cM~CWd^aH=Pl);Uoh=BLE`GHeO zyf6ZUUKh*s@r`^MrdcF?fx<6~tv_d|BNkz6RsuU(9%577Xt?<-j>T+Q@TlY!Ex|?D z!DPtb;c4nux^K^@rE93)usa^i>;>~5lixwswvtmWFRRUiyG)sZgmt#Et^U&I4OR1s zqGcmkpB&H0#I5A1e^jTc*>|lyq-AG*U_u{Y{dNoBHj$ zqfKeF=Z%_PJqH(Q4kTkc%eM34^1d()as0&eO7)pOmAYh#Gik|Uo)%n|RMJaZ)-$KA z(j^7p!ivXGh4X5_QN@J%LJf_)==7xIhn>LT;kwz)id$x{7*@^M(nj$e%YDa9VjAs} zgDu48>9Q^Uai@36XZxenvYby*YMHsIK}Y841XTP*UVWa^9o7J4i5ht*x-Tz|;>vmh z5y0i^CvJZ^^x{#&q^zBsI%B0qLhOt4Ea&7#z&d@eRCELfADp*fa z{_3zC7h!iUCvb4QE|GUJ$+~pB%{4jS>E?Y4amE!pMA^LwgZqxk0qvTPtPO|z-%KTW zj(9}j#~i92HswrCI;1(B&OBz(N;w%L;z@iGu>FpMuBhG7>wDp()}W!HNTerBxsenr zL6q4O0@xn(vHj`N(S)9}Hgn4QsVy_6=B-=%?GSsX_}#9tHiuXp-0)sKl3t#Lu}G2| zFEq#`jDz8fQKxQK28#Ch$z<5FVjATcm7h5!Da3IRCKXjpXY$<%cMt7Ra0{u-uHr}# z#H@H+E@F1-N*Mpj*AaI<3kytS=z2_aaT}%|#CGX-0^MfwyLSt|G8k13zZSh=_*NhB zS|ceonwzpj2Ddw8y&tF#2HB-M8Yc)qXgRlKui8fu0#qbsal{&s0S6XE_TTIEsk31_ zGO~Y>ZA5%L+nxhDniOOOAkNcfvtIzthO>5VzvYFk@mhFvdFy$%sV!zFU_L_E{7`cM zJ%iZ!`SKNV_6E)4r&Qgs0(M`NmTIBZJVi^Q%&Dv0K1eKdz?@#Zj{H;*Md?KDe9A6c zNj(jh|7GXrow5PD$`qXi))-07O<|f0yE-k*d!3UQk+}3mW5TFRb^D+Ml99nWD3-N9 zDp-dMzu;1txoV#G^p}HHwV{*%A3qfF!0~sGRBib{PUq`ab>(EoD{ z#)uNQw3gV1Ni)N++NSKn;ey)C&s?6U&R^n{xXA<`Inz$$h_2e`_pkBzLFNHx_Attn zzIPAcE$z><0Viu?Pq1xMjx`KFoxo3UuBI3``JCr^!r75bI&N~}r6b;V&2_x|o?mgu zfT{x?N2E)L1%>&fn%Kcy{2W=!IR=ff_^C6RRTYcx9W||1pV$wNMrrgHer;8>lQm`4 zG-iMG&O{Jtb13iN4R7NU@U3p;D7hSic22hDzJ!?%GZuUHob?m7nCQoMU_)B>MX8Ov zyWO8{P>rSU6lh#m(-h(}I#SM0NBF{zoT_0vaQD?aeN0%S9|}$lYK^T;Ow;WW)29unfQzh}z_+VhJE6>*7qp7LEuI>9;GH;0z0^Z<2W(saHDfboy07U?+Hl`;GbB^CK$mvvIYn~rt9M(`wk}!-4 z^KN)d@3M6U9!~zHf#-@NVs%|!Du*z6+M_9hpQq~Q&TWVn?_T#0(ofIPv_~)VskgrG zYmUwEQBg3fq)Xiyu5i9Cq4S;c8!5}<&o@~_8UDf+N0`rV%FGDi$KMy7W&2@|m8q8| z%p=?u=1QkWd|C(~Co(0x$hL@*G?3siTGf0EmD!n59b@4bL*o?_AQvlcg%;bkuA#C) zc`({YJaQ1Hj>fXy>}N9okqXsc^`lNM-3n&CNfbA|>UHfwI`ru<@O1SJOUeG2?bKN^ zNK4d6p)A}SBRU}5HgoZ&Ttuqx7MK{Q(__p|D!(|Dxje9qIF_H47QU>5nI}LB`327e zz}Np+U6>JbR>xa+wuaoI$fzQ_v%2jtZQcH0dQe_r44w!<_%Q>W>2Q=TiAmSQOU;G(OKW#2x4MwV`aqRU}$e-WbI&T4`>(XLXHcIxzh7Nl?;ct=GIWwpL&S<6gMZC}Y;oje?odZ{Ms#Y@ zueP?fo?cv3bQJq#CE$ui(n?iG5d28Ote8`N_wJpnZU{%kT-l=-l9i9%{eRnVR+HD^=r*-SBSTSP7`!Gc3VtR^!p#tJ-+ z{z^HS{~dabP$eQDm|HVef8gB7B2grTPUdFEe$*9?Z7E%q92$rRtxIo8N=)n-%#cYa zvl11B*wh}Ya#duTSFd+nyN@fHT68*l)Dj#Pc7G08uv~tguh9r;o^$w>5(ldE&Xd=4(V97XJld$@I2=(FE58&9v8xw)#}fQ-A}gc zU{PA=c{ej>7iGzOLEpZ8`<0cIP!}E+W_*2lCi&*g-H7=3&Jv^Ur}>MR;95yZ$)Bou zIS52+cXtRD5&b~1q12HZG+ipZZD=SejN%noN^-J0%a&=4fQ=~Y-B<@`L_}&4y1ysW z*|h|FgSrk;h5As<;VGGXdb?(%&o9=WGOJNUbCneS?zE8|8XT0>%^NW&Fjg2mo z6wfy)!k+3iPAp@Ex)o-#C+4NKJZkP%*eKK)p+GDdD?S$Y*Ip|X#Rn-KFJ9aPx1<$o z4juR@3skAW&_oKG>k-=*DtRN>Bj%+>_;r8F%EEXq~ z;X_^wIySa&&x@1!`FZd9dJ(XRwPQTE2}0GP`r2e9S0$4s=J}*HoGPX-)sAs*Iac>~ z<#e<0haaW2y#DTO3Q(?qr*+o(Qh3D!rF?DmESKyRF?`n>cN@Tll#2LTNB-7p4Yi%! zxpT+ZVYEG*%4G1Dw6WpN!otG+P4&`Qhtmg;v=yh<;Sy~j8=b&QQ1qH@4e_W5Y zCZhcO(3HMxZfx9Eg3F|DX|mkHaR*8IxnkC9YU64uy|>}{tANbDPkbhzHWdeOhjFfe z4VHkZdKOEs_TQqT_@^in+?$+mB1`u?_(5p%k9Mri)BVMXGBYBXSk{cp%=@)E;emk| z&O1o4NZPvVa|@@faqq0G7ofL1pG{gKO|JNsj!AtdhFy17%nMcKSsAj#vSqsP^moTc z_q_YtYj)sPOok2c*o~$%j&Lf=a!o7Vi*NDqSPcMqvLYBy^9{E#_}ikWC@4Y|b3F1R zE)QbsXe*6$0@r_-5Gsya`Ms6bV7G58xawagx*g)ILY?-O3VQH zb~z)mDi)86u5AvG#pxp~IF z(4;4>@t1VemoHx+xbw*zhHrd7S?UX&^)~kRhda-DjvaZLn!be8x*eOxT#@mZBxp4) z{zj#O4;TnVCj{^&CAP#Yo|hnR9^!|*MTc{0j zF1qYVC(sf67<=w+4X3J|P@ZjT4uFf0jj>l=Tj5E>0(M){HT%uW8O0X4d%Ln!_;WT_76t~6!4Z z0E)!j+MUq39_K{4ew75JfGscMr)A4{EQO9;t7Ee-PT_90zKHc6LuRa!$=uvr*4eep zZ)3yUF68@wC9SkLYwYvb?r)tiW183ko!Z>Of&wSKL$uU&7$>QH6*(Il8(@-%?&ZuB z25>PX+e!&O_z_>-!CCHV-ha3Q70Lo1SS&zgZ);UU$%O%?%lCjM}<nJpWz-0+u2Uo zKE2nwF<~0I<}Qe-D~6SGSJldznpZ`xJ_C*v9EuEl=`=~S==mAj}K2y z+S=ROg^-k#lnWBXsUwGbd+fEc^CTHnXeQLskrOyA%0K5?BrDOg=$csgS#DKxf(O~z z*(r3fRjOUoD!bdfRha?9!JXb!`+h{#BT5n;BE)x!qmk_QI|mF_6(sNc2D zyOa|X6TQf1^LA^;ZjORU6EemglKw25TwFmwWB@yb7C6i`+yO+>p082*R!%PCnrBf* zM<;U^etl+A{b}=!iV88#W7c0ke}4Y;i?(4;JMQOCY9Ak;FQK6sWo5$)#lgYBPlR09 z8yg#2T3h2OHuDPW3>rS)@$>UzciK`f_*m1Hqm*^Jl3)XFPRGL&JvpgK!mKU|y7B4) z^@4!`YcZn%sH|ULAkm{oEpv^&XZ`T&=8N6>aMe6IMn-Iestizz4m{YF zO@4NE_UGzkDl@BNWpy=OnNh%TjR4pH*+l+tq+G@XBqVKx@GA>I@Lxhg44VV+Ou3)R zCkshiTeC*e76Z27eu_u*LLRo<75(VZqlk!zhK1IUv&+N&Z{5o<7)(J$<+X>0(7TMt z#6)sMC8c;?tEa@o#QEyQch%I?uyJst<>Zzx&klK$EE?SaJ~GnMnzl0b_V>lo|8lEq zAXKAbVvJRrCnxoEYu%!sONA9#PYXimqMY>pKssC*gOJl6i>@(p;B z5|@1gTInW0z;SU;^5F1BUSVP3)6>&9xcFHSUKo{#ytw#X#^|mMy?ehhGoQtFlL`(i zInB_+wZxbS~w&}$R9!7t&~&P5$(U}WSZ_U2>V9L&JU zl277fVPaqa3Q;I_@ljiw`MSWzlUq=WkbvN`V$N+H*49k(d_StGwT~jSCQ6KOR{K*{ z!D&1qCguRx=Cwv*Hn4f^aBtIDb>4*R9IrOUhZ zH^RVwYS%c05;Ljp^}X7i+urV7>Wq@xJX#+LOyINOv>a!DKq1%y-UbB+i)Rh(0~qrO zZbkxc3=R@tcxSpMA%G58E06Q_tgob8_x;7a3kwU)s3Zb#X;@hwB+0k?pyPnOJ{J-q zmyX25!7&8Jr?R^G09AjJROPU056b7^;h~VD42YM@paoOMWgh(+5JHLPh0{uZN`F?0 zSFkqgD(L!^c#~v(aCJ{SSD@F``TXkY*cz7s+C_vH;H}y>>G}rm$m~je1~zcdj~?jC z)rVwdnfP*4ocbx+YCc2y3=z(gB*uVrQuZ%$zKt~9TSQ%ADKmD;uh3E_;+txBrgiyC zD1Zj=#IQ}p+$mcc>Oo7b>V(BejbXEEccNs;_7k5@eK|b-H88Tq%*yv^;?B$`meD6- zrt);5NLhMg8MOan|9>(Q(AIzUP$E-l(w`g}9*(~~RnZRm1UUFxVq;`vgd7Gdg_?~O zB*`uJQC9TLfx7i{abY4-rrmaK3$@sW_fAHp%Hxa^&;>J~{f+Iz!^8c9gA%u^b_7>k zeEh^5O_KQL=(A=*KzB1Pi+Fv>P>bJ}0Lik+Lh;`BFb315@ZW?}T5U}G`ugVN=P$Jc z5#dq_#Z^}FzX>CkR#txWm`#U!Dm+8bH^v-IRaJGc!bbPE&Fq6)ulEG%#?2TV48kEe zep#M(exrr2n>@j;oVF)lzkT~<;$XVQ`LGFx&30>?1MrBHoE+XP{KnIF8wUqRqXdTK zj@mIAFVfG~EbrP{#UCZL%zyJUHukZu$38mza*+x|5PV&)Gdh4fdKwyUfUHtLra*VL z+*ti$3@ey2NAop&6?4#V=gEXU_^CYhye9M6Z<`NjlVk}GLM7K7x*7E>w3B5+DwU0r(z2U2d+h|v1@0Zo2KMs_GP z2^h{;P{wMrA!MzeKI_P~=XY-aoFZ?0_Q6ZyRrbGS#C^XqHp$jRMkP#9Dm z4N_E|lJDMOyVWKa6|uAG)**j+Le)(M6hlSJHG2c8ygKSUFV@D3pEIcy&wEC&BU(N zWSO1q5Ze5Hx!F(vuhrz-&W@J|(%|hg{(GSBLqc#^Sy@rdEV11bNMEiIDZ%(HWI zIaz9459w!SX2Ow9!`UA|eByIYKwG7kR`iYi*o3z?^j@Ucc3wQ8LMcZXmz;m#0SjSb ze5>u$rXI*qFx1X85L@-jvxDXC^@-9K`uh5`baWi%!!IF(goONn%hP%8lI5XL+2T;2 zLw9y0w)-&>^rQ)}13hsZzCfHyQ;cA+B8OFZpzc8+LJ`r+7FC8fHHi-n4z3O75P=+X z3z?VE@9It$aN5EsLcpS11OxvyzKJ5x48-uobE;$9J08d*H8MA$xS)QUvEquaQ`BAM{ag@LUnLfvDmrhdoAKu>c_4QqFr z&Cx~+Q7U4#V(W0z^Nn3F4znaoN+OmyHvJ!DvA+?tpO$L7|Ar*y5SlOu2-fjjM@+FAwL}=OQ${U0q!h zg*|_)4`tok3lzEZHc58PlvWD#*^?Z>_E^t|?da&3i&oP~h2LBwEA4y*99H<#7<`Bv zI$Dw7z_!MVn;!;}BtKhdx&_w%VDV+w^D?(I)t`Wg5u)=s&;RR_|99oT*t*8Arn>qE zpuz*7LPK?)?moW0y*q#QPfmWH1?Ygxk(-w%4Mq>|;pb7UpTNB4370Xhii%20OAEJF zZ)4kuijGd7jn^TW-B}Y+7wi0Wx9+vLogGKk`;^SGvhSf}dTd<`xzjMS6EqQ&W$2XH$Ti25Bf?(Ad>g;FZ&s-qG6MOrsj7?Ptu)UxCF2 z4F%J@2G)y+lvEl>I~E?^vhL0KW5_G#9a>sizdQHtvjc%F(5^C=G~S)51@4&O$rIC) zSi^;upnTo>3Wh=FN9%^F8M&b5TU(Y7$oU(BiJ4w9GcN&-d_+QGztr&%P-k<3 zO6La7C{Wh{cs2O+1wE^$(arL1(14BbQJG=R+)#P+AFUjP+=eRu?4eZ>13kh1l zVSSKJ(0NDJ(vlfC9>7mvnqx-s`0?Y0Klk-MexwK?VObc?QA!m26l~ZYR&3n+G%t)H zs?+w-fd1JtA72dov=Q?vkP@M8M-9Eb zp|dyFC=X!xmsVG`K7r|u9JmWYQ_WPssj9w*KP)ULC^bJH7lk!* zDfbr;2E`>LI=i}>z{C56FTUC>w$1PCgyrQi0g>}qvfD*g`D!BQg@ll~PS`B%H05`< zjpm#D|6Cq)g9ujK8dl}Bt$E~D`x0YS^u01d)IDAVE)3d9H2rT`$NsJLbvt?)6cof_ zFVx5@KjMJ%J}WD2mBjD-U$(FF=loDBS|e!(WdGrle(3)D@^*%m=&3wlY*JZS3A8gzo0V@fkq)7n2U0yaNsd`? w!#3*fWqYNf-X;W}t?~t0s)qVg`5Td!-e;+SSt>H%+XRU8YkA26aXp{^0E$`3A^-pY literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Note Types/Text/2_Formatting toolbar_image.png b/docs/User Guide/User Guide/Note Types/Text/2_Formatting toolbar_image.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d879eba479e05307cef85731573b1e41527498 GIT binary patch literal 18174 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 literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Note Types/Text/3_Formatting toolbar_image.png b/docs/User Guide/User Guide/Note Types/Text/3_Formatting toolbar_image.png new file mode 100644 index 0000000000000000000000000000000000000000..3270223e23161542630eb8dfc52a81405174ecc4 GIT binary patch literal 10342 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 Bre^>E literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Note Types/Text/Code blocks.md b/docs/User Guide/User Guide/Note Types/Text/Code blocks.md new file mode 100644 index 000000000..b969f532a --- /dev/null +++ b/docs/User Guide/User Guide/Note Types/Text/Code blocks.md @@ -0,0 +1,35 @@ +# Code blocks +![](1_Code%20blocks_image.png) + +The code blocks feature allows entering pieces of code in text notes. + +Note that this feature is meant for generally small snippets of code. For larger files such as an entire log, see the dedicated [\[missing note\]](#root/pOsGYCXsbNQG/KSZ04uQ2D1St/FVuX89AJuFSw) note type instead. + +## Inserting a code block + +* Via the [Formatting toolbar](Formatting%20toolbar.md), look for the ![](Code%20blocks_image.png) button. + * Pressing directly on the icon will insert a code block with the language that was selected most recently. If this is the first time a code block is inserted, the language will be “Auto-detected” by default. + * Pressing the arrow next to the icon, which will show a popup with the available languages. +* Type ` ``` ` (as in Markdown). + * Note that it's not possible to specify the language, as it will default to the last selected language. + +## Syntax highlighting + +Since TriliumNext v0.90.12, Trilium will try to offer syntax highlighting to the code block. Note that the syntax highlighting mechanism is slightly different than the one in [Code Notes](../Code.md) notes as different technologies are involved. + +When the language is set to _Auto-detected_, Trilium will try to identify the programming language (or similar) that corresponds to the given snippet of text and highlight it. If this is problematic, consider changing the language of the code block manually. + +When the language is set to _Plain text_, there will be no syntax highlighting. + +## Changing the language of a code block + +Simply click anywhere inside the code block and press again the code block button in the [Formatting toolbar](Formatting%20toolbar.md): +![](2_Code%20blocks_image.png) + +## Adjusting the list of languages + +The code blocks feature shares the list of languages with the [Code Notes](../Code.md) note type. + +The supported languages can be adjusted by going to [Options](../../Basic%20Concepts/UI%20Elements/Options.md), then _Code Notes_ and looking for the _Available MIME types in the dropdown_ section. Simply check any of the items to add them to the list, or uncheck them to remove them from the list. + +Note that the list of languages is not immediately refreshed, you'd have to manually [refresh the application](../../Troubleshooting/Refreshing%20the%20application.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Text/Code blocks_image.png b/docs/User Guide/User Guide/Note Types/Text/Code blocks_image.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba15d3211198ef4a94ff5b822702ae1910b7db7 GIT binary patch literal 682 zcmV;b0#*HqP)ZgXgFbngSdJ^%m!D|AIzbVG7w zVRUJ4ZXi@?ZDjyWX&^B&AZ=lCATlsAH6SrDIy5;tG&LYAFfuSOA%Zsm00067NklcMAF&)z|`(*%tb+p_Rl$|mD) zh8YcD{Q2?xKp(>}obeCx<8KQ*%UgVF-r`&H7T=m#aqm4i=O~IIt8va@j9FFuW9|Ur zoP&t4-|w>)jWNPGhpy{DL|>M?#jJQy6tLDpDFyF60Dy=d%ETDKIY-xZkW#+Z_&1Ak z+0{zC+fO> zX`N2>KQVU>WZhL_jPTw=YdtQSwmBW~m(RJR$P>}S!z)WX)$o)a=`IsO82_w{F|=(9 z&iPY^Rg!S#CQWNSj`w|k)>=>c zrIc6m)@ZYJTq$+)giH_-nx>hg5MylB>uh4Sj(=zV&v(x6%v*eG-r`&H3$u!NJ#|9+ QF#rGn07*qoM6N<$g0{0Vp#T5? literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Note Types/Text/Formatting toolbar.md b/docs/User Guide/User Guide/Note Types/Text/Formatting toolbar.md new file mode 100644 index 000000000..c9749ed06 --- /dev/null +++ b/docs/User Guide/User Guide/Note Types/Text/Formatting toolbar.md @@ -0,0 +1,35 @@ +# Formatting toolbar +Trilium allows two different editing experiences for text notes, based on your preference. + +To do so, go to [Options](../../Basic%20Concepts/UI%20Elements/Options.md) and look for the _Text Notes_ section. There is a corresponding section called _Formatting toolbar_. + +## Floating + +The floating bar is a more minimalist option, in which the formatting is hidden behind two different popups. + +### Block-level popup + +The first popup is the block-level popup. This will appear to the left of the current paragraph you are currently editing, as a sequence of dots: +![](1_Formatting%20toolbar_image.png) + +Clicking this popup will reveal the formatting options that are specific to the entire paragraph, such as setting a heading, lists, tables, etc. + +![](3_Formatting%20toolbar_image.png) + +### Inline popup + +The inline popup appears automatically when selecting a text: + +![](Formatting%20toolbar_image.png) + +All the options here apply only to the selected portion of text, such as changing the font size, or making the text bold. + +## Fixed + +The fixed formatting offers a more traditional editing paradigm, usually useful if a lot of formatting is needed. + +All the options are combined into a single toolbar that will appear as part of the [Ribbon](../../Basic%20Concepts/UI%20Elements/Ribbon.md). + +![](2_Formatting%20toolbar_image.png) + +By default, if the toolbar does not fit on the screen, the rest of the options will be grouped into a single option at the end. It is possible to display items on multiple lines by checking the corresponding option in the _Formatting toolbar_ section. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Text/Formatting toolbar_image.png b/docs/User Guide/User Guide/Note Types/Text/Formatting toolbar_image.png new file mode 100644 index 0000000000000000000000000000000000000000..85578b78ea01afd0d750234ee286c8defa73b953 GIT binary patch literal 9111 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 Showcases
-

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:

diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager.html index dac08e985..0666d4c7d 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager.html @@ -15,7 +15,7 @@

Task Manager is a promoted attributes and scriptsshowcase present in the demo notes.

+ href="../../Note%20Types/Code/Scripts.html">scriptsshowcase present in the demo notes.

Demo

@@ -42,8 +42,8 @@

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 + - event handler which is + 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.

@@ -74,7 +74,7 @@

In the demo screenshot above you may notice that TODO tasks are in red color and DONE tasks are green.

-

This is done by having this CSS code note which +

This is done by having this CSS code note which defines extra CSS classes:

span.fancytree-node.todo .fancytree-title {
     color: red !important;
@@ -83,7 +83,7 @@
 span.fancytree-node.done .fancytree-title {
     color: green !important;
 }
-

This code note has #appCss +

This code note has #appCss labelwhich is recognized by Trilium on startup and loaded as CSS into the application.

diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker.html index 9efef1a86..2060f0b5c 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker.html @@ -16,7 +16,7 @@

-

The Weight Tracker is a Script API showcase +

The Weight Tracker is a Script API showcase present in the demo notes.

By adding weight as a promoted attribute in the template from which day notes are @@ -26,11 +26,11 @@

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 + 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 + The Implementation consists of two code notes that contain some HTML and JavaScript respectively, which load all the notes with a weight attribute and display their values in a chart.

To actually render the chart, we're using a third party library called @@ -40,7 +40,7 @@

Code

-

Here's the content of the script which is placed in a code note of +

Here's the content of the script which is placed in a code note of type JS Frontend:

async function getChartData() {
     const days = await api.runOnBackend(async () => {
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes.html
deleted file mode 100644
index 8611432de..000000000
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes.html	
+++ /dev/null
@@ -1,53 +0,0 @@
-
-  
-  
-    
-    
-    
-    
-    Code Notes
-  
-  
-  
-    
-

Code Notes

- -
-

Trilium supports creating "code" notes, i.e. notes which contain some - sort of formal code - be it programming language (C++, JavaScript), structured - data (JSON, XML) or other types of codes (CSS etc.).

-

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 -
    • -
    -
  • -
  • JSON, XML etc. can be used as storage for structured data (typically used - in conjunction with scripting)
  • -
-

- -

- -

Extra languages

- -

Trilium supports syntax highlighting for many languages, but by default - displays only some of them (to reduce the number of items). You can add - extra languages in Options -> Code notes.

- -

Code blocks

- -

An alternative to the code note is a "code block" - feature of a text - note which can add short snippets of code to the text editor. Starting - with TriliumNext v0.90.12, the code blocks also support syntax highlighting.

-

- -

-
-
- - - \ No newline at end of file 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 d0108c00c..39104417b 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 @@

Custom Request Handler

-

Trilium provides a mechanism for scripts to +

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).

@@ -22,7 +22,7 @@

Let's take a look at an example. The goal is to provide a REST endpoint to which we can send title and content and Trilium will create a note.

-

We'll start with creating a JavaScript backend code note containing:

+

We'll start with creating a JavaScript backend code note containing:

const {req, res} = api;
 const {secret, title, content} = req.body;
 
@@ -74,7 +74,7 @@ Content-Type: application/json
           and you need to take care of this yourself.

Once we pass these checks we will just create the desired note using Script API.

+ href="../Note%20Types/Code/Script%20API.html">Script API.

Custom resource provider

diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Sharing.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Sharing.html index b4a2e423d..b46cddaf5 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Sharing.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Sharing.html @@ -82,7 +82,7 @@

The default shared page is basic in design, but you can customize it using your own CSS:

    -
  • Custom CSS: Link a CSS code note to +
  • Custom CSS: Link a CSS code note to the shared page by adding a ~shareCss 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 #shareHiddenFromTree label.
  • diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Keyboard Shortcuts.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Keyboard Shortcuts.html index 8069a42d9..aa178c56b 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Keyboard Shortcuts.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Keyboard Shortcuts.html @@ -91,8 +91,8 @@

    Editing notes

    Trilium uses CKEditor 5 for the text notes and - CodeMirror 5 for code notes. - Check the documentation of these projects to see all their built-in keyboard + CodeMirror 5 for code notes. Check + the documentation of these projects to see all their built-in keyboard shortcuts.

    • ALT-F10 - bring up inline formatting toolbar (arrow keys <-,-> to diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note.html index dbf437cff..0042fb904 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note.html @@ -21,13 +21,13 @@
      • text note - this is default note type which allows you to put rich text, images etc.
      • -
      • code note - some kind - of formal code, typically programming language (e.g. JavaScript) or data - structure (e.g. JSON)
      • +
      • code note - some kind of formal + code, typically programming language (e.g. JavaScript) or data structure + (e.g. JSON)
      • image note - represents single image
      • file note - represents uploaded file (e.g. docx MS Word document).
      • -
      • render HTML note - this works as an output screen of attached scripts +
      • render HTML note - this works as an output screen of attached scripts
      • saved search note - contains saved search query and dynamically displays result of the search as its diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note/Attachments.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note/Attachments.html index 8e3f8785e..97e1cb656 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note/Attachments.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note/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/Note/Read-Only Notes.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note/Read-Only Notes.html index fc590d052..adaac6248 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note/Read-Only Notes.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Note/Read-Only Notes.html @@ -13,7 +13,7 @@

        Read-Only Notes

        -

        Both text and code notes +

        Both text and code notes in Trilium can be set to read-only. When a note is in read-only mode, it is presented to the user in a non-editable view, with the option to switch to editing mode if needed.

        diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Themes.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Themes.html index 4d23c846c..3bc46571d 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Themes.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/Themes.html @@ -28,7 +28,7 @@

        Trilium supports custom user themes, allowing you to personalize the application's appearance. To create a custom theme, follow these steps:

          -
        1. Create a CSS Code Note: Start by creating a new code note with +
        2. Create a CSS Code Note: Start by creating a new code note with the CSS type.
        3. Annotate with **#appTheme**: Add the attribute #appTheme=my-theme-name to your note, where my-theme-name is the name of your custom theme.
        4. @@ -122,7 +122,7 @@ body .CodeMirror {

          To use custom CSS:

            -
          1. Create a CSS Code Note: Create a new code note with +
          2. Create a CSS Code Note: Create a new code note with the CSS type.
          3. Add the **appCss** Label: Annotate the note with the #appCss label.
          4. diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Options.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Options.html new file mode 100644 index 000000000..102bb6907 --- /dev/null +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Options.html @@ -0,0 +1,19 @@ + + + + + + + + Options + + + +
            +

            Options

            + +
            +
            + + + \ No newline at end of file diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon.html b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon.html new file mode 100644 index 000000000..b1a9038dd --- /dev/null +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon.html @@ -0,0 +1,30 @@ + + + + + + + + Ribbon + + + +
            +

            Ribbon

            + +
            +
            + +
            +

            The ribbon allows changing options, attributes and viewing information + about the current note.

            +

            Settings

            +

            It is possible to change whether some ribbon items will be automatically + open when navigating to a new note. To do so, in Settings, go to Appearance and look for the Ribbon widgets section.

            +
            +
            + + + \ No newline at end of file diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Basic Concepts/UI Elements/Ribbon_image.png new file mode 100644 index 0000000000000000000000000000000000000000..95fc8e6648f7218f1653bdc03b4b8bb866105ef2 GIT binary patch literal 23293 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 literal 0 HcmV?d00001 diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Developer Guides/Frontend Basics.html b/src/public/app/doc_notes/en/User Guide/User Guide/Developer Guides/Frontend Basics.html index d51ab300d..b679700ed 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Developer Guides/Frontend Basics.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Developer Guides/Frontend Basics.html @@ -19,7 +19,7 @@ the current app and note context, and widgets that export an object to Trilium to be used in the UI. In both cases, the frontend api of Trilium is available to scripts running in the frontend context as global variable api. - The members and methods of the api can be seen on the Script API page.

            + The members and methods of the api can be seen on the Script API page.

            Scripts

            diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Developer Guides/Widget Basics.html b/src/public/app/doc_notes/en/User Guide/User Guide/Developer Guides/Widget Basics.html index 1bc37bad4..5c44d672a 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Developer Guides/Widget Basics.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Developer Guides/Widget Basics.html @@ -96,7 +96,7 @@ module.exports = new MyWidget();

Step 4: Adding User Interaction

Let’s make the button interactive by showing a message when it’s clicked. - We'll use the api.showMessage method from the Script API.

+ We'll use the api.showMessage method from the Script API.

class MyWidget extends api.BasicWidget {
     get position() { return 1; }
     get parentWidget() { return "left-pane"; }
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/FAQ.html b/src/public/app/doc_notes/en/User Guide/User Guide/FAQ.html
index 732a09deb..1c90d07fb 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/FAQ.html	
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/FAQ.html	
@@ -52,7 +52,7 @@
           
  • 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="Note%20Types/Code/Scripts.html">scriptingsupport would be a XSS security hole, while with the single user assumption it's an endless customizable tool.
  • 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 32370255d..63a6e917d 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 @@ -59,7 +59,7 @@

    Scripting

    -

    You can alter the behavior with scripts just +

    You can alter the behavior with scripts just like for normal frontend. For script notes to be executed, they need to have labeled #run=mobileStartup.

    diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/1_Code_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/1_Code_image.png new file mode 100644 index 0000000000000000000000000000000000000000..7520e45c1865fb53eb45ed13f0fcb4be83e7dd2c GIT binary patch literal 13946 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 EAJW3t;Q#;t literal 0 HcmV?d00001 diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/1_Code Notes_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/2_Code_image.png similarity index 100% rename from src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/1_Code Notes_image.png rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/2_Code_image.png diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code.html b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code.html index b1b6dc876..e6135209c 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code.html @@ -12,7 +12,51 @@

    Code

    -
    +
    +

    Trilium supports creating "code" notes, i.e. notes which contain some + sort of formal code - be it programming language (C++, JavaScript), structured + data (JSON, XML) or other types of codes (CSS etc.).

    +

    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 +
      • +
      +
    • +
    • 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 notes, see Code blocks.

    +
    + +
    +

    Adjusting the language of a code note

    +

    In the Ribbon, + look for the Note type selector and click it to reveal the possible + note types. Inside of it there will be a section called Code, select + any one of the languages.

    +

    + +

    +

    Adjusting the list of languages

    +

    Trilium supports syntax highlighting for many languages, but by default + displays only some of them. The supported languages can be adjusted by + going to Options, + then Code Notes and looking for the Available MIME types in the dropdown section. + Simply check any of the items to add them to the list, or un-check them + to remove them from the list.

    +

    Note that the list of languages is not immediately refreshed, you'd have + to manually refresh the application.

    +

    The list of languages is also shared with the Code blocks feature of  + Text notes.

    +
    diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes/Custom Widgets.html b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code/Custom Widgets.html similarity index 100% rename from src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes/Custom Widgets.html rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code/Custom Widgets.html diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes/Events.html b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code/Events.html similarity index 97% rename from src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes/Events.html rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code/Events.html index 1a1270aab..e50eda77f 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Code Notes/Events.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Code/Events.html @@ -36,7 +36,7 @@

    Entity events

    -

    Other events are bound to some entity, these are defined as relations - +

    Other events are bound to some entity, these are defined as relations - meaning that script is triggered only if note has this script attached to it through relations (or it can inherit it).

    -
  • Code Notes - -
  • Advanced Showcases
  • Note @@ -183,13 +173,27 @@
  • Attachments