This post demos everything you can use in a blog post. The intro paragraph is just regular markdown - body text renders muted, with comfortable line height.
Headings
That was an ## (h2). The page title comes from metadata.title, so start
your sections at h2. Below is an h3:
A smaller section
Use these for sub-points inside a section.
Text features
Links look like this one to the work page or external ones like
MDN. Inline code is for file names and
identifiers: lib/posts.ts, useThemeMode().
Blockquotes are for pulling out a thought, a quote from a paper, or a caveat worth isolating from the flow.
Unordered list:
- First point
- Second point
- Third point
Ordered list:
- Scan the head
- Dither the render
- Ship it
Code blocks
float bayer8(vec2 p) {
// 8x8 ordered-dither threshold, 0..1
return texture(uBayer, p / 8.0).r;
}
Horizontal rule
Use --- to break context:
Images
Standard markdown syntax - the alt text doubles as the caption:

Video
Plain video, native controls:
Video with chapters
Add chapters for the YouTube-style player: segmented timeline, hover
tooltips with the chapter title, and clickable timestamps below. Times are
'm:ss', 'h:mm:ss', or plain seconds.
That's the full toolkit. Duplicate this file, rename it, replace the content.