Every post in this theme is a Markdown file in src/content/blog/. Here’s a
tour of what’s supported, image and all.
Headings
Use ## and ### for section headings — they inherit the theme’s colors
automatically.
Images
Drop image files into public/images/ and reference them with a
site-root-relative path:

Images automatically get rounded corners and scale to fit the content width
— see .post-content img in src/styles/global.css if you want to change
that (add a caption, a border, a shadow, whatever fits your taste).
Code blocks
Fenced code blocks get a background, border, and horizontal scroll for long lines:
function greet(name) {
return `Hello, ${name}!`;
}
Inline code like npm run dev uses the same styling, just smaller.
Blockquotes
A good blog post says one thing well.
Lists
Unordered:
- Fast
- Simple
- Yours to customize
Ordered, with nesting:
- Write your post in Markdown
- Add front matter
title,description,pubDateare requiredtagsanddraftare optional
- Push to
mainand let the Action deploy it
Task lists (handy for draft outlines or changelogs):
- Set up the theme
- Write a first post
- Publish it
Tables
| Feature | Supported | Notes |
|---|---|---|
| Tables | Yes | Styled to match the theme |
| Task lists | Yes | Rendered as real checkboxes |
| Strikethrough | Yes | ~~like this~~ renders struck through |
| Images | Yes | Just drop files in public/images/ |
Links and emphasis
Regular links work as expected, along with bold, italic,
and strikethrough text.
Horizontal rule
Use three dashes on their own line to add a section break:
Front matter fields
Each post needs:
title— shown as the page and card headingdescription— used for previews and SEOpubDate— controls sort order on the front pagetags— optional, shown as little pillsdraft— set totrueto hide a post from the site while you work on it