Hello, world
The first post — why this blog exists and how it is built.
I started this blog to have a place of my own to write about software: architecture decisions, things that broke in production, and whatever I'm learning.
What runs here
Nuxt with Nuxt Content for the Markdown posts, Nuxt UI for the interface, and
@nuxtjs/i18n for the two languages. Deployed on Vercel with no extra config.
// every post is a file at content/blog/<locale>/<slug>.md
const posts = await queryCollection('blog')
.where('path', 'LIKE', '/blog/en/%')
.order('date', 'DESC')
.all()
The same post in both languages shares one filename, so switching languages keeps you on the same page.