mirror of
https://github.com/zadam/trilium.git
synced 2025-11-16 18:25:51 +01:00
feat(docs): improve documentation, add icons, reorganize
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,12 @@
|
||||
# Bookmarks
|
||||
To easily access selected notes, you can bookmark them. See demo:
|
||||
|
||||

|
||||
|
||||
## Bookmark folder
|
||||
|
||||
Space in the left panel is limited, and you might want to bookmark many items. One possible solution is to bookmark a folder, so it shows its children:
|
||||
|
||||

|
||||
|
||||
To do this, you need to add a `#bookmarkFolder` label to the note.
|
||||
@@ -0,0 +1,8 @@
|
||||
# Note Hoisting
|
||||
Hoisting is a standard outliner feature which allows you to focus on (or "zoom into") a specific note and its subtree by hiding all parent and sibling notes. Demo:
|
||||
|
||||

|
||||
|
||||
In addition to showing only this subtree, this also narrows both full text search and [“jump to note”](Note%20Navigation.md) to just notes present in hoisted subtree.
|
||||
|
||||
See also [Workspace](Workspace.md) which extends this feature.
|
||||
@@ -0,0 +1,26 @@
|
||||
# Note Navigation
|
||||
One of the Trilium's goals is to provide fast and comfortable navigation between notes.
|
||||
|
||||
## Backwards and forward
|
||||
|
||||
You can use alt-left and alt-right to move back and forward in history of viewed pages.
|
||||
|
||||
This works identically to browser backwards / forwards, it's actually using built-in browser support for this.
|
||||
|
||||

|
||||
|
||||
## Jump to note
|
||||
|
||||
This is useful to quickly find and view arbitrary note - click on `Jump to` button on the top or press <kbd>Ctrl</kbd> + <kbd>J</kbd> . Then type part of the note name and autocomplete will help you pick the desired note.
|
||||
|
||||

|
||||
|
||||
### Recent notes
|
||||
|
||||
Jump to note also has the ability to show the list of recently viewed / edited notes and quickly jump to it.
|
||||
|
||||
To access this functionality, click on `Jump to` button on the top. By default, (when nothing is entered into autocomplete), this dialog will show the list of recent notes.
|
||||
|
||||
Alternatively you can click on the "time" icon on the right.
|
||||
|
||||

|
||||
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
@@ -0,0 +1,137 @@
|
||||
# Search
|
||||
## Local Search
|
||||
|
||||
Local search allows you to search within the currently displayed note. To initiate a local search, press <kbd>Ctrl</kbd> + <kbd>F</kbd>. If using a web browser, this will be handled by the browser's native search functionality. In the desktop (electron) version, a separate dialog will apear.
|
||||
|
||||
## Note Search
|
||||
|
||||
Note search enables you to find notes by searching for text in the title, content, or [attributes](../../Advanced%20Usage/Attributes.md) of the notes. You also have the option to save your searches, which will create a special search note which is visible on your navigation tree and contains the search results as sub-items.
|
||||
|
||||
To search for notes, click on the magnifying glass icon on the toolbar or press the <kbd>Ctrl</kbd> + <kbd>S</kbd> keyboard [shortcut](../Keyboard%20Shortcuts.md).
|
||||
|
||||
### Simple Note Search Examples
|
||||
|
||||
* `rings tolkien`: Full-text search to find notes containing both "rings" and "tolkien".
|
||||
* `"The Lord of the Rings" Tolkien`: Full-text search where "The Lord of the Rings" must match exactly.
|
||||
* `note.content *=* rings OR note.content *=* tolkien`: Find notes containing "rings" or "tolkien" in their content.
|
||||
* `towers #book`: Combine full-text and attribute search to find notes containing "towers" and having the "book" label.
|
||||
* `towers #book or #author`: Search for notes containing "towers" and having either the "book" or "author" label.
|
||||
* `towers #!book`: Search for notes containing "towers" and not having the "book" label.
|
||||
* `#book #publicationYear = 1954`: Find notes with the "book" label and "publicationYear" set to 1954.
|
||||
* `#genre *=* fan`: Find notes with the "genre" label containing the substring "fan". Additional operators include `*=*` for "contains", `=*` for "starts with", `*=` for "ends with", and `!=` for "is not equal to".
|
||||
* `#book #publicationYear >= 1950 #publicationYear < 1960`: Use numeric operators to find all books published in the 1950s.
|
||||
* `#dateNote >= TODAY-30`: A "smart search" to find notes with the "dateNote" label within the last 30 days. Supported smart values include NOW +- seconds, TODAY +- days, MONTH +- months, YEAR +- years.
|
||||
* `~author.title *=* Tolkien`: Find notes related to an author whose title contains "Tolkien".
|
||||
* `#publicationYear %= '19[0-9]{2}'`: Use the '%=' operator to match a regular expression (regex). This feature has been available since Trilium 0.52.
|
||||
|
||||
### Advanced Use Cases
|
||||
|
||||
* `~author.relations.son.title = 'Christopher Tolkien'`: Search for notes with an "author" relation to a note that has a "son" relation to "Christopher Tolkien". This can be modeled with the following note structure:
|
||||
* Books
|
||||
* Lord of the Rings
|
||||
* label: “book”
|
||||
* relation: “author” points to “J. R. R. Tolkien” note
|
||||
* People
|
||||
* J. R. R. Tolkien
|
||||
* relation: “son” points to "Christopher Tolkien" note
|
||||
* Christopher Tolkien
|
||||
* `~author.title *= Tolkien OR (#publicationDate >= 1954 AND #publicationDate <= 1960)`: Use boolean expressions and parentheses to group expressions. Note that expressions starting with a parenthesis need an "expression separator sign" (# or ~) prepended.
|
||||
* `note.parents.title = 'Books'`: Find notes with a parent named "Books".
|
||||
* `note.parents.parents.title = 'Books'`: Find notes with a grandparent named "Books".
|
||||
* `note.ancestors.title = 'Books'`: Find notes with an ancestor named "Books".
|
||||
* `note.children.title = 'sub-note'`: Find notes with a child named "sub-note".
|
||||
|
||||
### Search with Note Properties
|
||||
|
||||
Notes have properties that can be used in searches, such as `noteId`, `dateModified`, `dateCreated`, `isProtected`, `type`, `title`, `text`, `content`, `rawContent`, `ownedLabelCount`, `labelCount`, `ownedRelationCount`, `relationCount`, `ownedRelationCountIncludingLinks`, `relationCountIncludingLinks`, `ownedAttributeCount`, `attributeCount`, `targetRelationCount`, `targetRelationCountIncludingLinks`, `parentCount`, `childrenCount`, `isArchived`, `contentSize`, `noteSize`, and `revisionCount`.
|
||||
|
||||
These properties can be accessed via the `note.` prefix, e.g., `note.type = code AND note.mime = 'application/json'`.
|
||||
|
||||
### Order by and Limit
|
||||
|
||||
```
|
||||
#author=Tolkien orderBy #publicationDate desc, note.title limit 10
|
||||
```
|
||||
|
||||
This example will:
|
||||
|
||||
1. Find notes with the author label "Tolkien".
|
||||
2. Order the results by `publicationDate` in descending order.
|
||||
3. Use `note.title` as a secondary ordering if publication dates are equal.
|
||||
4. Limit the results to the first 10 notes.
|
||||
|
||||
### Negation
|
||||
|
||||
Some queries can only be expressed with negation:
|
||||
|
||||
```
|
||||
#book AND not(note.ancestor.title = 'Tolkien')
|
||||
```
|
||||
|
||||
This query finds all book notes not in the "Tolkien" subtree.
|
||||
|
||||
## Under the Hood
|
||||
|
||||
### Label and Relation Shortcuts
|
||||
|
||||
The "full" syntax for searching by labels is:
|
||||
|
||||
```
|
||||
note.labels.publicationYear = 1954
|
||||
```
|
||||
|
||||
For relations:
|
||||
|
||||
```
|
||||
note.relations.author.title *=* Tolkien
|
||||
```
|
||||
|
||||
However, common label and relation searches have shortcut syntax:
|
||||
|
||||
```
|
||||
#publicationYear = 1954
|
||||
#author.title *=* Tolkien
|
||||
```
|
||||
|
||||
### Separating Full-Text and Attribute Parts
|
||||
|
||||
Search syntax allows combining full-text search with attribute-based search seamlessly. For example, `tolkien #book` contains:
|
||||
|
||||
1. Full-text tokens - `tolkien`
|
||||
2. Attribute expressions - `#book`
|
||||
|
||||
Trilium detects the separation between full text search and attribute/property search by looking for certain special characters or words that denote attributes and properties (e.g., #, ~, note.). If you need to include these in full-text search, escape them with a backslash so they are processed as regular text:
|
||||
|
||||
```
|
||||
"note.txt"
|
||||
\#hash
|
||||
#myLabel = 'Say "Hello World"'
|
||||
```
|
||||
|
||||
### Escaping Special Characters
|
||||
|
||||
Special characters can be enclosed in quotes or escaped with a backslash to be used in full-text search:
|
||||
|
||||
```
|
||||
"note.txt"
|
||||
\#hash
|
||||
#myLabel = 'Say "Hello World"'
|
||||
```
|
||||
|
||||
Three types of quotes are supported: single, double, and backtick.
|
||||
|
||||
### Type Coercion
|
||||
|
||||
Label values are technically strings but can be coerced for numeric comparisons:
|
||||
|
||||
```
|
||||
note.dateCreated =* '2019-05'
|
||||
```
|
||||
|
||||
This finds notes created in May 2019. Numeric operators like `#publicationYear >= 1960` convert string values to numbers for comparison.
|
||||
|
||||
## Auto-Trigger Search from URL
|
||||
|
||||
You can open Trilium and automatically trigger a search by including the search [url encoded](https://meyerweb.com/eric/tools/dencoder/) string in the URL:
|
||||
|
||||
`http://localhost:8080/#?searchString=abc`
|
||||
@@ -0,0 +1,24 @@
|
||||
# Tree Concepts
|
||||
This page explains the basic concepts related to the tree structure of notes in TriliumNext.
|
||||
|
||||
## Note
|
||||
|
||||
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](../Notes/Cloning%20Notes.md)."
|
||||
|
||||
## Prefix
|
||||
|
||||
A prefix is a branch-specific title modifier for a note. If you place your note in two different locations within the tree and want to alter the title slightly in one of those placements, you can use a prefix.
|
||||
|
||||
To edit a prefix, right-click on the note in the tree pane and select "Edit branch prefix."
|
||||
|
||||
The prefix is not part of the note itself and is not encrypted when the note is protected. This can be useful if you want part of the title to remain visible in the tree for easier navigation, even when the note is protected.
|
||||
|
||||
## Subtree
|
||||
|
||||
A subtree consists of a particular note (the subtree root) and all its children and descendants. Some operations, such as exporting, work on entire subtrees.
|
||||
@@ -0,0 +1,24 @@
|
||||
# Workspace
|
||||
Workspace is a concept built up on top of [note hoisting](Note%20Hoisting.md). It is based on the idea that a user has several distinct spheres of interest. An example might be "Personal" and "Work", these two spheres are quite distinct and don't interact together. When I focus on Work, I don't really care about personal notes.
|
||||
|
||||
So far workspace consists of these features:
|
||||
|
||||
* [note hoisting](Note%20Hoisting.md) - you can "zoom" into a workspace subtree to focus only on the relevant notes
|
||||
|
||||
* easy entering of workspace:
|
||||
|
||||

|
||||
|
||||
* visual identification of workspace in tabs:
|
||||

|
||||
|
||||
|
||||
### How to use workspaces
|
||||
|
||||
Let's say you have identified the workspaces and their subtrees. Define on the root of this subtree following labels:
|
||||
|
||||
* `#workspace` - Marks this note as a workspace, button to enter the workspace is controlled by this
|
||||
* `#workspaceIconClass` - controls the box icon to be displayed in the tree and tabs, example `bx bx-home`. See [https://boxicons.com/](https://boxicons.com/)
|
||||
* `#workspaceTabBackgroundColor` - Background color of the tab, use any CSS color format, e.g. "lightblue" or "#ddd". See [https://www.w3schools.com/cssref/css\_colors.asp](https://www.w3schools.com/cssref/css_colors.asp).
|
||||
* `#workspaceCalendarRoot` - marking a note with this label will define a new per-workspace calendar. If there's no such note, the global calendar will be used.
|
||||
* `#workspaceTemplate` - This note will appear in the selection of available templates when creating a new note, but only when you are currently hoisted into a workspace containing this template.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.0 KiB |
Reference in New Issue
Block a user