How to write a post on this blog
This post exists for two reasons: so the blog does not start empty —an empty list makes the design impossible to judge— and so whoever writes the first real one does not have to guess the format.
Delete it when you publish yours.
Where the files go
Each post is a Markdown file under apps/site/content/blog/<locale>/. The file name is the
URL, so it is worth thinking about: pricing-that-does-not-scare.md publishes at
/en/blog/pricing-that-does-not-scare.
Once published, do not rename it. Anyone who linked to that post ends up with a broken link, and search engines take months to forgive it.
The header
The block between dashed lines, at the top of the file:
title— required. Without it the post is not published.description— this is what shows in the list and what Google puts under the title. Leave it empty and the search engine invents a snippet, and it rarely picks well.date— in2026-09-26format. It orders the list.author— optional.
One locale, one folder
Posts are not translated automatically. Each locale has its own folder and can have different posts: publishing something in Spanish that does not exist in English is normal, and forcing parity would lead to half-publishing or not publishing at all.
What you can write
Regular Markdown, with the usual GitHub extras: bold, italics, links, lists, quotes and tables.
Quotes look like this, and they do what quotes do: let a paragraph that matters breathe.
Code blocks too:
const greeting = "hello";
What you cannot do is drop in components. This is Markdown, not MDX, and that is on purpose: a post does not need it, and it avoids a whole extra build chain.