CLI blogging tools

$ tail -f /dev/mind >> blog


In contrast to popular blogging platforms like WordPress, Blogger, Live Journal et cetera, the following tools are intended to run on a GNU/Linux command line right on the server and accessed using a remote shell.

Probably less convenient to people used to the aforementioned websites, but arguably faster and more secure while at the same time requiring less resources on the local machine. On the other hand, the CLI tools do require the user to have access to a server running both GNU/Linux and a webserver.

These tools are explicitly aimed towards a tech savvy user base. Also, please note that I am focusing on blogging tools in particular, not on static site generators in general.

Work in progress, obviously. Also, no warranties. Use at your own risk.

Static and dynamic blogs

Most of these blogs are static. In other words, they write .html files that will stay the way they are, other than dynamic blogs that are generated anew each time the site is loaded.

Static pages have three major advantages. First, they are secure. You cannot use broken PHP on plain HTML. You also cannot inject SQL, for example. Second, they are lightweight. They are likely to load much faster than dynamic sites. Third, they are portable. All they need is a webserver of any kind.


Name Language Input Origin License Author
Bake C++ Markdown WTFPL Felipe Tavares
bashblog Bash Markdown ? GNU GPL v3 or later Carlos Fenollosa
blog-gen Python Markdown ? MineRobber___T
blog.rb Ruby Markdown ? GNU GPL v2 usure
Fefes Blog C HTML Fnord News Show ? Fefe
gmb Bash HTML Apache 2.0 ~gauntlet
Jekyll Ruby HTML, Liquid, Markdown ? MIT jekyll
Nanoblogger Bash ? ? GNU GPL n1xt3r
Radiation Ruby HTML, Markdown MIT Sam Schlinkert
SoC SH none papa
sblg XML, Markdown ISC Kristaps Dzonsons
ttbp Python HTML, Markdown MIT hvincent
vee SH ? none Brett Estrade
Will Yager's blog Haskell ? MIT Will Yager


Bake was written by ~philips on in June 2015. It's concept is to have a bakefile containing a set of rules, a template and a variable number of .markdown files containing the actual blog posts. Each time a new post is placed in the blog directory and ready to be released or an old one was removed from it to be un-published, bake will re-read the files and re-generate the blog.

The code is made available on GitHub, where the readme also holds precise info on how to use bake.

~philips uses bake on



Next to ttbp this is the second blogging tool that was developed for Support for RSS is included.

Find the tool in use here. The source is on Github


Fefes Blog

Other than most other tools mentioned here, Fefes Blog does not create a set of static HTML files, but instead writes the entries into a database called tinyldap and written by Fefe, too. This allows for a built in search function.

The source is available there. However, there are no precise instructrions on how to set up this blog.

You can see the blog being used on (german).


gmb is a bash script used to generate a static microblog. Inspiration was drawn from SoC and Fefes blog.

The source code is available on GitHub.

Dependencies: coreutils, grep, mktemp, sed

The blog is in use there.


Jekyll is a "blog-aware" static site generator written in Ruby.

See their website, GitHub page, Wikipedia entry.

GitHub pages, for example, are built using Jekyll.


NanoBlogger is likely the oldest tool mentioned here, with the oldest available version released in June 2003. As of 2013-02-10 development is suspended.

The latest releases are 3.4.2 and 3.5 RC, the latter released on 2011-07-31.

The website has a list of users.


A remnant of now defunct, Radiation was the local choice of blogging tool. Written by Sam Schlinkert in 2014. (More info needed. Anyone?)

With Radiation as the writing tool existing, ~schlink also wrote Hazmat, a reader to organize the output of several Radiation blogs.

Find the code on GitHub.


Combining articles, templates and makefiles, sblg generates static HTML, Atom feeds and outputs JSON.

Website, Github repo.


SoC, short for Stream Of Consciousness, was originally written by ~papa and released on (dead link).

Dependencies: coreutils, fortune

The code can be found at ~papa/Code/soc/ on the server, however it was not yet published on the web. Also, a license is still missing.

SoC is used here and here.


The blogging platform, also known as The Feels Engine, is a blogging tool originated from Other than the rest of the tools listed here ttbp is very much focused on the community, featuring a built-in reader for entries made by other townies plus the option to either keep blog posts stored in the file system offside the webserver's directories to be available for local users only.

Here is info on the project including links to recently updated blogs.


Code is available on GitHub, but does not seem to be actively maintained. There is a website, too.

Will Yager's blog

Used on Source available there, too. (I'll have to get a hold of Haskell, understand the source and find out what the poem is actually there for.)


Yes. Seriously.

~gauntlet, swinton of $>ˆC, 2016-09-08. Last edited 2019-02-08.

This work is licensed under a Creative Commons Attribution 4.0 International License.