Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TOC and file renaming #88

Merged
merged 2 commits into from
Jul 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 74 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,77 @@
# Trilium Next documentation
# TriliumNext Documentation

This is an export of the upsteam [Zadam Wiki][0] for Trilium Notes. It's been converted from Github wiki format to markdown with some light rearranging to make for better presentation when imported into Trilium. It's anticipdated that in time this will supercede Zadam Wiki.
To import this documentation into your own instance of Trilium, [follow these instructions](Wiki/import-docs.md)

## Importing
## Table of Contents

To import these docs into your own Trilium instance:

1. Download archive from main branch of this repo:
https://github.com/TriliumNext/Docs/archive/refs/heads/main.zip
2. In Trilim create a new note to act as branch for the docs
3. Right-click >> Import into note >> select downloaded `Docs-main.zip`
a. optionally uncheck "Shrink images"

### Optional cleanup
- delete `!!!meta.json`
- Move `images` node down to the bottom (instead of dragging, it's easier to move out to parent node than back into Wiki. It will go to end of list automatically).

For new releases delete the old docs note tree and start fresh, or you'll get duplicates.

[0]: https://github.com/zadam/trilium/wiki
- [Quick Start](Wiki/quick-start.md)
- [Screenshot Tour](Wiki/screenshot-tour.md)
- Basic Concepts
- [Documents](Wiki/document.md)
- [Note](Wiki/note.md)
- [Text Notes](Wiki/text-notes.md)
- [Links](Wiki/links.md)
- [Images](Wiki/images.md)
- [Attachments](Wiki/attachments.md)
- [Cloning notes](Wiki/cloning-notes.md)
- [Protected Notes](Wiki/protected-notes.md)
- [Archived Notes](Wiki/archived-notes.md)
- [Note Revisions](Wiki/note-revisions.md)
- Navigation
- [Tree Concepts](Wiki/tree-concepts.md)
- [Tree Manipulation](Wiki/tree-manipulation.md)
- [Note Navigation](Wiki/note-navigation.md)
- [Search](Wiki/search.md)
- [Bookmarks](Wiki/bookmarks.md)
- [Note Hoisting](Wiki/note-hoisting.md)
- [Workspace](Wiki/workspace.md)
- [Keyboard Shortcuts](Wiki/keyboard-shortcuts.md)
- [Themes](Wiki/themes.md)
- [Theme Gallery](Wiki)
- Import & Export
- [Markdown](Wiki/markdown.md)
- [Evernote](Wiki/evernote-import.md)
- [OneNote](Wiki/onenote.md)
- Installation & Setup
- [Desktop Installation](Wiki/desktop-installation.md)
- [Server Installation](Wiki/server-installation.md)
- [Packaged Server Installation](Wiki/packaged-server-installation.md)
- [Docker Server Installation](Wiki/docker-server-installation.md)
- [NixOS Server Installation](Wiki/nixos-server-installation.md)
- [Manual Server Installation](Wiki/manual-server-installation.md)
- [Kubernettes Server Installation](Wiki/kubernetes-server-installation.md)
- [Apache Proxy Setup](Wiki/apache-proxy-setup.md)
- [Nginx Proxy Setup](Wiki/nginx-proxy-setup.md)
- [TLS Configuration](Wiki/tls-configuration.md)
- [Synchronization](Wiki/synchronization.md)
- [Mobile Frontend](Wiki/mobile-frontend.md)
- [Web Clipper](Wiki/web-clipper.md)
- [Upgrading Trilium](Wiki/upgrading-trilium.md)
- [Backup](Wiki/backup.md)
- [Data Directory](Wiki/data-directory.md)
- Advanced Usage
- [Attributes](Wiki/attributes.md)
- [Attribute Inheritance](Wiki/attribute-inheritance.md)
- [Promoted Attributes](Wiki/promoted-attributes.md)
- [Template](Wiki/template.md)
- [Relation Map](Wiki/relation-map.md)
- [Note Map](Wiki/note-map.md)
- [Book Note](Wiki/book-note.md)
- [Sharing](Wiki/sharing.md)
- [Code Notes](Wiki/code-notes.md)
- [Scripts](Wiki/scripts.md)
- [Script API](Wiki/script-api.md)
- [Custom Request handler](Wiki/custom-request-handler.md)
- [Events](Wiki/events.md)
- [Custom Widgets](Wiki/custom-widget.md)
- [Advanced Showcase](Wiki/advanced-showcases.md)
- [Day Notes](Wiki/day-notes.md)
- [Weight Tracker](Wiki/weight-tracker.md)
- [Task Manager](Wiki/task-manager.md)
- [ETAPI (Rest API)](Wiki/etapi.md)
- [Default Note Title](Wiki/default-note-title.md)
- Developer Guides
- [Frontend Basics](Wiki/frontend-basics.md)
- [Widget Basics](Wiki/widget-basics.md)
- [FAQ](Wiki/faq.md)
- [Troubleshooting](Wiki/troubleshooting.md)
9 changes: 0 additions & 9 deletions Wiki/Advanced showcases.md

This file was deleted.

9 changes: 9 additions & 0 deletions Wiki/advanced-showcases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Advanced showcases
Trilium provides some advanced functionality in the form of [Scripts](scripts.md) and [promoted attributes](promoted-attributes.md). To explain and visualize these features we've prepared few showcases which are also available in the [demo document](document.md):

* [Relation map](relation-map.md)
* [Day notes](day-notes.md)
* [Weight Tracker](weight-tracker.md)
* [Task Manager](task-manager.md)

An important thing to keep in mind is that above showcases and demoed functionality are not built-in into Trilium - these are just examples of Trilium's extensibility.
6 changes: 3 additions & 3 deletions Wiki/Anonymized database.md → Wiki/anonymized-database.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Anonymized database
### Anonymized database

In some cases, it's necessary to see the database structure to be able to debug the problem. Of course, we can't ask you to send us [Document](Document.md) file with your notes.
In some cases, it's necessary to see the database structure to be able to debug the problem. Of course, we can't ask you to send us [Document](document.md) file with your notes.

For this, Trilium supports anonymization of the database - you can trigger this in Options -> Advanced tab.

![](images/anonymization.png)

This will create a copy of your document and remove all sensitive data (currently note titles, contents, revisions, history and some of the options, and non-system attributes) while leaving all structure and metadata (e.g. date of last change). After this is done, the database is [VACUUMed](https://sqlite.org/lang_vacuum.html) to make sure there's no stale sensitive data in the document file. The resulting file is stored in `anonymized` directory (placed in the [data directory](Data-directory.md)). You can safely attach it with your bug report or send it to [zadam.apps@gmail.com](#root/N3Zt66yETj9g) %%{WARNING}%%
This will create a copy of your document and remove all sensitive data (currently note titles, contents, revisions, history and some of the options, and non-system attributes) while leaving all structure and metadata (e.g. date of last change). After this is done, the database is [VACUUMed](https://sqlite.org/lang_vacuum.html) to make sure there's no stale sensitive data in the document file. The resulting file is stored in `anonymized` directory (placed in the [data directory](data-directory.md)). You can safely attach it with your bug report or send it to [zadam.apps@gmail.com](#root/N3Zt66yETj9g) %%{WARNING}%%

#### Command line anonymization

Expand All @@ -17,4 +17,4 @@ If the database is corrupted in a way which prevents Trilium to start up, you wo
node src/anonymize.js
```

This needs to be executed in the directory with Trilium source files, for desktop builds this in `resources/app` directory.
This needs to be executed in the directory with Trilium source files, for desktop builds this in `resources/app` directory.
2 changes: 1 addition & 1 deletion Wiki/Apache proxy setup.md → Wiki/apache-proxy-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,4 @@ I've assumed you have created a DNS A record for `trilium.yourdomain.com` that y
sudo systemctl daemon-reload
sudo systemctl enable trilium.service
sudo systemctl start trilium.service
```
```
6 changes: 3 additions & 3 deletions Wiki/Archived-notes.md → Wiki/archived-notes.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Archived-notes
Archived notes are notes which have `archived` [attribute](Attributes.md) - either directly or [inherited](Attribute%20inheritance.md).
Archived notes are notes which have `archived` [attribute](attributes.md) - either directly or [inherited](attribute-inheritance.md).

Such notes are then by default not shown in the autocomplete and in the full text [search](Search.md).
Such notes are then by default not shown in the autocomplete and in the full text [search](search.md).

This can be useful for notes which are no longer very useful but still valuable enough to keep around without them getting too much in the way.

You can control whether archived notes are displayed in the note tree with a setting:

![](images/hide-archived.png)
![](images/hide-archived.png)
2 changes: 1 addition & 1 deletion Wiki/Attachments.md → Wiki/attachments.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ The note is the exclusive owner of its attachments - they can't be linked from o

Attachments is a feature available in Trilium since v0.61. Attachment is now a preferred way to include images into notes. Previously, an image had to be an independent note which could be then displayed in multiple notes, but this approach proved to be complicated. Image as notes still remains as an option, and is a more suitable choice in some cases (e.g. when the particular image is sort of standalone). It is possible to convert an image to an attachment and vice versa.

Image attachments are expected to be linked in the owning text note. If it's not linked, it will get deleted in a configurable timeout.
Image attachments are expected to be linked in the owning text note. If it's not linked, it will get deleted in a configurable timeout.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Standard inheritance
--------------------

Every [attribute](Attributes.md) has flag called `isInheritable`. If this is true, then this attribute (key-value) is also applied to all its children notes, children's children notes etc.
Every [attribute](attributes.md) has flag called `isInheritable`. If this is true, then this attribute (key-value) is also applied to all its children notes, children's children notes etc.

Example how this might be useful is `archived` label which hides its note from Jump to / Add link dialogs. Often times you want to archive some specific subtree, you can do this by making the `archived` label inheritable.

Expand All @@ -18,4 +18,4 @@ Which kind of attribute inheritance (or if any at all) should be used depends on
Template inheritance
--------------------

[Attribute template](Template.md) could be also seen as a form of inheritance.
[Attribute template](template.md) could be also seen as a form of inheritance.
36 changes: 18 additions & 18 deletions Wiki/Attributes.md → Wiki/attributes.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ Labels can be used for several things:

* as labels with optional value - e.g. when cataloguing books, you might add labels like #year=1999, #genre="sci-fi", #author="Neal Stephenson"
* attributes can be used to configure some advanced features / settings - see below
* plugins / scripts can use these to mark notes with some special values / metadata (e.g. [Weight Tracker](Weight-tracker.md) will have "weight" attribute on [day notes](Day-notes.md) based on whose it can create chart).
* plugins / scripts can use these to mark notes with some special values / metadata (e.g. [Weight Tracker](weight-tracker.md) will have "weight" attribute on [day notes](day-notes.md) based on whose it can create chart).

Labels can be used for [searching](Search.md).
Labels can be used for [searching](search.md).

### Standard labels

The following labels are used for advanced configuration:

* `disableVersioning` - disables auto-versioning. Useful for e.g. large, but unimportant notes - e.g. large JS libraries used for scripting
* `calendarRoot` - marks note which should be used as root for [day notes](Day-notes.md). Only one should be marked as such.
* `calendarRoot` - marks note which should be used as root for [day notes](day-notes.md). Only one should be marked as such.
* `archived` - notes with this label won't be visible by default in search results (also in Jump To, Add Link dialogs etc).
* `excludeFromExport` - notes (with their sub-tree) won't be included in any note export.
* `run` - defines on which events script should run. Possible values are:
Expand All @@ -37,30 +37,30 @@ The following labels are used for advanced configuration:
* `runAtHour` - On which hour should this run. Should be used together with `#run=hourly`. Can be defined multiple times for more runs during the day.
* `runOnInstance` - define which trilium instance this should run on. Defaults to all instances.
* `disableInclusion` - scripts with this label won't be included into parent script execution.
* `sorted` - keeps child notes sorted (by title, alphabetically. See [Sorting](Sorting.md)).
* `sorted` - keeps child notes sorted (by title, alphabetically. See [Sorting](sorting.md)).
* `top` - keeps this note at the top of the list within its parent (applies only on parents with `sorted` attribute).
* `hidePromotedAttributes` - hide promoted attributes on this note.
* `readOnly` - editor is in read only mode. Works only for text and code notes. See some use cases [here](https://github.com/TriliumNext/Notes/issues/371).
* `autoReadOnlyDisabled` - text/code notes can be set automatically into read mode when they are too large. You can disable this behavior on per-note basis by adding this label to the note
* `appCss` - marks CSS notes which are loaded into the Trilium application and can thus be used to modify Trilium's looks.
* `appTheme` - marks CSS notes which are full Trilium themes and are thus available in Trilium options.
* `cssClass` - the value of this label is then added as CSS class to the node representing the given note in the tree. This can be useful for advanced [themes](Themes.md). Can be used in `template` notes.
* `iconClass` - the value of this label is added as a CSS class to the icon on the tree, which can help visually distinguish the notes in the tree. An example might be `bx bx-home` - icons are taken from [boxicons](https://boxicons.com/). Can be used in [template](Template.md) notes.
* `cssClass` - the value of this label is then added as CSS class to the node representing the given note in the tree. This can be useful for advanced [themes](themes.md). Can be used in `template` notes.
* `iconClass` - the value of this label is added as a CSS class to the icon on the tree, which can help visually distinguish the notes in the tree. An example might be `bx bx-home` - icons are taken from [boxicons](https://boxicons.com/). Can be used in [template](template.md) notes.
* `pageSize`\- number of items per page in note listing.
* `customRequestHandler` and `customResourceProvider` - see [Custom request handler](Custom%20request%20handler.md)
* `widget` - marks this note as a custom widget, which will be added to the Trilium component tree. See [Custom widget](Custom-widget.md).
* `workspace`, `workspaceIconClass`, `workspaceTabBackgroundColor`, `workspaceCalendarRoot` - see [Workspace](Workspace.md)
* `searchHome` - new search notes will be created as children of this note (otherwise they are created in [Day notes](Day-notes.md))
* `customRequestHandler` and `customResourceProvider` - see [Custom request handler](custom-request-handler.md)
* `widget` - marks this note as a custom widget, which will be added to the Trilium component tree. See [Custom widget](custom-widget.md).
* `workspace`, `workspaceIconClass`, `workspaceTabBackgroundColor`, `workspaceCalendarRoot` - see [Workspace](workspace.md)
* `searchHome` - new search notes will be created as children of this note (otherwise they are created in [Day notes](day-notes.md))
* `hoistedSearchHome` - new search notes will be created as children of this note when hoisted to some ancestor of this note
* `inbox` - default inbox location for new notes - when you create a note using "new note" button in the sidebar, notes will be created as child notes in the note marked as with `#inbox` label.
* `hoistedInbox` - default inbox location for new notes when hoisted to some ancestor of this note
* `sqlConsoleHome` - default location of SQL console notes
* `bookmarked` and `bookmarkFolder` - see [Bookmarks](Bookmarks.md)
* `shareXXX` labels - see [Sharing](Sharing.md)
* `bookmarked` and `bookmarkFolder` - see [Bookmarks](bookmarks.md)
* `shareXXX` labels - see [Sharing](sharing.md)
* `keyboardShortcut` - can be defined as e.g. "Ctrl+I". Pressing this keyboard combination will then bring you to the note on which it is defined. Note that Trilium must be reloaded/restarted (Ctrl+R) for changes to be in effect.
* `displayRelations` and `hideRelations` - comma delimited names of relations which should be displayed/hidden. All other relations will be hidden/visible.
* `hideRelations` - comma delimited names of relations which should be hidden.
* `titleTemplate` - see [Default note title](Default-note-title.md).
* `titleTemplate` - see [Default note title](default-note-title.md).
* `template` - this note will appear in the selection of available templates when creating new notes.
* `toc` - `#toc` or `#toc=show` will force the table of contents to be shown, `#toc=hide` will force hiding it.
* `color` - defines the color of the note in links, tree etc. Use any valid CSS value like `red` or `#f0a349`
Expand All @@ -80,7 +80,7 @@ Relations are used also for some advanced scripting - like attaching scripts to

### Standard relations

[Events](Events.md):
[Events](events.md):

* `runOnNoteCreation` - executes when note is created on backend. Use this relation if you want to run the script for all notes created under a specific subtree. In that case, create it on the subtree root note and make it inheritable. A new note created within the subtree (any depth) will trigger the script.
* `runOnChildNoteCreation` - executes when new note is created under the note where this relation is defined
Expand All @@ -93,10 +93,10 @@ Relations are used also for some advanced scripting - like attaching scripts to

Other relations:

* `template` - attached note's attributes will be inherited even without parent-child relationship. See [template](Template.md) for details.
* `template` - attached note's attributes will be inherited even without parent-child relationship. See [template](template.md) for details.
* `renderNote` - notes of type "render HTML note" will be rendered using a code note (HTML or script) and it is necessary to point using this relation to which note should be rendered
* `widget` - target of this relation will be executed and rendered as a widget in the sidebar
* `shareXXX` relations described in [Sharing](Sharing.md)
* `shareXXX` relations described in [Sharing](sharing.md)

Multiplicity
------------
Expand All @@ -106,9 +106,9 @@ Attributes allow multiplicity - there can be multiple attributes with the same n
Attribute definitions / promoted attributes
-------------------------------------------

Special kind of labels are used to create "label/attribute" definitions. See [Promoted attributes](Promoted%20attributes.md) for details.
Special kind of labels are used to create "label/attribute" definitions. See [Promoted attributes](promoted-attributes.md) for details.

Attribute inheritance
---------------------

See [Attribute inheritance](Attribute%20inheritance.md).
See [Attribute inheritance](attribute-inheritance.md).
Loading