⚙ MILL · Content engine
Markdown in, living layouts.
MILL is a reusable Markdown-to-pages CMS. Feed it markdown and images and it renders GRAIN pages. It's the content pipeline behind this site's docs and blog: write the prose, get real pages, no hand-built HTML. It sits above BATCH and GRAIN, an extension of neither.
Live · it renders the notes and docs on this siteA layer above
It depends on GRAIN for components and BATCH for the substrate, never the reverse. Batch, then grain, then MILL on top.
Framework-agnostic core
A Markdown-to-components engine driven by a render-adapter port. The BATCH and GRAIN adapter is the default, not baked in.
Frontmatter picks the layout
Frontmatter chooses a layout, content blocks map to component tags. MILL emits the tags, BATCH composes them.
Live, then frozen
It renders live on BATCH while you write, and the static export freezes the result. Same content, two modes.
MILL is the proof that BATCH and GRAIN compose into a real, reusable tool. The canonical design, the seams, the mapping model, and the build pieces are written up in the MILL plan that ships beside the code.
Part of the BREAD stack, alongside BATCH, GRAIN, PROOF, CRUMB, and PANTRY.
🤖 Built with Claude. I don't prompt and pray, I prompt and prove. Every commit here is co-authored with an AI, on purpose. How I actually work with AI, receipts and all →