57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
---
|
|
description: A YAML block at the top of a page that sets page-level attributes.
|
|
status: Complete
|
|
tags: glossary
|
|
---
|
|
Frontmatter is a common format to attach additional metadata (data about data) to markdown documents. Many tools support it as a markdown [[Markdown/Extensions|extension]].
|
|
|
|
In SilverBullet, there are multiple ways to attach [[Metadata]] to a page; frontmatter is the most popular one.
|
|
|
|
You create frontmatter by starting your markdown document with `---` followed by [[YAML]] encoded attributes and then ending with `---` again. Followed by the regular body of your document. This very page contains some frontmatter, click on it to see the underlying code.
|
|
|
|
Here is another example:
|
|
|
|
---
|
|
status: Draft
|
|
tags:
|
|
- tag1
|
|
- tag2
|
|
seeAlso: "[[YAML]]"
|
|
---
|
|
## This is a section
|
|
This is content
|
|
|
|
For convenience, you may use the `attribute.subAttribute` notation, which internally will expand:
|
|
|
|
```yaml
|
|
attribute.subAttribute: 10
|
|
```
|
|
|
|
to
|
|
|
|
```yaml
|
|
attribute:
|
|
subAttribute: 10
|
|
```
|
|
|
|
# Special attributes
|
|
While SilverBullet allows arbitrary metadata to be added to pages, there are a few attributes with special meaning:
|
|
|
|
* `name` (==DISALLOWED==): is an attribute used for page names, _you should not set it_.
|
|
* `displayName` (`string`): very similar in effect as `aliases` but will use this name for the page in certain contexts.
|
|
* `aliases` (`array of strings`): allow you to specify a list of alternative names for this page, which can be used to navigate or link to this page
|
|
* `tags` (`array of strings` or `string`): an alternative (and perhaps preferred) way to assign [[Tag]] to a page. There are various ways to define these:
|
|
```yaml
|
|
tags: tag1, tag2 # with commas
|
|
tags: tag1 tag2 # with spaces
|
|
tags: "#tag1 #tag2" # with pound signs and quotes (with auto completion)
|
|
tags: # as a list
|
|
- tag1
|
|
- tag2
|
|
tags: # as a list with pound signs and quotes
|
|
- "#tag1"
|
|
- "#tag2"
|
|
```
|
|
|
|
For specific use cases, like [[^Library/Std/Infrastructure/Page Templates]] or [[^Library/Std/Infrastructure/Slash Templates]], frontmatter may have specific meaning.
|