Skip to content

Latest commit

 

History

History
83 lines (61 loc) · 4.63 KB

attributes.md

File metadata and controls

83 lines (61 loc) · 4.63 KB

Attributes in Trilium

In Trilium, attributes are key-value pairs assigned to notes, providing additional metadata or functionality. There are two primary types of attributes:

  1. Labels: Simple key-value text records
  2. Relations: Named links to other notes

These attributes play a crucial role in organizing, categorizing, and enhancing the functionality of notes.

Screenshot of 'task template' attributes

Labels

Labels in Trilium can be used for a variety of purposes:

  • Metadata: Assign labels with optional values for categorization, such as #year=1999, #genre="sci-fi", or #author="Neal Stephenson"
  • Configuration: Labels can configure advanced features or settings
  • Scripts and Plugins: Used to tag notes with special metadata, such as the "weight" attribute in the Weight Tracker

Labels are also searchable, enhancing note retrieval.

Common Labels for Advanced Configuration

  • disableVersioning: Disables automatic versioning, ideal for large, unimportant notes like script libraries
  • versioningLimit: Used to limit the number of revisions for a single note
  • calendarRoot: Marks the note as the root for day notes. Only one note should carry this label
  • archived: Hides notes from default search results and dialogs
  • excludeFromExport: Excludes notes and their subtrees from export operations
  • run: Specifies events to trigger scripts (e.g., frontendStartup, hourly)
  • runAtHour: Defines specific hours for scripts to run, used with #run=hourly
  • disableInclusion: Prevents a script from being included in parent script executions
  • sorted: Automatically sorts child notes alphabetically by title
  • top: Keeps the note at the top of its parent's list, useful with sorted
  • hidePromotedAttributes: Hides certain attributes in the note's display
  • readOnly: Sets the note to read-only mode, applicable to text and code notes
  • autoReadOnlyDisabled: Disables automatic read-only mode for large notes
  • 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
  • pageSize: Specifies the number of items per page in note listings
  • customRequestHandler and customResourceProvider: Refer to Custom request handler
  • widget: Marks a note as a custom widget, added to Trilium's component tree
  • workspace and related attributes: See Workspace 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
  • shareXXX: See Sharing
  • keyboardShortcut: Assigns a keyboard shortcut to open the note
  • displayRelations and hideRelations: Manages the display of note relations
  • titleTemplate: See Default note title
  • template: Makes the note available as a template
  • toc: Controls the visibility of the table of contents
  • color: Defines the color of the note in the tree and links
  • hideChildrenOverview: Hides child notes in the parent note's editor
  • viewType: Sets the view of child notes (grid or list)

Relations

Relations define connections between notes, similar to links.

Uses

  • Metadata Relationships: For example, linking a book note to an author note
  • Scripting: Attaching scripts to events or conditions related to the note

Common Relations

  • Event-based Relations: Such as runOnNoteCreation or runOnNoteChange, which trigger scripts on specific actions
  • Other Relations: Include template, renderNote, widget, and sharing-related relations

Multiplicity

Attributes in Trilium can be "multivalued", meaning multiple attributes with the same name can coexist.

Attribute Definitions and Promoted Attributes

Special labels create "label/attribute" definitions, enhancing the organization and management of attributes. For more details, see Promoted attributes.

Attribute Inheritance

Trilium supports attribute inheritance, allowing child notes to inherit attributes from their parents. For more information, see Attribute inheritance.