← All posts

How posts work on this blog

  • astro
  • meta

A quick look under the hood, partly as documentation-to-self.

Every post on this blog is a single markdown file in src/content/blog/. The filename becomes the URL, e.g. this one is how-posts-work-here.md, so it lives at /blog/how-posts-work-here/.

Each file starts with a small frontmatter block:

---
title: 'How posts work on this blog'
description: 'One-line summary used in listings, meta tags, and RSS.'
pubDate: 2026-07-10
tags: ['astro', 'meta']
draft: false
---

Post body in plain markdown…

Astro’s content collections validate that frontmatter at build time so a typo’d date or missing title fails the build instead of silently rendering wrong. Setting draft: true keeps a post out of the listing, the RSS feed, and the sitemap until it’s ready.

That’s the entire publishing pipeline: write a file, commit, build, upload. No admin panel, no database, and nothing to log into.