mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-29 11:02:28 +08:00
4.5 KiB
4.5 KiB
Relations
A relation is similar to a label, but instead of having a text value it refers to another note.
Common use cases
- Metadata Relationships: For example, linking a book note to an author note.
- Scripting: Attaching scripts to events or conditions related to the note.
Creating a relation using the visual editor
- Go to the Owned Attributes section in the Ribbon.
- Press the + button (Add new attribute) to the right.
- Select Add new relation for the relation.
Tip
If you prefer keyboard shortcuts, press Alt+L while focused on a note or in the Owned Attributes section to display the visual editor.
While in the visual editor:
- Set the desired name
- Set the Target note (the note to point to). Unlike labels, relations cannot exist with a target note.
- Check Inheritable if the label should be inherited by the child notes as well. See Attribute Inheritance for more information.
Creating a relation manually
In the Owned Attributes section in the Ribbon:
- To create a relation called
myRelation
:- First type
~myRelation=@
. - After this, an autocompletion box should appear.
- Type the title of the note to point to and press Enter to confirm (or click the desired note).
- Alternatively copy a note from the Note Tree and paste it after the
=
sign (without the@
, in this case).
- First type
- To create an inheritable relation, follow the same steps as previously described but instead of
~myRelation
write~myRelation(inheritable)
.
Predefined relations
These relations are supported and used internally by Trilium.
Tip
Some relations presented here end with a
*
. That means that there are multiple relations with the same prefix, consult the specific page linked in the description of that relation for more information.
Label | Description |
---|---|
runOn* | See Events |
template | note's attributes will be inherited even without a parent-child relationship, note's content and subtree will be added to instance notes if empty. See documentation for details. |
inherit | note's attributes will be inherited even without a parent-child relationship. See Templates for a similar concept. See Attribute Inheritance in the documentation. |
renderNote | notes of type Render 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_relation | target of this relation will be executed and rendered as a widget in the sidebar |
shareCss | CSS note which will be injected into the share page. CSS note must be in the shared sub-tree as well. Consider using share_hidden_from_tree and share_omit_default_css as well. |
shareJs | JavaScript note which will be injected into the share page. JS note must be in the shared sub-tree as well. Consider using share_hidden_from_tree . |
shareTemplate | Embedded JavaScript note that will be used as the template for displaying the shared note. Falls back to the default template. Consider using share_hidden_from_tree . |
shareFavicon | Favicon note to be set in the shared page. Typically you want to set it to share root and make it inheritable. Favicon note must be in the shared sub-tree as well. Consider using share_hidden_from_tree . |