Blog Maker - Build a blog with bash, make, and other GNU shell utilities.

Matt Traudt 6335216f72 Release v4.0.2 1 month ago
internal 6335216f72 Release v4.0.2 1 month ago
themes b95112291d Slim the nothing theme way down 2 months ago
tools 3e7765ed75 Move configuration files. BREAKING CHANGE 2 months ago
.gitattributes 6ecff2dccd Make Github ignore for language detection 2 months ago
.gitignore 0658548ed7 alphabetize gitignore 3 months ago 6335216f72 Release v4.0.2 1 month ago
LICENSE 0d08016746 Add license, GPLv3, with notes about CSS and 8 months ago 21d0fc214f Personal work is moving to a different repo 2 months ago
bm 730836106c Initial work on theme selection 3 months ago


Blog Maker - Build a blog with bash, make, and other GNU shell utilities.

example blog image

BM generates static sites. Thus they will be blazing fast even when hosted on cheap hardware (think raspberry pi) or on slow connections (think Tor onion services). This is due to their underlying simplicity and tiny size, therefore browsers are able to aggressively cache the pages. BM still comes with some great features. See below.


This project follows semantic versioning and thus every major version has the potential for breaking changes. You can find information about what those are at the following places.

Active development for this project happens at this Gogs server. Github is a manually updated mirror.


BM only requires programs commonly already found on GNU/Linux systems. While many of the programs may be found on non-GNU/Linux systems (such as OS X), BM assumes they are the GNU variety.

You also need a web server such as nginx to serve up the generated files.


Non-exhaustive list.

  • Uses Markdown to format post content.
  • Creates tag pages to list all posts which contain a given tag.
  • Generates post previews of dynamic length for the homepage.
  • Automatically regenerates blog after every post edit.
  • Optionally automatically sign all output files with a pgp key.
  • Optionally pin one or more posts to the top of the homepage.
  • Optionally autocreate a table of contents for a post.
  • Keeps track of post time, post modification time, and post author.
  • Quickly change the style of your website with themes

For more information, see the wiki.


master should always be the same as the newest release, with possible minor documentation-related fixups due to brainfarts. If you would like to work on BM, it would most likely be best to branch off of the latest master.

Each release has a tag. They used to have branches by the same name, then the branches got pruned over time, and after v4.0.0 there will be no new release branches. Releases will only have tags.

To follow my work, see the non-master branches at my personal BM repo.

Help and Documentation

See the Wiki for more usage information. You may also enjoy the configuration, options, and advanced configuration pages.


Please report issues via the issue tracker