A simple static blog generation tool in bash that support markdown.
Branch: master
Clone or download
Mike Gauthier
Mike Gauthier stuff
Latest commit 6f3b5b5 Jun 1, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE initial comment Jun 29, 2017
README.md updated README and TODO Jun 2, 2018
TODO.md stuff Jun 2, 2018
blog.sh blog.sh Apr 6, 2018
template.tmpl Added extended placeholder options to the template Jun 29, 2017


blog.sh - A relatively simple bash-based blogging application

Author: Mike Gauthier <thalios1973 at 3cx dot org>


  • 0.1.0 First relatively working version. Certainly some bugs. Being used actively at blog.3cx.org.


Because I can? I guess that's the truth of it. I was inspired by Carlos Fenollosa's bashblog. I used it on my own blog for a bit and made some tweaks and contributions to the code, but I thought it could be done differently and maybe even better (my way!). So I wrote (am writing) bash.sh from scratch. bashblog was definitely my inspiration, but I took zero code from it.


  • Supposed to be simple. Right now less than 1000 lines of code.
  • Basic features for blogging
    • Create new
    • Save to draft
    • Edit existing or draft
    • Rebuild of site (good for updating the template)
    • Static page support.
  • Very basic templating - variable substition (TITLE, SUBTITLE, etc.). Currently supported variables
    • ~~~TITLE~~~ - set in .config as blogtitle
    • ~~~SUBTITLE~~~ - set in .config as blogsubtitle
    • ~~~BASEURL~~~ - the base URL of the blog set in .config as baseurl
    • ~~~CONTENT~~~ - the generated content of the page
    • ~~~PAGETITLE~~~ - the specific title of the specific page
    • ~~~PAGEURL~~~ - the URL (permalink) of the specific page
  • Uses all standard utilities available on any modern Linux/Unix system. Should work in Cygwin as well.
    • The only exception to this is pandoc for markdown parsing. One could use something else, but I chose pandoc because it provides for a LOT of flexibility.
    • The emoji extension and full github style markdown are useful.
  • Simple RSS support. Creates a feed.rss file for syndication (Simple RSS 2.0)