The Refix blog — blog.refix.ai. Built on the QuietPages Astro theme (MIT).
- Astro 6 — static site, MDX content collections
- Tailwind CSS 4 — via
@tailwindcss/vite, tokens insrc/styles.css - MDX posts in
src/content/blog - Self-hosted Inter, Fraunces & JetBrains Mono fonts
- RSS (
/rss.xml), XML sitemap (/sitemap.xml), dynamicrobots.txt - Deployed as a static site on Netlify (
pnpm build→dist/)
pnpm install
pnpm devSite runs at http://localhost:4321
Each post is a folder under src/content/blog/<slug>/ containing:
index.mdx— the post (filename slug = URL, served at/blog/<slug>)cover.jpg(or any image) — the thumbnail, referenced asthumbnail: ./cover.jpg
Required frontmatter (validated in src/content.config.js):
---
title: "Post title"
excerpt: "One-line summary used in cards and meta description."
date: 2026-01-15
readingTime: 5 # minutes, integer
category: "analytics" # slug from src/lib/blog-data.js
tags: ["analytics", "ai"] # slugs from src/lib/blog-data.js
author: "refix" # slug from src/lib/blog-data.js
thumbnail: ./cover.jpg
featured: false # optional — true pins it as the homepage lead
---Authors, categories, and tags are defined in src/lib/blog-data.js. Site name,
description, and URL live in the SITE export there.
| Command | Action |
|---|---|
pnpm install |
Install dependencies |
pnpm dev |
Start dev server at localhost:4321 |
pnpm build |
Build to ./dist/ |
pnpm preview |
Preview the production build |
pnpm format |
Format with Prettier |
- Visual editor: no CMS is wired up (Tina was removed in the re-theme). Add Keystatic when a non-technical editor is needed — it's git-backed and pairs cleanly with Astro 6, writing back to these same MDX files.