I have been searching for the right tool for creating my own personal website for a while. When you have a full time job, and young family, it’s not always easy to find the time to learn new things.

Way, way back, I decided to start building my own website. It was regular hand coded static HTML pages, styled with CSS. The whole site was pretty much pictures of my guitars, and some examples of graphic design (done badly). That’s it.

It was around this time that I started taking a keen interest in photography. At last, I found some content that I could put on my site.So I built my website in C#.NET Web Pages driven from a SQL Server database. Once I got fed up with the design, I started again from scratch, and for some reason, I decided to rewrite it in PHP and MySQL and paid a lot more attention to the design and to make it mobile-friendly. I even wrote two blog posts. Great.

But all the endless tweaking, redesigning, and the lack of focus on content made me lose the drive to continue with developing and maintaining my site. On the plus side, it helped my learn a lot about design and about technologies and programming languages that I’d never used before.

After these failed attempts, I wanted to keep things simple. I didn’t particularly want to use a CMS like WordPress or Drupal with a learning curve of its own and features that I wouldn’t use. I wanted something lightweight, and something that I’d designed and built with my own two hands.

Jekyll to the rescue!

Jekyll is a static site generator. You build template(s) for your pages, and write content using Markdown (which converts plain text into HTML) and Jekyll will generate you a site.

It’s pretty much the perfect tool for creating a lightweight blog or website. That said, I do web development for a living, so I’m fairly comfortable doing the techy stuff. It’s probably not best suited for people without the knowledge of hand coding websites.

Given my background, one of the big pluses about using Jekyll for me is that I know exactly how my site works. This is something that I wouldn’t get using some of the more popular CMSs like Wordpress or Drupal. I’ve not really had much of an inkling to delve into some of the more popular platforms such as those. I’ve always felt that they are overkill for what I wanted to achieve with my site.

Websites can be hosted using GitHub Pages for free. The site is hosted directly from your GitHub repository, but where it gets really cool, is that it also supports Jekyll. So when templates are changed, or posts are added, the site is regenerated automatically and is live. Very nice.

This means that I can make changes on the go. I can write new posts in Markdown using iA Writer on my iPhone or iPad, or make some tweaks to the code in Coda for iOS, and just push those changes to my GitHub repository from where my site is hosted.

What’s next?

I’m really keen to keep this version of my site up to date. I’ll (hopefully) be writing blog posts every so often on topics of design and development (I’ve already got another post in draft). But I may throw in a couple of posts about photography and travel too.

I want to find a good way of creating a photo gallery of some of my favourite shots. I’m not very familiar with Jekyll yet, so I’ll try and make a blog post about how I go about it and what I learn along the way.

There are some minor bugs around the site’s responsiveness, which will need to be fixed soon, but I think it’s finally time to put this live. The other day, I found a quote I really liked… Done is better than perfect! :-)