Files
plainleaf/website/Attributes.md
T
Zef Hemel 2ac30edb2f Update configuration documentation and remove deprecated templates
- Enhanced the `Config.md` documentation to clarify built-in configuration options and the use of the `config.set` API.
- Removed outdated `Page Template.md` and `Slash Template.md` files to streamline documentation and avoid confusion.
- Updated references in various documentation files to reflect the removal of deprecated templates and ensure consistency across the site.
2025-04-17 11:55:09 +02:00

70 lines
1.5 KiB
Markdown

Attribute syntax can contribute additional [[Metadata]] to various [[Objects]], including:
* Pages
* Items
* Tasks
## Syntax
The syntax is as follows:
```
[attributeName: value]
```
For Obsidian/LogSeq compatibility, you can also double the colon like this: `[attributeName:: value]`
Attribute names need to be alpha-numeric. Values are interpreted as [[YAML]] values. So here are some examples of valid attribute definitions:
* string: [attribute1: sup]
* number: [attribute2: 10]
* array: [attribute3: [sup, yo]]
Multiple attributes can be attached to a single entity, e.g. like so:
* Some item [attribute1: sup][attribute2: 22]
## Scope
Depending on where these attributes appear, they attach to different things. For instance, this attaches an attribute to a page:
[pageAttribute: hello]
However, usually, [[Frontmatter]] is used for this purpose instead.
Example query:
${query[[
from index.tag "page"
where _.name == editor.getCurrentPage()
select {name=_.name, pageAttribute=_.pageAttribute}
]]}
This attaches an attribute to an item:
* Item [itemAttribute: hello] #specialitem
Example query:
${query[[
from index.tag "specialitem"
where itemAttribute == "hello"
select {
name = _.name,
itemAttribute = _.itemAttribute
}
]]}
This attaches an attribute to a task:
* [ ] Task [taskAttribute: hello]
Example query:
${query[[
from index.tag "task"
where taskAttribute == "hello"
select {
name = _.name,
taskAttribute = _.taskAttribute
}
]]}