What a note can contain
2026-11-13
This page is itself a note, and it demonstrates everything the site can render. If a capability has no demonstration here, it does not exist yet.
Frontmatter#
Every note starts with a --- block: title (required — it becomes the page heading, the tab title and the entry in the notes list), date (YYYY-MM-DD, sorts the list), description (shown under the list entry), and draft: true to keep a note unpublished. See About this site for the workflow around it.
Headings and anchors#
Headings get ids automatically. Hover any heading and a # appears; click or copy it to link straight to that spot — like this heading's own link. No HTML needed.
Text and links#
Bold, italic, inline code, and links. Internal links carry a trailing slash: the notes list. Wiki-links between notes work the Obsidian way: About this site, or with a label like this. A wiki-link to a note that does not exist renders as plain text rather than a broken link: a note that does not exist yet.
Callouts#
Obsidian callouts of any kind render as boxes:
Any kind works
note, tip, quote, warning, info — all render the same box with the title you give. The quote callout is how the freelance-life note opens with its Dickens epigraph.
The kind can be a whole sentence — everything before the closing bracket becomes the title:
and a title after it too
Both show. Unrecognised kinds keep the default box look.
A - after the kind folds the callout, collapsed by default (Obsidian's folding); a + leaves it open:
Click to open
The body inside is real rendered content: markdown, links, code — and it is hidden from the page until the reader opens it.
Video embeds#
An image-style markdown link whose target is a YouTube video embeds the player (via the privacy-friendly nocookie domain, with your alt text as the player title):
A plain link to YouTube stays a link: Yemi Alade — Johnny.
Code blocks#
Fenced code blocks work, with or without a language tag:
// Language tags are accepted.
// No highlighting yet — see "not yet".
const site = "deliberately boring";
Tables#
| Feature | Status |
|---|---|
| Callouts | works |
| Wiki-links | works |
| Math/LaTeX | not yet |
Images#
Markdown images work: . The protocol: the file lives in static/images/<note-slug>/ in the repo before you commit, referenced with the absolute path. There is no automatic resizing, so photographs go in sized — roughly 1600px wide and under 300KB — with location data stripped, and get an alt text like this sentence has. Do not hotlink images from other sites: they break, and they tell the other server who is reading.
Not yet — on purpose#
Syntax highlighting for code blocks (Shiki, when first needed), footnotes, math/LaTeX, image resizing, comments, tags, categories, search, analytics. None of these exist because no note has needed them yet, and the site grows one capability at a time or not at all.
The extension protocol#
When a real note hits a wall:
- Hit the wall in a note you actually want to publish — a need, not an idea.
- Write the need down in
SPEC.mdin the repo: what is missing and why. - Extend
src/lib/content.ts(the one place markdown is interpreted). - Prove it: build, and add a demonstration of the new capability to this page — the page is the acceptance test.
- If it cannot be demonstrated here, it does not ship.
That is the whole growth policy: one page to read, one file to extend, one list that says what is deliberately missing.