folderblog: Save a File, Publish a Blog
Here’s a radical idea: what if publishing a blog post was exactly as hard as hitting Ctrl+S? No build step. No git push. No front matter to remember. No deploy command. Just a Markdown file in a folder, and a few seconds later, it’s live.
That’s folderblog. And it actually delivers.
folderblog on GitHub → | Website & video tour →

A folder is a blog
folderblog is a single Rust binary that runs quietly in the background, watching ~/Blogs. Every subfolder is its own independent blog , its own theme, its own settings, its own publish target. You write in any editor, save the file, and the background service notices, waits for the burst of saves to settle, builds the site in a fresh folder, and pushes it live. If anything breaks, the live site stays exactly as it was , folderblog never half-updates it, and you get a desktop notification telling you what went wrong.
GitHub Pages works with zero ongoing clicks. Log in once, and folderblog new myblog creates the repository, turns on Pages, and publishes your first post. Custom domains too , it even prints the DNS records you need. Not a GitHub person? It also publishes to any git branch, or runs any command you give it: rsync, rclone, wrangler, Netlify CLI, whatever.

Themes with no ceiling
folderblog’s engine handles content, feeds, and sitemaps. Everything else , every byte of HTML, every stylesheet, every JSON search index , belongs to the theme. Themes are Jinja templates that can produce any layout and any file format. One template can render tag pages, year archives, paginated series. A theme can even generate its own search index.
To prove the engine doesn’t interfere, we gave three coding agents the same blog, its AGENTS.md contract, and a one-line design brief. None of them needed a change to the engine. The screenshots in this post? Same blog, four different themes, all agent-built.

The little things that make it good
Posts don’t need front matter. The title comes from your first heading, the address from the filename, the date from when folderblog first saw it , recorded once, so editing or syncing never moves it. Delete a file, and the post is unpublished. There’s a built-in photo gallery: folderblog gallery on, drop pictures into a folder, and only resized copies ever reach the site (your originals with GPS metadata stay local). Drafts only appear in preview. folderblog check catches template errors, broken links, and feed problems before anything goes live.
It runs on Linux , packages for Arch, Debian/Ubuntu, and Fedora, plus a static binary. Written in Rust, MIT licensed, git is the only dependency.

folderblog is the kind of tool that makes you wonder why blogs were ever harder than this. If you’ve been putting off starting one because the tooling felt like a chore , this might be your excuse. Grab it from the repo, follow the step-by-step guide, and save a file.