Building the Blog

I don't particularly like rebuilding things that I've already 'completed', building the new felt redundant at times; those worries are being dispelled right now as I type. The last iteration of the site supported portfolio posts, and it felt a little lacking that while I had my own space on the internet, I had built it in a way that only allowed one type of content to be posted up.

I spent hours tweaking Hexo to support two types of post category, eventually I decided a less opinionated generator was the only way forward. To that end, I found Metalsmith, an entirely pluggable static site generator. The change wasn't radical, in fact they both share a lot of similar functionality, and a lot of the advantages of Hexo are also present in Metalsmith, for example:

  • Easy GitHub pages deployment.
  • Secure.
  • Fast.
  • Asset management is native.

These will be shared by almost all static site generators, and it's great! There's absolutely no requirement for a monolithic solution like WordPress, I don't need to worry about constantly updating any plugins, breaches, or spam bots. The functionality drawback just isn't there with services like DISQUS providing comments that would usually require a non-static solution.

Forging Iron

I'm not a huge fan of Yeoman, but it takes a lot of the time consuming logistics out of starting a new project in relatively unfamiliar territory. That does come with the caveat of being entirely dependent on the quality of the generator used, but Ironsmith proved to be an extremely solid choice.

After using Ironsmith you're in a position to start writing your content straight away and get publishing. You'll notice that has a lot of extras built in to make it a little more personal. The changes include:

  • Blog/Portfolio separation, each post type is unique.
  • Portfolio cover images.
  • Nerdy greetings changer.
  • The bookshelf.

Why a Static Site?

As mentioned earlier, static site generators are fast, secure, and easy to deploy. Those are great advantages, but nothing is better than the developer experience in my opinion. If I'm working with WordPress I'm dealing with PHP, databases, reverse proxies, and other server side nastiness. If I build a static site, I'm dealing with technologies I'm more familiar with; JavaScript, SASS, and HTML. This leads to me being able to tweak more without worrying about being constrained by software, which lets me have a site that I can actually call my own.

I would definitely recommend looking into static site generators for yourself, they're literally free to get going and the performance is top-notch. As I've said, there is barely a functionality compromise, and with GitHub pages the most notable problem is the lack of SSL. That's still not a reason to completely disregard them though!