A calm, writing-first blogging system built with Astro. Designed for long-form writing. Typography, whitespace, and readability over visual complexity.
What's included
Design Decisions
Newsreader — optimized for sustained reading. Long-form content deserves a typeface designed for it.
Inter — clear hierarchy without competing with body text.
Prevents eye fatigue on long lines. Optimal for reading.
One mode, one experience, no maintenance surface. Intentional simplicity.
Only used for search. All other pages are static HTML and CSS.
Six components, no more. Everything you need, nothing you don't.
Content Model
Posts require three frontmatter fields. No tags. No categories. No authors. Write and publish.
Example
---
title: "Your Post Title"
description: "A short description."
date: 2026-02-07
---
Your content here.
Project Structure
src/
components/
Layout.astro — page shell, meta, fonts
Nav.astro — site navigation
Footer.astro — site footer
Heading.astro — typographic heading
Article.astro — post wrapper with metadata
Prose.astro — Markdown content styling
content/
config.ts — content collection schema
posts/ — Markdown files go here
pages/
index.astro — home (post list)
search.astro — search page
search-index.json.ts — static search index
about.astro — about page
rss.xml.ts — RSS feed
posts/[...slug].astro — post pages
styles/
global.css — design tokens and base styles
Search
Client-side search powered by a static JSON index built at build time. No external services, no dependencies.
Technical Specs
Not for you if