Markdown Reference — Everything You Can Use in a Post
This page is a living reference. Every formatting feature shown here works inside any .md file in site/seedbed/ (or any other zone). Copy the syntax from the examples.
Frontmatter fields
Every post starts with a YAML block between --- lines. Available fields:
---
layout: post.njk # always this for posts
title: "Your title" # shown in the header and feed card
date: 2026-03-19 # creation date (YYYY-MM-DD)
last_tended: 2026-03-19 # last edited — used for feed sort order
stage: seedling # seedling | budding | evergreen
confidence: speculative # speculative | possible | certain
description: "One sentence shown on the feed card."
tags:
- tagname # shown as chips; used for filtering
draft: true # remove this line (or delete it) to publish
---
Fields only used in Veranda (book notes):
author: "Author Name"
finished: 2026-03-19
rating: 4 # renders as ★★★★
status: reading # reading | finished | abandoned
Headings
# Heading 1 ← don't use this — the post title is already an h1
## Heading 2
### Heading 3
#### Heading 4
Heading 2
Heading 3
Heading 4
Paragraphs and line breaks
Just write text. A blank line starts a new paragraph.
One blank line between these two makes them separate paragraphs.
To force a line break without a new paragraph, end the line with two spaces (hard to see but it works).
Emphasis
*italic* or _italic_
**bold** or __bold__
***bold and italic***
~~strikethrough~~
italic, bold, bold and italic, strikethrough
Links
[link text](https://example.com)
[link with title](https://example.com "hover tooltip")
Images
Standard Markdown image:

Obsidian embed (works automatically — just paste from Obsidian):
Images are stored in site/obs-assets/ and served at /obs-assets/. When you paste an Obsidian embed, the site converts it automatically.
Wikilinks
Link to another page on the site using its title. If the page exists, it becomes a link. If not, it renders as a broken-link span.
deep-work ← links by slug
Deep Work by Cal Newport ← links with custom display text
Deep Work by Cal Newport — try clicking this.
Blockquotes
> This is a blockquote.
> It can span multiple lines.
>
> And multiple paragraphs.
This is a blockquote. It can span multiple lines.
And multiple paragraphs.
Unordered lists
- Item one
- Item two
- Nested item (indent with 2 spaces)
- Another nested
- Item three
- Item one
- Item two
- Nested item
- Another nested
- Item three
Ordered lists
1. First
2. Second
3. Third
- First
- Second
- Third
Inline code
Use backticks for `inline code` in a sentence.
Use backticks for inline code in a sentence.
Code blocks
Fenced with triple backticks. Add the language name for syntax highlighting.
```javascript
function greet(name) {
return `Hello, ${name}!`
}
```
function greet(name) {
return `Hello, ${name}!`
}
def greet(name):
return f"Hello, {name}!"
npm run build
git push origin main
Horizontal rule
Three dashes on their own line:
---
Tables
| Column A | Column B | Column C |
|----------|----------|----------|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
| Column A | Column B | Column C |
|---|---|---|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
Alignment:
| Left | Center | Right |
|:---------|:--------:|----------:|
| text | text | text |
| Left | Center | Right |
|---|---|---|
| text | text | text |
Raw HTML
Since content is rendered with | safe, you can use HTML directly:
<details>
<summary>Click to expand</summary>
Hidden content revealed on click.
</details>
Click to expand
Hidden content revealed on click.<mark>highlighted text</mark>
<kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>1</kbd>
highlighted text
Cmd + Shift + 1
What does NOT work
==highlight==— not standard Markdown, use<mark>instead^superscript^— use<sup>text</sup>- Obsidian callouts (
> [!note]) — renders as a plain blockquote - Embedded Obsidian canvas or PDF files — only images work
wikilinkto pages outside the content globs (templates, etc.)