Adventures in WordPress

After years of building software, i finally decided its time to set up my own website. I wanted somewhere where i could share my thoughts on life, death and the universal mysteries of software development.

Choosing a Platform

After looking at various options i narrowed it down to 2 choices:

For a more in-depth look into the differences between the two, read this excellent post.

The easiest thing would have been just to take WordPress/Ghost, acquire a nice theme, setup some plugins and away you go into the wonderful world of blogging. Or i could have just gone with the ever popular Medium, one of my favourite sources of information.

Except, that would be too easy.  I wanted the challenge of building my own theme. I mean how hard could that be with all my years of experience building software? I am not a designer so the thought of trying to design my own site for better or worse was appealing.

Initially, i was going to go for Ghost, after all its built on Node.js, something i have experience with. WordPress on the other hand uses php. I wanted more than just a standard blog, something that i could hopefully expand on in the future.

In the end i chose the ubiquitous WordPress over Ghost, a decision i may one day live to regret, or not. At the end of the day whatever you choose its just a means to an end.

Developing a WordPress Theme

As i wanted to create my own responsive mobile-first theme, i used underscores as a template. Key to developing with WordPress is to understand the loop. Underscores is a starter theme, it takes out the pain of writing templates for posts (single and multiple), archives, search result pages and many more. It also provides a good starting point for organizing your code. For an in depth tutorial on how to use underscore sto create your own them, refer to this wonderful tutorial.

CSS and Sass

I wanted to modularize my CSS using Sass, and underscore provides a sassify option. The CSS generated by Underscores is nicely modularized but it has its own conventions. Having seen the benefits of SMACSS and BEM, i wanted to go for BEM but i found it too much work especially as i was still navigating my way through the mysteries of WordPress and php. I admit i have an allergy to php, and occasionally i would curse myself as to why i just couldn’t use good ole JavaScript.

I set up a simple gulp task to build and watch SASS and a task to generate the final artifact.

Useful Resources

Resources i found useful for learning WordPress development:


In terms of hosting, i decided to go with GoDaddy for economic reasons. Setting up on GoDaddy was straightforward and within 5 minutes the first version of the site was up and running.

It took more time than i thought, but in the end i stuck through it and here it is in all its full current glory. The source code for the appropriately named AWESIM theme can be found on my github page.

Any comments or advice on potential improvements are always welcome.


Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn