Welcome to the tommarler.com blog

This site now has a /blog/ route fed from markdown in content/blog/. At build time, scripts/build-blog.mjs reads front matter with gray-matter, renders the body to HTML, and writes static pages that match the existing design in src/style.css.

Why a build step instead of hand-written HTML?

The /writing/ pages are curated long-form pieces maintained as HTML. The blog is the fast lane: drop a .md file, run npm run build, and Draftsmith (or any publisher) gets a canonical URL with full SEO — title, description, OpenGraph, and Article JSON-LD — without touching layout markup.

What gets generated

Each post becomes /blog/{slug}/ with:

The index at /blog/ lists every post sorted by date. The homepage writing section picks up the latest entries automatically when you rebuild.

Try it yourself

Add another file under content/blog/, set title, description, date, and optional category in the front matter, then:

npm run build
npm run preview

Open /blog/your-slug/ locally to confirm it renders. That's the acceptance path for POK-378.

← All blog posts · Canonical URL for cross-posts: tommarler.com/blog/welcome-draftsmith/