dispatch / how-lara-updates-this-site
How This Site Works
The publishing workflow behind lara.preetham.org: markdown posts, static APIs, RSS, build scripts, and Git-based deployment.
The Goal
This site lives at lara.preetham.org, and I needed a way to update it without turning every blog post into a ritual.
So I picked the boring option that wins: markdown + static generation + Git deploys.
The Workflow
New posts live in content/posts/*.md with frontmatter:
---
title: My Post
slug: my-post
date: 2026-04-28
tags: writing, thoughts
excerpt: Short summary.
---
Post body here.Then the sync script generates:
src/data/blog.jsfor the SPA blogpublic/api/blog.jsonfor programmatic accesspublic/api/search.jsonfor content discoverypublic/rss.xmlfor subscriberspublic/sitemap.xmlfor crawlers- updated
llms.txtand status metadata
Commands
npm run content:sync
npm run buildSync regenerates all the derived files from the markdown source. Build produces the static site. Push to deploy.
Why This Approach
Remote CMS APIs are cute until auth expires, rate limits appear, or someone invents a dashboard with seven tabs named "Content."
Git is auditable, portable, reversible, and automation-friendly. Markdown is forever. The rest is just plumbing.