Files
plainleaf/website/Frontmatter.md
T
Zef Hemel 26d9d5bdf0 Restructure standard library and improve documentation
Refactor Library/Std into subfolders for APIs, Infrastructure, Editor,
Widgets, etc. Add more documentation and descriptions. Update references
throughout website and docs.
2025-10-01 11:22:31 +02:00

2.0 KiB

status
status
Complete

Frontmatter is a common format to attach additional metadata (data about data) to markdown documents. Many tools support it as a markdown Markdown/Extensions.

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:

attribute.subAttribute: 10

to

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 Tags to a page. There are various ways to define these, take your pick:
    tags: tag1, tag2 # with commas
    tags: tag1 tag2 # with spaces
    tags: "#tag1 #tag2" # with pound signs and quotes (you get 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.