Minimum Viable Blogging

For five years I have run this site and the accompanying blog with Octopress – a blogging tool written in Ruby. It is made to generate static sites - based on the fairly popular Jekyll, which also powers GitHub Pages. And even though it has some pretty nice concepts, I never used much of its features – I just needed it to generate some static pages and the blog. Migrating from Octopress 1 to version 2 seemed like a time consuming task, which I dreaded for a long time – meanwhile my focus shifted from Ruby to JavaScript …

As writing articles for the blog stagnated and I needed to update the site, I decided to move the old content to an archive and set up something new, using the tools I am now working with on a daily basis: JavaScript, Gulp, Pug und Stylus. Generating static sites with Gulp and your templating language of choice (in my case Pug) is straight forward and you will end up with a pretty minimalistic gulpfile containing around 100 lines of code for generating a full-fledged site – including stylesheet and javascript preprocessing, image minification and all the good stuff.

However, blogging is another story than creating a web page and writing the articles using Pug would not make any sense. As I said I really liked some of the Octopress concepts, in particular using Markdown for writing the articles and declaring the meta information via YAML front matter. And in fact, Gulp is a very nice tool to wire all of this up, bringing some nice benefits and also being very fast: I can continuously build the site as I am writing on the blogpost, preview it with BrowserSync and have all the rest of the build chain fully integrated.

All that was missing was a gulp plugin, which assembled the parts. That is why I created gulp-mvb, my approach of creating a minimum viable blog with Gulp – using the Octopress style of blogging. As you might have guessed, I am already using it to write these articles and even though it is still alpha, it supports most of the features one would need for creating a minimum viable blog. Generating article lists and feeds, custom permalinks for articles and article templates are described in the README and I would really like to get some feedback in case you feel like using gulp-mvb for your own blog.

As this blog grows there will be some new features too, like grouping articles by years and months and referencing previous and next articles. It should stay pretty minimalistic, but there are some niceties which could improve this plugin – I am already looking forward to work on them :)

UPDATE Jan 12, 2016: Both features have been implemented by now and are available in v0.3.0 of gulp-mvb.