Merge branch 'develop' into tray
@ -37,6 +37,7 @@ Feel free to join our official conversations. We would love to hear what feature
|
||||
* Fast and easy [navigation between notes](https://triliumnext.github.io/Docs/Wiki/note-navigation), full text search and [note hoisting](https://triliumnext.github.io/Docs/Wiki/note-hoisting)
|
||||
* Seamless [note versioning](https://triliumnext.github.io/Docs/Wiki/note-revisions)
|
||||
* Note [attributes](https://triliumnext.github.io/Docs/Wiki/attributes) can be used for note organization, querying and advanced [scripting](https://triliumnext.github.io/Docs/Wiki/scripts)
|
||||
* Direct OpenID and TOTP integration for more secure login
|
||||
* [Synchronization](https://triliumnext.github.io/Docs/Wiki/synchronization) with self-hosted sync server
|
||||
* there's a [3rd party service for hosting synchronisation server](https://trilium.cc/paid-hosting)
|
||||
* [Sharing](https://triliumnext.github.io/Docs/Wiki/sharing) (publishing) notes to public internet
|
||||
|
@ -44,3 +44,16 @@ cookieMaxAge=1814400
|
||||
#syncServerHost=
|
||||
#syncServerTimeout=
|
||||
#syncServerProxy=
|
||||
|
||||
[MultiFactorAuthentication]
|
||||
# Set the base URL for OAuth/OpenID authentication
|
||||
# This is the URL of the service that will be used to verify the user's identity
|
||||
oauthBaseUrl=
|
||||
|
||||
# Set the client ID for OAuth/OpenID authentication
|
||||
# This is the ID of the client that will be used to verify the user's identity
|
||||
oauthClientId=
|
||||
|
||||
# Set the client secret for OAuth/OpenID authentication
|
||||
# This is the secret of the client that will be used to verify the user's identity
|
||||
oauthClientSecret=
|
||||
|
14
db/migrations/0229__add_oauth_user_data_table.sql
Normal file
@ -0,0 +1,14 @@
|
||||
-- Add the oauth user data table
|
||||
CREATE TABLE IF NOT EXISTS "user_data"
|
||||
(
|
||||
tmpID INT,
|
||||
username TEXT,
|
||||
email TEXT,
|
||||
userIDEncryptedDataKey TEXT,
|
||||
userIDVerificationHash TEXT,
|
||||
salt TEXT,
|
||||
derivedKey TEXT,
|
||||
isSetup TEXT DEFAULT "false",
|
||||
UNIQUE (tmpID),
|
||||
PRIMARY KEY (tmpID)
|
||||
);
|
@ -126,6 +126,19 @@ CREATE TABLE IF NOT EXISTS "attachments"
|
||||
utcDateScheduledForErasureSince TEXT DEFAULT NULL,
|
||||
isDeleted INT not null,
|
||||
deleteId TEXT DEFAULT NULL);
|
||||
CREATE TABLE IF NOT EXISTS "user_data"
|
||||
(
|
||||
tmpID INT,
|
||||
username TEXT,
|
||||
email TEXT,
|
||||
userIDEncryptedDataKey TEXT,
|
||||
userIDVerificationHash TEXT,
|
||||
salt TEXT,
|
||||
derivedKey TEXT,
|
||||
isSetup TEXT DEFAULT "false",
|
||||
UNIQUE (tmpID),
|
||||
PRIMARY KEY (tmpID)
|
||||
);
|
||||
CREATE INDEX IDX_attachments_ownerId_role
|
||||
on attachments (ownerId, role);
|
||||
|
||||
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
@ -1,7 +1,7 @@
|
||||
# Advanced Showcases
|
||||
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)
|
||||
* [Relation Map](../Note%20Types/Relation%20Map.md)
|
||||
* [Day Notes](Advanced%20Showcases/Day%20Notes.md)
|
||||
* [Weight Tracker](Advanced%20Showcases/Weight%20Tracker.md)
|
||||
* [Task Manager](Advanced%20Showcases/Task%20Manager.md)
|
||||
|
@ -7,7 +7,7 @@ Select an existing day note, and the menubar contains a calendar widget. Select
|
||||
|
||||

|
||||
|
||||
This pattern works well also because of [Cloning Notes](../../Basic%20Concepts/Note/Cloning%20Notes.md) functionality - note can appear in multiple places in the note tree, so besides appearing under day note, it can also be categorized into other notes.
|
||||
This pattern works well also because of [Cloning Notes](../../Basic%20Concepts%20and%20Features/Notes/Cloning%20Notes.md) functionality - note can appear in multiple places in the note tree, so besides appearing under day note, it can also be categorized into other notes.
|
||||
|
||||
## Demo
|
||||
|
||||
|
@ -7,7 +7,7 @@ Task Manager is a [promoted attributes](../Attributes/Promoted%20Attributes.md)
|
||||
|
||||
Task Manager manages outstanding (TODO) tasks and finished tasks (non-empty doneDate attribute). Outstanding tasks are further categorized by location and arbitrary tags - whenever you change tag attribute in the task note, this task is then automatically moved to appropriate location.
|
||||
|
||||
Task Manager also integrates with [day notes](Day%20Notes.md) - notes are [cloned](../../Basic%20Concepts/Note/Cloning%20Notes.md) into day note to both todoDate note and doneDate note (with [prefix](../../Basic%20Concepts/Navigation/Tree%20Concepts.md) of either "TODO" or "DONE").
|
||||
Task Manager also integrates with [day notes](Day%20Notes.md) - notes are [cloned](../../Basic%20Concepts%20and%20Features/Notes/Cloning%20Notes.md) into day note to both todoDate note and doneDate note (with [prefix](../../Basic%20Concepts%20and%20Features/Navigation/Tree%20Concepts.md) of either "TODO" or "DONE").
|
||||
|
||||
## Implementation
|
||||
|
||||
|
@ -36,15 +36,15 @@ Labels are also searchable, enhancing note retrieval.
|
||||
* `**appCss**`: Marks CSS notes used to modify Trilium’s appearance
|
||||
* `**appTheme**`: Marks full CSS themes available in Trilium's options
|
||||
* `**cssClass**`: Adds a CSS class to the note's representation in the tree
|
||||
* `**iconClass**`: Adds a CSS class to the note's icon, useful for distinguishing notes visually. See [note icons](../Basic%20Concepts/Note/Note%20Icons.md)
|
||||
* `**iconClass**`: Adds a CSS class to the note's icon, useful for distinguishing notes visually. See [note icons](../Basic%20Concepts%20and%20Features/Notes/Note%20Icons.md)
|
||||
* `**pageSize**`: Specifies the number of items per page in note listings
|
||||
* `**customRequestHandler**` **and** `**customResourceProvider**`: Refer to [Custom request handler](Custom%20Request%20Handler.md)
|
||||
* `**widget**`: Marks a note as a custom widget, added to Trilium's component tree
|
||||
* `**workspace**` **and related attributes**: See [Workspace](../Basic%20Concepts/Navigation/Workspace.md) for more details
|
||||
* `**workspace**` **and related attributes**: See [Workspace](../Basic%20Concepts%20and%20Features/Navigation/Workspace.md) for more details
|
||||
* `**searchHome**`: Specifies the parent for new search notes
|
||||
* `**inbox**`: Designates a default location for new notes created via the sidebar
|
||||
* `**sqlConsoleHome**`: Default location for SQL console notes
|
||||
* `**bookmarked**` **and** `**bookmarkFolder**`: See [Bookmarks](../Basic%20Concepts/Navigation/Bookmarks.md)
|
||||
* `**bookmarked**` **and** `**bookmarkFolder**`: See [Bookmarks](../Basic%20Concepts%20and%20Features/Navigation/Bookmarks.md)
|
||||
* `**shareXXX**`: See [Sharing](Sharing.md)
|
||||
* `**keyboardShortcut**`: Assigns a keyboard shortcut to open the note
|
||||
* `**displayRelations**` **and** `**hideRelations**`: Manages the display of note relations
|
||||
|
@ -23,7 +23,7 @@ To create an instance note through the UI:
|
||||
|
||||

|
||||
|
||||
For the template to appear in the menu, the template note must have the `#template` label. Do not confuse this with the `~template` relation, which links the instance note to the template note. If you use [workspaces](../../Basic%20Concepts/Navigation/Workspace.md), you can also mark templates with `#workspaceTemplate` to display them only in the workspace.
|
||||
For the template to appear in the menu, the template note must have the `#template` label. Do not confuse this with the `~template` relation, which links the instance note to the template note. If you use [workspaces](../../Basic%20Concepts%20and%20Features/Navigation/Workspace.md), you can also mark templates with `#workspaceTemplate` to display them only in the workspace.
|
||||
|
||||
Templates can also be added or changed after note creation by creating a `~template` relation pointing to the desired template note.
|
||||
|
||||
@ -31,6 +31,6 @@ Templates can also be added or changed after note creation by creating a `~templ
|
||||
|
||||
From a visual perspective, templates can define `#iconClass` and `#cssClass` attributes, allowing all instance notes (e.g., books) to display a specific icon and CSS style.
|
||||
|
||||
Explore the concept further in the [demo notes](../Database.md), including examples like the [Relation Map](../Relation%20Map.md), [Task Manager](../Advanced%20Showcases/Task%20Manager.md), and [Day Notes](../Advanced%20Showcases/Day%20Notes.md).
|
||||
Explore the concept further in the [demo notes](../Database.md), including examples like the [Relation Map](../../Note%20Types/Relation%20Map.md), [Task Manager](../Advanced%20Showcases/Task%20Manager.md), and [Day Notes](../Advanced%20Showcases/Day%20Notes.md).
|
||||
|
||||
Additionally, see [default note title](../Default%20Note%20Title.md) for creating title templates. Note templates and title templates can be combined by creating a `#titleTemplate` for a template note.
|
@ -5,11 +5,11 @@ Your Trilium data is stored in a [SQLite](https://www.sqlite.org) database which
|
||||
|
||||
When you run Trilium for the first time, it will generate a new database containing demo notes. These notes showcase its many features, such as:
|
||||
|
||||
* [Relation Map](Relation%20Map.md)
|
||||
* [Relation Map](../Note%20Types/Relation%20Map.md)
|
||||
* [Day Notes](Advanced%20Showcases/Day%20Notes.md)
|
||||
* [Weight Tracker](Advanced%20Showcases/Weight%20Tracker.md)
|
||||
* [Task Manager](Advanced%20Showcases/Task%20Manager.md)
|
||||
* [Custom CSS Themes](../Basic%20Concepts/Themes.md)
|
||||
* [Custom CSS Themes](../Basic%20Concepts%20and%20Features/Themes.md)
|
||||
|
||||
### Restoring Demo Notes
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SQL Console
|
||||
The SQL Console is Trilium's built-in database editor.
|
||||
|
||||
It can be accessed by going to the [global menu](../../../Basic%20Concepts/UI%20Elements) → Advanced → Open SQL Console.
|
||||
It can be accessed by going to the [global menu](../../../Basic%20Concepts%20and%20Features/UI%20Elements) → Advanced → Open SQL Console.
|
||||
|
||||

|
||||
|
||||
|
@ -3,7 +3,11 @@ ETAPI is Trilium's public/external REST API. It is available since Trilium v0.50
|
||||
|
||||
The documentation is in OpenAPI format, available [here](https://github.com/TriliumNext/Notes/blob/master/src/etapi/etapi.openapi.yaml).
|
||||
|
||||
[trilium-py](https://github.com/Nriver/trilium-py) is a third-party Python implementation for ETAPI client, you can use Python to communicate with Trilium.
|
||||
## API clients
|
||||
|
||||
As an alternative to calling the API directly, there are client libraries to simplify this
|
||||
|
||||
* [trilium-py](https://github.com/Nriver/trilium-py), you can use Python to communicate with Trilium.
|
||||
|
||||
## Authentication
|
||||
|
||||
@ -26,3 +30,25 @@ Authorization: Basic BATOKEN
|
||||
* And `password` is the generated ETAPI token described above.
|
||||
|
||||
Basic Auth is meant to be used with tools which support only basic auth.
|
||||
|
||||
## Interaction using Bash scripts
|
||||
|
||||
It is possible to write simple Bash scripts to interact with Trilium. As an example, here's how to obtain the HTML content of a note:
|
||||
|
||||
```sh
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Configuration
|
||||
TOKEN=z1vA4fkGxjOR_ZXLrZeqHEFOv65yV3882iFCRtNIK9k9iWrHliITNSLQ=
|
||||
SERVER=http://localhost:8080
|
||||
|
||||
# Download a note by ID
|
||||
NOTE_ID="i6ra4ZshJhgN"
|
||||
curl "$SERVER/etapi/notes/$NOTE_ID/content" -H "Authorization: $TOKEN"
|
||||
```
|
||||
|
||||
Make sure to replace the values of:
|
||||
|
||||
* `TOKEN` with your ETAPI token.
|
||||
* `SERVER` with the correct protocol, host name and port to your Trilium instance.
|
||||
* `NOTE_ID` with an existing note ID to download.
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
@ -0,0 +1,32 @@
|
||||
# Note Map (Link map, Tree map)
|
||||
Note map is a visualisation of connections between notes.
|
||||
|
||||
This provides an insight into a structure ("web") of notes.
|
||||
|
||||
There are two types of note map:
|
||||
|
||||
* Link Map, which shows relations between notes.
|
||||
* Note Map, which shows the hierarchical tree structure.
|
||||
|
||||
## Link Map
|
||||
|
||||
Shows [relations](Attributes.md) between notes:
|
||||
|
||||

|
||||
|
||||
## Tree Map
|
||||
|
||||
Shows hierarchical map of notes:
|
||||
|
||||

|
||||
|
||||
## Dedicated note type
|
||||
|
||||
Apart from the note map feature which can be accessed from any note, it is also possible to create a dedicated note which will display the relations in full screen. See [Note Map](../Note%20Types/Note%20Map.md) for more information.
|
||||
|
||||
## See also
|
||||
|
||||
[Relation map](../Note%20Types/Relation%20Map.md) is a similar concept, with some differences:
|
||||
|
||||
* note map is automatically generated while relation map must be created manually
|
||||
* relation map is a type of note while a link map is just virtual visualization
|
@ -1,25 +0,0 @@
|
||||
# Note Map
|
||||
Note map is a visualisation of connections between notes.
|
||||
|
||||
This provides an insight into a structure ("web") of notes.
|
||||
|
||||
There are two types of note map:
|
||||
|
||||
## Link Map
|
||||
|
||||
Shows [relations](Attributes.md) between notes:
|
||||
|
||||

|
||||
|
||||
## Tree Map
|
||||
|
||||
Shows hierarchical map of notes:
|
||||
|
||||

|
||||
|
||||
## See also
|
||||
|
||||
[Relation map](Relation%20Map.md) is a similar concept, with some differences:
|
||||
|
||||
* note map is automatically generated while relation map must be created manually
|
||||
* relation map is a type of note while a link map is just virtual visualization
|
55
docs/User Guide/User Guide/Advanced Usage/Note source.md
Normal file
@ -0,0 +1,55 @@
|
||||
# Note source
|
||||
## Understanding the source code of the different notes
|
||||
|
||||
Internally, the structure of the content of each note is different based on the [Note Types](../Note%20Types).
|
||||
|
||||
For example:
|
||||
|
||||
* [Text Notes](#root/_hidden/_options/_optionsTextNotes) are represented internally as HTML, using the [CKEditor](Technologies%20used/CKEditor.md) representation. Note that due to the custom plugins, some HTML elements are specific to Trilium only, for example the admonitions.
|
||||
* [Code Notes](#root/_hidden/_options/_optionsCodeNotes) are plain text and are represented internally as-is.
|
||||
* [Geo map](../Note%20Types/Geo%20map.md) notes contain only minimal information (viewport, zoom) as a JSON.
|
||||
* [Canvas](../Note%20Types/Canvas.md) notes are represented as JSON, with Trilium's own information alongside with [Excalidraw](Technologies%20used/Excalidraw.md)'s internal JSON representation format.
|
||||
* [Mind Map](../Note%20Types/Mind%20Map.md) notes are represented as JSON, with the internal format of [MindElixir](Technologies%20used/MindElixir.md).
|
||||
|
||||
Note that some information is also stored as [Attachments](../Attachments). For example [Canvas](../Note%20Types/Canvas.md) notes use the attachments feature to store the custom libraries, and alongside with [Mind Map](../Note%20Types/Mind%20Map.md) and other similar note types it stores an SVG representation of the content for use in other features such as including in other notes, shared notes, etc.
|
||||
|
||||
Here's part of the HTML representation of this note, as it's stored in the database (but prettified).
|
||||
|
||||
```html
|
||||
<h2>
|
||||
Understanding the source code of the different notes
|
||||
</h2>
|
||||
<p>
|
||||
Internally, the structure of the content of each note is different based on the
|
||||
<a class="reference-link" href="../Note%20Types">
|
||||
Note Types
|
||||
</a>
|
||||
.
|
||||
</p>
|
||||
```
|
||||
|
||||
## Viewing the source code
|
||||
|
||||
It is possible to view the source code of a note by pressing the contextual menu in [Note buttons](../Basic%20Concepts%20and%20Features/UI%20Elements/Note%20buttons.md) and selecting _Note source_.
|
||||
|
||||

|
||||
|
||||
The source code will be displayed in a new tab.
|
||||
|
||||
For some note types, such as text notes, the source code is also formatted in order to be more easily readable.
|
||||
|
||||
## Modifying the source code
|
||||
|
||||
It is possible to modify the source code of a note directly, however not via the _Note source_ functionality.
|
||||
|
||||
To do so:
|
||||
|
||||
1. Change the note type from the real note type (e.g. Canvas, Geo Type) to Code (plain text) or the corresponding format such as JSON or HTML.
|
||||
2. Confirm the warning about changing the note type.
|
||||
3. The source code will appear, make the necessary modifications.
|
||||
4. Change the note type back to the real note type.
|
||||
|
||||
> [!WARNING]
|
||||
> Depending on the changes made, there is a risk that the note will not render properly. It's best to save a revision before making any big changes.
|
||||
>
|
||||
> If the note does not render properly, modify the source code again or revert to a prior revision. Since the error handling for unexpected changes might not always be perfect, it be required to refresh the application.
|
BIN
docs/User Guide/User Guide/Advanced Usage/Note source_image.png
Normal file
After Width: | Height: | Size: 40 KiB |
@ -1,49 +0,0 @@
|
||||
# Relation Map
|
||||
Relation map is a type of [note](../Basic%20Concepts/Navigation/Tree%20Concepts.md) which visualizes notes and their [relations](Attributes.md). See an example:
|
||||
|
||||
## Development process demo
|
||||
|
||||
This is a basic example how you can create simple diagram using relation maps:
|
||||
|
||||

|
||||
|
||||
And this is how you can create it:
|
||||
|
||||

|
||||
|
||||
We start completely from scratch by first creating new note called "Development process" and changing its type to "Relation map". After that we create new notes one by one and place them by clicking into the map. We also drag [relations](Attributes.md)between notes and name them. That's all!
|
||||
|
||||
Items on the map - "Specification", "Development", "Testing" and "Demo" are actually notes which have been created under "Development process" note - you can click on them and write some content. Connections between notes are called "[relations](Attributes.md)".
|
||||
|
||||
## Family demo
|
||||
|
||||
This is more complicated demo using some advanced concepts. Resulting diagram is here:
|
||||
|
||||

|
||||
|
||||
This is how you get to it:
|
||||
|
||||

|
||||
|
||||
There are several steps here:
|
||||
|
||||
* we start with empty relation map and two existing notes representing Prince Philip and Queen Elizabeth II. These two notes already have "isPartnerOf" [relations](Attributes.md)defined.
|
||||
* There are actually two "inverse" relations (one from Philip to Elizabeth and one from Elizabeth to Philip)
|
||||
* we drag both notes to relation map and place to suitable position. Notice how the existing "isPartnerOf" relations are displayed.
|
||||
* now we create new note - we name it "Prince Charles" and place it on the relation map by clicking on the desired position. The note is by default created under the relation map note (visible in the note tree on the left).
|
||||
* we create two new relations "isChildOf" targeting both Philip and Elizabeth
|
||||
* now there's something unexpected - we can also see the relation to display another "hasChild" relation. This is because there's a [relation definition](Attributes/Promoted%20Attributes.md) which puts "isChildOf" as an "[inverse](Attributes/Promoted%20Attributes.md)" relation of "hasChildOf" (and vice versa) and thus it is created automatically.
|
||||
* we create another note for Princess Diana and create "isPartnerOf" relation from Charles. Again notice how the relation has arrows both ways - this is because "isPartnerOf" definition specifies its inverse relation as again "isPartnerOf" so the opposite relation is created automatically.
|
||||
* as the last step we pan & zoom the map to fit better to window dimensions.
|
||||
|
||||
Relation definitions mentioned above come from "Person template" note which is assigned to any child of "My Family Tree" relation note. You can play with the whole thing in the [demo notes](Database.md).
|
||||
|
||||
## Details
|
||||
|
||||
You can specify which relations should be displayed with comma delimited names of relations in `displayRelations` label.
|
||||
|
||||
Alternatively, you can specify comma delimited list of relation names in `hideRelations` which will display all relations, except for the ones defined in the label.
|
||||
|
||||
## See also
|
||||
|
||||
* [Note map](Note%20Map.md) is a similar concept
|
@ -41,7 +41,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](../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).
|
||||
* **Omitting Default CSS**: For extensive styling changes, use the `#shareOmitDefaultCss` label to avoid conflicts with Trilium's [default stylesheet](../Basic%20Concepts%20and%20Features/Themes.md).
|
||||
|
||||
### Adding JavaScript
|
||||
|
||||
|
@ -0,0 +1,4 @@
|
||||
# Technologies used
|
||||
One core aspect of Trilium that allows it to have support for multiple [Note Types](../Note%20Types) is the fact that it makes use of various off-the-shelf or reusable libraries.
|
||||
|
||||
The sub-pages showcase some of the technologies used, for a better understanding of how Trilium works but also to credit the developers of that particular technology.
|
@ -0,0 +1,34 @@
|
||||
# CKEditor
|
||||
## Editor core
|
||||
|
||||
The CKEditor is the WYSIWYG (standing for What You See Is What You Get) editor behind [Text](../../Note%20Types/Text.md) notes.
|
||||
|
||||
Their website is [ckeditor.com](https://ckeditor.com/).
|
||||
|
||||
CKEditor by itself is a commercial product, but the core is open-source. As described in [its documentation](https://ckeditor.com/docs/ckeditor5/latest/features/index.html), the editor supports quite a large number of features. Do note that not all the features are enabled in Trilium.
|
||||
|
||||
## Premium features
|
||||
|
||||
Some features are marked as premium in the CKEditor feature set. This means that they cannot be used without a license.
|
||||
|
||||
Trilium cannot benefit from any of these premium features as they require a commercial license, however we are in discussions with the CKEditor team to allow us to use a subset of these premium features such as [Slash commands](https://ckeditor.com/docs/ckeditor5/latest/features/slash-commands.html).
|
||||
|
||||
## Plugins
|
||||
|
||||
The CKEditor ecosystem is quite extensible, in the sense that custom plugins can be written to extend the functionality of the editor beyond its original scope.
|
||||
|
||||
Trilium makes use of such features:
|
||||
|
||||
* The math feature is added by a version of [isaul32/ckeditor5-math: Math feature for CKEditor 5.](https://github.com/isaul32/ckeditor5-math) modified by us to fit our needs.
|
||||
* We also make use of modified upstream plugins such as [ckeditor/ckeditor5-mermaid](https://github.com/ckeditor/ckeditor5-mermaid) to allow inline Mermaid code.
|
||||
* [mlewand/ckeditor5-keyboard-marker: Plugin adds support for the keyboard input element (<kbd>) to CKEditor 5.](https://github.com/mlewand/ckeditor5-keyboard-marker)
|
||||
* A modified version of [ThomasAitken/ckeditor5-footnotes: Footnotes plugin for CKEditor5](https://github.com/ThomasAitken/ckeditor5-footnotes) to allow footnotes.
|
||||
|
||||
Apart from that, Trilium also has its own set of specific plugins such as:
|
||||
|
||||
* Cut to note
|
||||
* Include note
|
||||
* Mentions, for linking pages.
|
||||
* Markdown import.
|
||||
* Reference links.
|
||||
* etc.
|
@ -0,0 +1,4 @@
|
||||
# Excalidraw
|
||||
[Excalidraw](https://excalidraw.com/) is the technology behind the [Canvas](../../Note%20Types/Canvas.md) notes. The source code of the library is available on [GitHub](https://github.com/excalidraw/excalidraw).
|
||||
|
||||
We are using an unmodified version of it, so it shares the same [issues](https://github.com/excalidraw/excalidraw/issues) as the original.
|
@ -0,0 +1,10 @@
|
||||
# Leaflet
|
||||
Leaflet is the library behind [Geo map](../../Note%20Types/Geo%20map.md) notes.
|
||||
|
||||
## Plugins
|
||||
|
||||
Leaflet is also highly customizable via external plugins.
|
||||
|
||||
Currently we use:
|
||||
|
||||
* [mpetazzoni/leaflet-gpx: A GPX track plugin for Leaflet.js](https://github.com/mpetazzoni/leaflet-gpx)
|
@ -0,0 +1,12 @@
|
||||
# MindElixir
|
||||
MindElixir is the library we are using for the [Mind Map](../../Note%20Types/Mind%20Map.md) note types.
|
||||
|
||||
The main library is available on [GitHub as mind-elixir-core](https://github.com/SSShooter/mind-elixir-core/issues).
|
||||
|
||||
The library is embedded as-is without additional modifications.
|
||||
|
||||
Issues with its functionality should generally be reported [upstream](https://github.com/ssshooter/mind-elixir-core).
|
||||
|
||||
## Plugins
|
||||
|
||||
MindElixir supports plugins, and one such plugin we are making use of is [SSShooter/node-menu: A node menu plugin of mind-elixir](https://github.com/SSShooter/node-menu), which allows editing the fonts, colors, links of nodes.
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
@ -42,7 +42,7 @@ Only in desktop (electron build):
|
||||
* <kbd>Shift</kbd>+<kbd><span>↑</span></kbd>, <kbd>Shift</kbd>`+`<kbd><span>↓</span></kbd> - multi-select note above/below
|
||||
* <kbd>Ctrl</kbd>+<kbd>A</kbd> - select all notes in the current level
|
||||
* <kbd>Shift</kbd>+<kbd>🖱 Left click</kbd> - multi select note which you clicked on
|
||||
* <kbd>Ctrl</kbd>+<kbd>C</kbd> - copies current note (or current selection) into clipboard (used for [cloning](Note/Cloning%20Notes.md)
|
||||
* <kbd>Ctrl</kbd>+<kbd>C</kbd> - copies current note (or current selection) into clipboard (used for [cloning](Notes/Cloning%20Notes.md)
|
||||
* <kbd>Ctrl</kbd>+<kbd>X</kbd> - cuts current (or current selection) note into clipboard (used for moving notes)
|
||||
* <kbd>Ctrl</kbd>+<kbd>V</kbd> - pastes note(s) as sub-note into current note (which is either move or clone depending on whether it was copied or cut into clipboard)
|
||||
* <kbd>Del</kbd> - delete note / sub-tree
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
@ -3,13 +3,13 @@ This page explains the basic concepts related to the tree structure of notes in
|
||||
|
||||
## Note
|
||||
|
||||
A note is the central entity in TriliumNext. For more details, see [Note](../Note.md).
|
||||
A note is the central entity in TriliumNext. For more details, see [Note](../Notes.md).
|
||||
|
||||
## Branch
|
||||
|
||||
A branch describes the placement of a note within the note tree. Essentially, it is a tuple of `parentNoteId` and `noteId`, indicating that the given note is placed as a child under the specified parent note.
|
||||
|
||||
Each note can have multiple branches, meaning any note can be placed in multiple locations within the tree. This concept is referred to as " [cloning](../Note/Cloning%20Notes.md)."
|
||||
Each note can have multiple branches, meaning any note can be placed in multiple locations within the tree. This concept is referred to as " [cloning](../Notes/Cloning%20Notes.md)."
|
||||
|
||||
## Prefix
|
||||
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
@ -1,4 +1,4 @@
|
||||
# Note
|
||||
# Notes
|
||||
Note is a central entity in Trilium. Main attributes of note are title and content.
|
||||
|
||||
### Note types
|
||||
@ -9,7 +9,7 @@ Note is a central entity in Trilium. Main attributes of note are title and conte
|
||||
* file note - represents uploaded file (e.g. docx MS Word document).
|
||||
* 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
|
||||
* [relation map](../Note%20Types/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
|
||||
* mermaid - create diagrams and flowcharts using [mermaid.js ↗](https://github.com/mermaid-js/mermaid)
|
||||
* [canvas note](#root/fKYGY3OOo5d1) - allows hand drawn notes and basic diagraming on an infinite canvas using [excalidraw ↗](https://github.com/excalidraw/excalidraw)
|
||||
@ -22,7 +22,7 @@ There's one special note called "root note" which is root of the note tree. All
|
||||
|
||||
### Tree structure
|
||||
|
||||
Importantly, note itself doesn't carry information on its placement in note tree. See [cloning](Note/Cloning%20Notes.md) for details.
|
||||
Importantly, note itself doesn't carry information on its placement in note tree. See [cloning](Notes/Cloning%20Notes.md) for details.
|
||||
|
||||
Tree structure of notes can resemble file system - but compared to that notes in Trilium can act as both file and directory - meaning that note can both have its own content and have children. "Leaf note" is a note which doesn't have any children.
|
||||
|
||||
@ -40,4 +40,4 @@ After the 7 days (configurable) the notes will be "erased" - their title, conten
|
||||
|
||||
## See also
|
||||
|
||||
* [Read-only note](Note/Read-Only%20Notes.md)
|
||||
* [Read-only note](Notes/Read-Only%20Notes.md)
|
Before Width: | Height: | Size: 340 B After Width: | Height: | Size: 340 B |
@ -1,5 +1,5 @@
|
||||
# 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.
|
||||
A [note](../Notes.md) in Trilium can _own_ one or more attachments, which can be either images or files. These attachments can be displayed or linked within the note that owns them.
|
||||
|
||||
This can be especially useful to include dependencies for your [scripts](../../Note%20Types/Code/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).
|
||||
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
@ -0,0 +1,6 @@
|
||||
# Note Icons
|
||||
Icons are useful for distinguishing notes. At the technical level, they are set by the `iconClass` attribute which adds a CSS class to the note. For example `#iconClass="bx bx-calendar"` will show a calendar instead of the default page or folder icon. Looking up and remembering the css class names is not necessary. While editing a note, click on the icon next to the title to bring up a chooser gallery:
|
||||
|
||||

|
||||
|
||||

|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 327 B After Width: | Height: | Size: 327 B |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 780 B After Width: | Height: | Size: 780 B |
Before Width: | Height: | Size: 367 B After Width: | Height: | Size: 367 B |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
@ -32,7 +32,7 @@ Drag-and-drop the items in the tree in order to change their order. See [Note
|
||||
|
||||
## Customizing the launcher
|
||||
|
||||
* The icon of a launcher can be changed just like a normal note. See [Note Icons](../Note/Note%20Icons.md) for more information.
|
||||
* The icon of a launcher can be changed just like a normal note. See [Note Icons](../Notes/Note%20Icons.md) for more information.
|
||||
* The title of the launcher can also be changed.
|
||||
|
||||
### Resetting
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
@ -20,7 +20,7 @@ You can easily rearrange the note tree by dragging and dropping notes, as demons
|
||||
|
||||
## Context Menu
|
||||
|
||||
You can also move notes using the familiar cut and paste functions available in the context menu, or with the associated keyboard [shortcuts](../Keyboard%20Shortcuts.md): `CTRL-C` ( [copy](../Note/Cloning%20Notes.md)), <kbd>Ctrl</kbd> + <kbd>X</kbd> (cut) and <kbd>Ctrl</kbd> + <kbd>V</kbd> (paste).
|
||||
You can also move notes using the familiar cut and paste functions available in the context menu, or with the associated keyboard [shortcuts](../Keyboard%20Shortcuts.md): `CTRL-C` ( [copy](../Notes/Cloning%20Notes.md)), <kbd>Ctrl</kbd> + <kbd>X</kbd> (cut) and <kbd>Ctrl</kbd> + <kbd>V</kbd> (paste).
|
||||
|
||||
## Multiple selection
|
||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
@ -0,0 +1,5 @@
|
||||
# Note buttons
|
||||
To the right of the [Ribbon](Ribbon.md) there are a few more buttons: 
|
||||
|
||||
* The Note Revisions button displays the [Note Revisions](../Notes/Note%20Revisions.md) for that particular note.
|
||||
* The contextual menu offers commands for the note or its subtree, such as import, export, viewing the [Note source code](../../Advanced%20Usage/Note%20source.md) or [Attachments](../Notes/Attachments.md).
|
After Width: | Height: | Size: 941 B |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 188 B After Width: | Height: | Size: 188 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -1,6 +0,0 @@
|
||||
# Note Icons
|
||||
Icons are useful for distinguishing notes. At the technical level, they are set by the `**iconClass**` attribute which adds a CSS class to the note. For example `#iconClass="bx bx-calendar"` will show a calendar instead of the default page or folder icon. Looking up and remembering the css class names is not necessary. While editing a note, click on the icon next to the title to bring up a chooser gallery:
|
||||
|
||||

|
||||
|
||||

|
@ -22,10 +22,10 @@ module.exports = new MyWidget();
|
||||
To implement this widget:
|
||||
|
||||
1. Create a new `JS Frontend` note in Trilium and paste in the code above.
|
||||
2. Assign the `#widget` [attribute](../Advanced%20Usage/Attributes.md) to the [note](../Basic%20Concepts/Note.md).
|
||||
2. Assign the `#widget` [attribute](../Advanced%20Usage/Attributes.md) to the [note](../Basic%20Concepts%20and%20Features/Notes.md).
|
||||
3. Restart Trilium or reload the window.
|
||||
|
||||
To verify that the widget is working, open the developer tools (`Cmd` + `Shift` + `I`) and run `document.querySelector("#my-widget")`. If the element is found, the widget is functioning correctly. If `undefined` is returned, double-check that the [note](../Basic%20Concepts/Note.md) has the `#widget` [attribute](../Advanced%20Usage/Attributes.md).
|
||||
To verify that the widget is working, open the developer tools (`Cmd` + `Shift` + `I`) and run `document.querySelector("#my-widget")`. If the element is found, the widget is functioning correctly. If `undefined` is returned, double-check that the [note](../Basic%20Concepts%20and%20Features/Notes.md) has the `#widget` [attribute](../Advanced%20Usage/Attributes.md).
|
||||
|
||||
### Step 2: Adding an UI Element
|
||||
|
||||
|
@ -49,9 +49,9 @@ Short answer is that file systems are simply not powerful enough for what we wan
|
||||
|
||||
More detailed answer:
|
||||
|
||||
* [clones](Basic%20Concepts/Note/Cloning%20Notes.md) are what you might call "hard directory link" in filesystem lingo, but this concept is not implemented in any filesystem
|
||||
* [clones](Basic%20Concepts%20and%20Features/Notes/Cloning%20Notes.md) are what you might call "hard directory link" in filesystem lingo, but this concept is not implemented in any filesystem
|
||||
* filesystems make a distinction between directory and file while there's intentionally no such difference in Trilium
|
||||
* files are stored in no particular order and user can't change this
|
||||
* Trilium allows storing note [attributes](Advanced%20Usage/Attributes.md) which could be represented in extended user attributes but their support differs greatly among different filesystems / operating systems
|
||||
* Trilium makes links / relations between different notes which can be quickly retrieved / navigated (e.g. for [note map](Advanced%20Usage/Note%20Map.md)). There's no such support in file systems which means these would have to be stored in some kind of side-car files (mini-databases).
|
||||
* Trilium makes links / relations between different notes which can be quickly retrieved / navigated (e.g. for [note map](Advanced%20Usage/Note%20Map%20\(Link%20map%2C%20Tree%20map\).md)). There's no such support in file systems which means these would have to be stored in some kind of side-car files (mini-databases).
|
||||
* Filesystems are generally not transactional. While this is not completely required for a note-taking application, having transactions make it way easier to keep notes and their metadata in predictable and consistent state.
|
@ -20,7 +20,7 @@ Note that this is not an Android/iOS app, this is just mobile friendly web page
|
||||
Mobile frontend provides only some of the features of the full desktop frontend:
|
||||
|
||||
* it is possible to browse the whole note tree, read and edit all types of notes, but you can create only text notes
|
||||
* reading and editing [protected notes](../Basic%20Concepts/Note/Protected%20Notes.md) is possible, but creating them is not supported
|
||||
* reading and editing [protected notes](../Basic%20Concepts%20and%20Features/Notes/Protected%20Notes.md) is possible, but creating them is not supported
|
||||
* editing options is not supported
|
||||
* cloning notes is not supported
|
||||
* uploading file attachments is not supported
|
||||
|
@ -63,7 +63,7 @@ This will disable TLS certificate verification, significantly reducing security
|
||||
|
||||
### Conflict Resolution
|
||||
|
||||
If you edit the same note on multiple instances before synchronization, Trilium resolves conflicts by retaining the newer change and discarding the older one. The older version remains accessible in [note revisions](../Basic%20Concepts/Note/Note%20Revisions.md), allowing data recovery if needed.
|
||||
If you edit the same note on multiple instances before synchronization, Trilium resolves conflicts by retaining the newer change and discarding the older one. The older version remains accessible in [note revisions](../Basic%20Concepts%20and%20Features/Notes/Note%20Revisions.md), allowing data recovery if needed.
|
||||
|
||||
### Hash Check
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Book
|
||||
A **Book Note** in Trilium is a special type of [note](../Basic%20Concepts/Note.md) designed to display the contents of its child notes sequentially, creating a linear, book-like reading experience. This format is particularly useful for viewing multiple smaller notes in a cohesive, continuous manner.
|
||||
A **Book Note** in Trilium is a special type of [note](../Basic%20Concepts%20and%20Features/Notes.md) designed to display the contents of its child notes sequentially, creating a linear, book-like reading experience. This format is particularly useful for viewing multiple smaller notes in a cohesive, continuous manner.
|
||||
|
||||

|
||||
|
||||
|
@ -8,20 +8,20 @@ This can be useful for a few things:
|
||||
* 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).
|
||||
For shorter snippets of code that can be embedded in [Text](Text.md) notes, see [Code blocks](Text/Developer-specific%20formatting/Code%20blocks.md).
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
In the [Ribbon](../Basic%20Concepts%20and%20Features/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.
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
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%20and%20Features/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.
|
||||
The list of languages is also shared with the [Code blocks](Text/Developer-specific%20formatting/Code%20blocks.md) feature of [Text](Text.md) notes.
|
@ -0,0 +1,6 @@
|
||||
# Note Map
|
||||
A Note map is a note type which displays a standalone version of the feature of the same name: [Note Map (Link map, Tree map)](../Advanced%20Usage/Note%20Map%20\(Link%20map%2C%20Tree%20map\).md).
|
||||
|
||||
Once created, the note map will display the relations between notes. Only the notes that are part of the parent of the note map will be displayed (including their children).
|
||||
|
||||

|
BIN
docs/User Guide/User Guide/Note Types/Note Map_image.png
Normal file
After Width: | Height: | Size: 88 KiB |
@ -0,0 +1,49 @@
|
||||
# Relation Map
|
||||
Relation map is a type of [Note](../Basic%20Concepts%20and%20Features/Notes.md) which visualizes notes and their [relations](../Advanced%20Usage/Attributes.md). See an example:
|
||||
|
||||
## Development process demo
|
||||
|
||||
This is a basic example how you can create simple diagram using relation maps:
|
||||
|
||||

|
||||
|
||||
And this is how you can create it:
|
||||
|
||||

|
||||
|
||||
We start completely from scratch by first creating new note called "Development process" and changing its type to "Relation map". After that we create new notes one by one and place them by clicking into the map. We also drag [relations](../Advanced%20Usage/Attributes.md)between notes and name them. That's all!
|
||||
|
||||
Items on the map - "Specification", "Development", "Testing" and "Demo" are actually notes which have been created under "Development process" note - you can click on them and write some content. Connections between notes are called "[relations](../Advanced%20Usage/Attributes.md)".
|
||||
|
||||
## Family demo
|
||||
|
||||
This is more complicated demo using some advanced concepts. Resulting diagram is here:
|
||||
|
||||

|
||||
|
||||
This is how you get to it:
|
||||
|
||||

|
||||
|
||||
There are several steps here:
|
||||
|
||||
* we start with empty relation map and two existing notes representing Prince Philip and Queen Elizabeth II. These two notes already have "isPartnerOf" [relations](../Advanced%20Usage/Attributes.md)defined.
|
||||
* There are actually two "inverse" relations (one from Philip to Elizabeth and one from Elizabeth to Philip)
|
||||
* we drag both notes to relation map and place to suitable position. Notice how the existing "isPartnerOf" relations are displayed.
|
||||
* now we create new note - we name it "Prince Charles" and place it on the relation map by clicking on the desired position. The note is by default created under the relation map note (visible in the note tree on the left).
|
||||
* we create two new relations "isChildOf" targeting both Philip and Elizabeth
|
||||
* now there's something unexpected - we can also see the relation to display another "hasChild" relation. This is because there's a [relation definition](../Advanced%20Usage/Attributes/Promoted%20Attributes.md) which puts "isChildOf" as an "[inverse](../Advanced%20Usage/Attributes/Promoted%20Attributes.md)" relation of "hasChildOf" (and vice versa) and thus it is created automatically.
|
||||
* we create another note for Princess Diana and create "isPartnerOf" relation from Charles. Again notice how the relation has arrows both ways - this is because "isPartnerOf" definition specifies its inverse relation as again "isPartnerOf" so the opposite relation is created automatically.
|
||||
* as the last step we pan & zoom the map to fit better to window dimensions.
|
||||
|
||||
Relation definitions mentioned above come from "Person template" note which is assigned to any child of "My Family Tree" relation note. You can play with the whole thing in the [demo notes](../Advanced%20Usage/Database.md).
|
||||
|
||||
## Details
|
||||
|
||||
You can specify which relations should be displayed with comma delimited names of relations in `displayRelations` label.
|
||||
|
||||
Alternatively, you can specify comma delimited list of relation names in `hideRelations` which will display all relations, except for the ones defined in the label.
|
||||
|
||||
## See also
|
||||
|
||||
* [Note Map](../Advanced%20Usage/Note%20Map%20\(Link%20map%2C%20Tree%20map\).md) is a similar concept
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
@ -5,4 +5,4 @@ Trilium allows you to save common searches as notes within the note tree. The se
|
||||
|
||||
## Location
|
||||
|
||||
By default, saved searches are stored in the day note. However, you can designate a different note to store saved searches by marking it with the `#searchHome` label. Additionally, for [workspaces](../Basic%20Concepts/Navigation/Workspace.md), you can use the `#workspaceSearchHome` label to specify a storage location for saved searches within that workspace.
|
||||
By default, saved searches are stored in the day note. However, you can designate a different note to store saved searches by marking it with the `#searchHome` label. Additionally, for [workspaces](../Basic%20Concepts%20and%20Features/Navigation/Workspace.md), you can use the `#workspaceSearchHome` label to specify a storage location for saved searches within that workspace.
|
@ -20,7 +20,7 @@ Text notes are usually opened in edit mode. However, they may open in read-only
|
||||
|
||||
In both cases, it is possible to switch back to editable mode using the button at top right of page.
|
||||
|
||||
For more information, see [Read-Only Notes](../Basic%20Concepts/Note/Read-Only%20Notes.md).
|
||||
For more information, see [Read-Only Notes](../Basic%20Concepts%20and%20Features/Notes/Read-Only%20Notes.md).
|
||||
|
||||
## General Formatting
|
||||
|
||||
@ -28,7 +28,6 @@ Since Trilium uses CKEditor, all of its formatting options are available here. Y
|
||||
|
||||
* **Bold**: Type `**text**` or `__text__`
|
||||
* _Italic_: Type `*text*` or `_text_`
|
||||
* `Code`: Type \`text\`
|
||||
* ~~Strikethrough~~: Type `~~text~~`
|
||||
|
||||
### Lists
|
||||
@ -39,15 +38,14 @@ See [Lists](Text/Lists.md).
|
||||
|
||||
* Block quote: Start a line with `>` followed by a space
|
||||
|
||||
### Multi-Line Code Blocks
|
||||
## Developer-specific formatting
|
||||
|
||||
To create a multi-line code block, start a line with "\`\`\`\[lang\]", for example:
|
||||
The following features are supported:
|
||||
|
||||
```
|
||||
if (1 > 2) {
|
||||
console.log("Error in the matrix");
|
||||
}
|
||||
```
|
||||
* Inline code
|
||||
* [Code blocks](Text/Developer-specific%20formatting/Code%20blocks.md)
|
||||
|
||||
See [Developer-specific formatting](Text/Developer-specific%20formatting.md) for more information.
|
||||
|
||||
### Headings
|
||||
|
||||
|
Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 349 B |
After Width: | Height: | Size: 231 B |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 352 B |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
@ -0,0 +1,33 @@
|
||||
# Developer-specific formatting
|
||||
### Inline code
|
||||
|
||||
Inline code formats text using a monospace font to indicate technical content in a sentence such as code, paths, etc.
|
||||
|
||||

|
||||
|
||||
Example of inline code being used to illustrate file system paths as well as shell commands (`git` in this case).
|
||||
|
||||
To insert an inline code:
|
||||
|
||||
* Via the [Formatting toolbar](Formatting%20toolbar.md), look for the  button.
|
||||
* Type \`code\` where `code` is the desired text to be automatically formatted as inline code.
|
||||
|
||||
### Code blocks
|
||||
|
||||
Code blocks display a snippet of code as a dedicated block:
|
||||
|
||||

|
||||
|
||||
A code block with JavaScript syntax highlight enabled.
|
||||
|
||||
Note that these are not meant for very large portions of code. Use the dedicated [Code](../Code.md) note type instead.
|
||||
|
||||
See the dedicated documentation for more information: [Code blocks](Developer-specific%20formatting/Code%20blocks.md)
|
||||
|
||||
### Keyboard shortcuts
|
||||
|
||||
This allows marking a portion of text as a shortcut key.
|
||||
|
||||

|
||||
|
||||
To apply this style, press the  button in  group from the [Formatting toolbar](Formatting%20toolbar.md). On the floating toolbar, the buttons appear when selecting a text.
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |