Sanchay Pahalwani

UTC+5:30 /// ONLINE

[ LOG /// 2026-08-26 ]

How this site is built

One hand-written HTML file, one pinned Zola binary, and a build script that refuses to leak.

The homepage of this site is a single hand-written HTML file. No framework, inline CSS, a few dozen lines of vanilla JS. I wanted to keep it that way and still have a place to write, so the blog is built by Zola, a static site generator that ships as one binary.

The rules

  • The deploy output is a closed allowlist. If the build produces a file the script does not expect, the deploy fails.
  • The homepage never passes through a build tool. The build script copies it into the output directory after Zola runs, byte for byte.
  • Syntax highlighting happens at build time.

The build

The whole pipeline is a short shell script:

rm -rf dist
zola --root site build --output-dir "$PWD/dist"
cp index.html 404.html dist/
cp -R assets dist/assets

Posts are markdown files with TOML front matter. A post is a draft until the draft = true line is deleted, and drafts never reach production builds. The feed lives at /blog/atom.xml.

Back to writing