It’s shiny and new again!
After allowing my blog to remain unchanged for over a year, I’ve finally updated its format, look, and even hosting!
The Old Format
The old blog was implemented as a Lift app. A lot of content (i.e. the posts) was generated on-the-fly when you requested a page. Lift is a great framework overall, but it just wasn’t the right fit for my blog. In a word, it was ‘overkill’.
- A Lift app is a
.war
file. It has to run inside a Java EE servlet container. - A
.war
file is self-contained, including all of the libraries and resources it needs to run. Lift is a relatively large framework with a lot of dependencies, which amounts to a tens-of-megabytes large file; the actual blog code and resources probably accounted for under 5% of the full app. - Lift is a pain to deploy. I had hoped to use the popular heroku platform, but found that it was more geared towards Play and other apps that have a “main” script to run.
- I eventually settled on CloudBees, a platform geared for Java EE. Unfortunately I ran into issues trying to get my app to build on their platform, which forced me to have to upload the whole
.war
file every time I wanted to update it.
To sum up, it was too big and slow to work with.
The New Format
I learned about Wintersmith through a coworker who uses it in his own personal blog. Wintersmith is a static site generator that runs on node.js. It aims to be extremely flexible, but it comes with enough functionality out-of-the-box that I quickly had a working site. I kept my posts written in Markdown, and Wintersmith parses them, reads some Jade templates, and whips up a bunch of .html
files for me. I use some Grunt scripts to automate the build and push files to their new home in the Amazon cloud, and think to myself “wow, that was easy”.
The full blog as it exists at the time of writing is under a megabyte. There’s no ‘framework’ that it needs to run, and AWS hosting is pretty cheap with now ‘slowdown’ factor when your app hasn’t been ‘poked’ for a while.
The New Look
I spent some time reworking the style for the site, and learning LESS in the process. I wanted to get away from the generic Twitter Bootstrap look that I had started out with. I took some inspiration from the Wintersmith ‘new project’ theme, but I think I managed to make it my own.
Still to Come…
Hopefully I won’t go through another year-long dry spell without posting. I already have two topics queued up in my head that I want to write about. It’s just a matter of finding the time.