1
0
silverbullet/website/Live Templates.md
Zef Hemel f30b1d3418
Templates 2.0 (#636)
Templates 2.0 and a whole bunch of other refactoring
2024-01-20 19:16:07 +01:00

43 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Live Templates are a type of [[Blocks|block]] that render [[Templates]] inline in a page.
Template blocks are specified using [[Markdown]]s fenced code block notation using `template` as a language. The body of the block specifies the template to use, as well as any arguments to pass to it.
Generally youd use it in one of two ways, either using a `page` [[Templates|template]] reference, or an inline `template`:
Heres an example using `page`:
```template
page: "[[internal-template/today]]"
```
And heres an example using `template`:
```template
template: |
Today is {{today}}!
```
To pass a literal value to the template, you can specify the optional `value` attribute:
```template
template: |
Hello, {{name}}! Today is _{{today}}_
value:
name: Pete
```
You can also pass in the result of a [[Live Queries|query]] as a value by setting the `query` attribute:
```template
query: |
tag where parent = "page" select name
template: |
{{#each .}}
* #{{name}}
{{/each}}
```
If you just want to render the raw markdown without handling it as a handlebars template, set `raw` to true:
```template
template: |
This is not going to be {{processed}} by Handlebars
raw: true
```