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.

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: ![alt text](/images/<note-slug>/photo.jpg). 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:

  1. Hit the wall in a note you actually want to publish — a need, not an idea.
  2. Write the need down in SPEC.md in the repo: what is missing and why.
  3. Extend src/lib/content.ts (the one place markdown is interpreted).
  4. Prove it: build, and add a demonstration of the new capability to this page — the page is the acceptance test.
  5. 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.