Nerdworks Blogorama v2
This blog started its life way back in 2006 when I suddenly decided one day that I needed a web space of my own. I cranked out an ASP.NET based website, got myself a domain and some hosting space and one fine day the site was alive! Over the years I changed hosting providers a couple of times before finally moving in to its current home on Microsoft Azure. This is what the site looked like for almost a decade:
An aesthetic refresh was overdue and I also wanted to move away from my home-brew blog engine to a more contemporary implementation. After much consideration, hard work and toil I present to you ladies, gentlemen, boys and girls - this 2nd version of Nerdworks Blogorama! In keeping with the design zeitgeist of the day, the blog now features a spare clean typography driven design and I've kept the features down to a bare minimum (all there is is a search box really) and have let the content take center stage. I hope you like this!
So what is this built on?
I hope to provide some insight into how this new incarnation of the blog works over a series of blog posts the next few days. Right now though, here's some information on what some of the key pieces are:
- The site runs on the Ghost blogging platform which is an ExpressJS based blogging framework built on Node.JS. I forked the Ghost Github repository and made a whole bunch of tweaks and changes to get it to work the way I wanted.
- I used the excellent pandoc tool to convert all of the HTML from my old blog into markdown that I can use with Ghost. I had to do a little pre and post processing on the content to scrub the posts a bit. More on that in a separate post.
- I integrated the Disqus commenting system and wrote a couple of utilities to export all the comments from the old blog into the custom XML format that Disqus requires, in order to import them into the new blog.
- One of the requirements I set myself when starting on this project was to make sure that all the existing links continue to work just fine. A good part of the customization I did on the base Ghost code base was in enabling additional routing logic for my old .aspx URLs (you don't want to end up losing all the good Google and Bing karma that you've built up over the years).
- I used a forked copy of the Ghost Vapor theme for the layout and visual styling. Again, had to make a set of changes to incorporate everything I wanted in the UX.
- I setup a virtual machine on Azure to host an instance of the absolutely fantastic open source search and analytics system Elastic Search. I then wrote a little program to submit all of my existing blog content to the search engine and had it indexed. And finally, I modified the Vapor theme and Ghost to add support for search. A full treatment of how all this works warrants a separate post in its own right.
- And finally I also modified the Grunt task to add support for automating building and deployment of the site to Azure websites.
So there you have it. If you want to drop a note to me you can use my spiffy new contact form to write an email. Or you can leave a comment below of course. So long!