My Blog Development Workflow

You learn something new everyday. In an effort to get this blog underway, I learned a lot. It completely changed the way I develop code.

Being someone who creates REST interfaces for frontend developers, I assumed I knew quite a bit about frontend development. This proved to be woefully wrong. The past few days I have spent learning about the frontend side of things. My objectives were:

  1. Learn all the tools needed to get a good workflow for a blog (the what and why)
  2. Use those tools properly as they were intended (the how)

In the end these are the tools I ended up using (and the stuff the tools rely on) and how I'm using them:a

1. For my frontend and writing my posts


Jekyll is a static blog manager. It takes blog posts written in HTML or Markdown and converts it to a static site

gem install jekyll

Foundation 5 (Using SCSS so I can customize)

Manages the CSS for my blog. Its mobile-first so it takes care that the blog looks nice on any screen. Foundation runs via SASS and allows me to not worry so much about the UI elements. Installation instructions can be found here


Since I will be wrting quite a bit of programming code on this blog. Pygments allows me to display the code according to the way its supposed to look.

pip install pygments

2. For general development sanity and happiness


This allows me to build my Jekyll, compile my Foundation (via Compass) and compile pygments using a single command `Grunt`. This command will run a file called a gruntfile. This is useful because there are probably going to be a few more libraries before this goes online. Thus I can compile the entire site with one command.

npm install grunt -g

3. The programs the tools rely on


Compass is a SASS compiler (among other things but I'm using it for that). Compass directly compiles my SASS to CSS whenever I run compass compile

gem install compass


Bower is used for frontend development. It allows you to get all your Javascript libraries wrapped up in a neat little bow. (I know very little about Bower and I'll write a proper post when I know more)

npm install bower

4. The basic languages these use


This allows you to extend the functionalities of CSS by adding features like loops and class inheritence etc. When compiled SASS becomes CSS (so its basically writing CSS but just simulates more features on top). You can get started here


Ruby is an Object Oriented Programming language that can be used to do anything. Ruby has a modular approach which directly lets me install 'gems' from the internet. You can download it here


Another Programming language like Ruby. I won't go into the differences here but from an "essentials" perspective their pretty similar. You can download it here

Node.js (which runs on Javascript)

Node.js is a wrapper that lets you run Javascript applications without a Browser (@ShreyasRane). You can download it here

08 Apr 2014