Markdown
Every page in SilverBullet is a plain .md file on disk. Your notes are readable and manipulable from any other tool that can handle plain text files. This way your notes will outlive any app — including this one.
SilverBullet supports standard CommonMark markdown and adds a set of powerful extensions on top. Of course, some of those extensions are specific to SilverBullet, but we try to limit them when we can and implement the most “standard” thing available.
Markdown Basics
If you’re new to markdown, here’s the short version: it’s a way to format text using plain characters. What you type is always readable as-is, but when rendered it looks great.
Text Formatting
**Bold text**
_Italic text_
~~Strikethrough~~
==Highlighted text==
`inline code`
Headings
# Heading 1
## Heading 2
### Heading 3
Links and Images
[Link text](https://example.com)

Lists
* Unordered item
* Another item
* Nested item
1. Ordered item
2. Another item
Blockquotes
> A wise person once said something wise.
Code Blocks
```lua
print("Hello from a fenced code block")
```
Tables
| Name | Role |
|--------|------------|
| Alice | Engineer |
| Bob | Designer |
SilverBullet Extensions
SilverBullet extends standard markdown with features that turn your notes from static text into a living system.
Wiki Links
Link between pages using double brackets. No need to think about file paths — just type the page name.
[[Meeting Notes]]
[[Meeting Notes|yesterday's meeting]]
[[Projects/Phoenix#Timeline]]
Wiki links create a web of connections across your space. SilverBullet tracks backlinks automatically, so you can always see which pages link to the current one, and links automatically update when you rename pages.
Hashtags
Tag pages, list items, tasks with hashtags.
#project-x
* This is an item specifically for #project-x
* [ ] This is a task related to #project-x
Where you place a tag matters. A tag on its own line applies to the whole page. Inside a list item, it applies to that item. This scoping makes tags precise and queryable.
Tasks
Standard markdown tasks with a twist: SilverBullet indexes them, so you can query tasks across your entire space.
* [ ] Buy groceries
* [x] Write the proposal
* [TODO] Custom task state
* [IN PROGRESS] Another custom state
Task states aren’t limited to checked and unchecked: you can define any state you want.
Frontmatter
Optional YAML metadata at the top of any page. Use it to add structured data to your notes.
---
title: Project Phoenix
status: Active
tags: work priority
due: 2026-05-01
---
My project notes
Frontmatter fields are indexed and queryable.
Attributes
Whereas frontmatter is specific to pages, custom attributes can be attached to other objects too, including list items and tasks.
* Buy groceries [due: 2026-04-15] [priority: high]
* [x] Write the proposal [completed: 2026-04-09]
Transclusions
Embed the content of one page (or a section of it) inside another. The embedded content stays in sync — edit the source and every transclusion updates.
![[Meeting Notes]]
![[Project Phoenix#Status]]
Admonitions
Callout blocks for notes, warnings, and tips.
> **note** This is a note.
> **warning** Be careful with this.
Space Lua Expressions
This is where things get slightly more nerdy. Inline Lua expressions evaluate and render in place. This powers queries and other custom dynamic content.
Today is ${os.date("%A")}.
Total: ${1 + 2 + 3}.
Read more about this on the Space Lua page.
Queries
And this is where things get really interesting. SilverBullet indexes every page, task, link, list item in your space. Using Space Lua’s query language, you can query your notes and get live results rendered inline.
${query[[
from t = tags.task
where not t.done
order by t.dueDate desc
limit 10
select templates.taskItem(t)
]]}
Will render tasks from all across your space matching the criteria, e.g.:
-
[[SomePage@232]]First task -
[[Some Other Page@232]]Second task
And when you toggle their state, their status will be updated in their original location as well.
Build dashboards, task lists, project trackers — all from within your notes.
The Philosophy
Markdown is the foundation because it’s universal. Your notes are plain text files that work in any editor, sync with any tool, and survive any platform shift. SilverBullet’s extensions are designed to be invisible to other markdown tools — they degrade gracefully to plain text, keeping your data portable.
Learn more about this on the Principles page.