Remember when building a blog meant ssh-ing into a server, writing HTML by hand, and rsyncing files? Before WordPress bloated into a 30MB CMS, before Medium turned writing into a murky ad-revenue swamp, before Ghost and Jekyll and the endless JavaScript frameworks that need a npm install every time you sneeze?
Some of us never forgot. And for them, there's Bashblog — a single bash script that does exactly what it says on the tin.
What the hell is it?
Bashblog is a 500-line shell script that turns a directory of Markdown files into a static blog. No database. No build step that eats your afternoon. No Ruby gems falling out of date. Just bash, grep, sed, and a few standard Unix utilities.
You write a post in Markdown. You run './blog.sh publish my-post.md'. It generates the HTML, updates the index, creates RSS and Atom feeds, and even handles comments via a simple email-based system.
"The entire blog engine is one file. You can read it in an afternoon. You can modify it in an hour."
That's the pitch. And it works.
Why this matters in 2026
Every year, someone declares static sites dead. Every year, someone reinvents the CMS wheel with a new JavaScript framework, a new headless CMS, a new "content mesh" (whatever that means). Every year, the complexity ratchets up.
Bashblog is the antidote. It's the Unix philosophy applied to blogging: do one thing, do it well, and let the operating system handle the rest.
Think about it. What do you actually need to blog?
- A text editor.
- A way to convert Markdown to HTML.
- A way to stitch pages together.
- A way to publish.
That's it. Everything else — categories, tags, social sharing buttons, analytics — is noise. Bashblog gives you the essentials and gets out of your way.
The comment system is genius
Or insane, depending on your patience. Bashblog doesn't use Disqus or any third-party comment widget. Instead, it generates a mailto link at the bottom of each post. Readers email their comments to a predefined address. A cron job picks up the emails, appends them to the post's Markdown file, and regenerates the page.
Is it as real-time as a database-driven comment system? No. Does it preserve your privacy, avoid trackers, and work without JavaScript? Yes.
"Comments become part of your source code. They're version-controlled. They're yours forever."
That's a feature, not a bug.
The real selling point: ownership
Run Bashblog on a $5 Linode, on a Raspberry Pi at home, or on a free GitHub Pages site. Your content lives in plain text files. Your blog is a Git repository waiting to happen. You can grep your entire archive. You can sed-replace every instance of a typo. You can backup your blog with a single 'git push'.
No platform lock-in. No "we've updated our terms of service." No "we're shutting down Medium publications."
This matters more now than ever. The web is being consolidated by platforms that monetize attention, not writing. Every hosted blogging platform is one acquisition away from enshittification. Write on something you control.
But is it for everyone?
Hell no. If you want inline tagging, a rich text editor, drag-and-drop images, or mobile apps, look elsewhere. Bashblog assumes you know what you're doing. It assumes you're comfortable in a terminal. It assumes you'd rather read 'man sed' than watch a YouTube tutorial.
That's a tiny audience. But it's an important one.
There's a reason Hacker News upvotes this project every time it gets linked. It's not because everyone runs it — most don't. It's because it represents an idea worth preserving: that software can be simple, transparent, and within your control.
The catch
Bashblog hasn't been actively maintained since 2021. The last commit on GitHub is years old. The issue tracker has open tickets about Markdown rendering quirks, missing HTML5 tags, and broken RSS feeds with certain characters.
Does that matter? For a script this small, you can fix it yourself. Or fork it. Or just use it as inspiration to write your own.
"The best software is the software you can understand entirely. Bashblog is that."
And that's the point. It's not a product. It's a tool. You don't file feature requests for a hammer.
The bottom line
If you're running a blog on WordPress in 2026, you're running a 20-year-old PHP application that's been patched into a monstrosity. If you're on Medium, you're renting space in someone else's building.
Bashblog is a reminder that you can strip all that away. One bash script. One directory. Your words.
Give it a look. You might not use it. But it'll make you think about what you really need to publish on the web.



