Blog posts
Add a .md file in frontend/src/blog/posts and it will appear on /blog after the Vite dev server refreshes or the site is rebuilt.
Use this front matter at the top:
---
title: Your post title
date: 2026-06-22
author: Heidi
excerpt: Short one-line summary for the blog list.
---
Write the post here.
The URL slug comes from the filename, so new-feature.md becomes /blog/new-feature. You can override it with slug: custom-url.
Markdown examples
Headings:
# Huge heading
## Section heading
### Small heading
Paragraphs:
This is a normal paragraph.
Leave a blank line to start a new paragraph.
Bullet points:
- First bullet
- Second bullet
- Third bullet
Numbered lists:
1. First step
2. Second step
3. Third step
Blockquotes:
> This text gets shown as a quote/callout.
Links:
[The homepage](/)
[Discord](https://discord.com/)
Inline code:
Use `frontend/src/blog/posts` for blog posts.
Code blocks:
```js
console.log('hello from the blog')
```
Images and videos
Put local images and videos in frontend/public. Files in there are served from the site root.
Example local file paths:
frontend/public/images/news/screenshot.png
frontend/public/videos/news/launch.mp4
Embed an image:

Embed a local video:
@[video](/videos/news/launch.mp4)
Embed YouTube or Vimeo:
@[youtube](https://www.youtube.com/watch?v=VIDEO_ID)
@[vimeo](https://vimeo.com/123456789)
YouTube embeds use the privacy-friendly youtube-nocookie.com player. Direct video files support .mp4, .webm, and .ogg.