My Jekyll Setup (i.e. Dust Settling)

I finally got around to finishing up switching this site from tumblr to Jekyll, and am really excited about it. It feels good to have every aspect of the site fully under my control.

Technical Details

I ended up with my own fork of Jekyll, because I wanted to write the layouts in haml (and potentially the pages and posts too), and wasn’t happy with any of the other implementations that I found out there. Though, I did cherry pick a bit from other forks, especially Henrik’s, including some features like an archive page. I also added a migrator to pull down all my posts from my old tumblr site, and added a Generator to create the tag pages.

I hacked together a simple process for publishing the site. Basically, I store everything in a git repo, edit and test it locally, but have a clone of the repo on my web server box. When I push into that clone, there is a post-receive hook that runs Jekyll to generate the site, and then copies to the proper place to be served by Apache. It’s nothing terribly fancy, but it’s been working fine so far.


It’s probably pretty obvious that I am not a web designer, but I did my best to create something clean and simple. It’s important to me that the article pages don’t have a lot of clutter, so I stripped the typical header and sidebar cruft that most blogs have on every page, and instead just put that on the front page. Furthermore, instead of the front page being just a dump of the recent posts, I wanted it to be a nice overview of who I am and what this site is all about.

I stuck to my goal of not using any images for the basic layout/design, in order to make everything easy to tweak and/or totally change later. Except, I did add some icons (based on a nice set from Eli Burford) for the links to my activity on other sites (but, again, those only appear on the front page).

The title and headers are set in a nice-looking free font I found called Yanone Kaffeesatz, which I’m using via @font-face. I think it gives things enough style without getting too crazy. The downside is that they look pretty terrible in older browsers that don’t support @font-face, but I think I’ll just have to live with that.

Since I can re-generate things so easily, I plan to continue iterating on the design as I get bored. I also plan to take the opportunity to play around with Javascript a bit.

Going Forward

My plan is to start writing here more often. I’m hoping the challenge of it will help me practice my writing skills a little bit. It turns out that writing code all day isn’t exactly the best way to improve my prose, so this should be a good change of pace. I will still keep my tumblr site, which I renamed to, as a place to post quick things (and, actually, it’s turned into just an Instagram dumping-ground these days).

Side note: Having Control

I was forced to rename my tumblr site because I wanted to put up 301 redirects for my dev-related articles from to this site, so that Google updates its results to point here (surprisingly, some of those articles — especially the Xcode build tricks — get a fair amount of hits). But, I couldn’t figure out a way to put 301 redirects from a tumblr site. So, instead I switched to hosting that domain myself so that I could serve up the necessary redirects. But that meant I had to come up with another domain name for my tumblr site.

This is an example of why I’m happy to have this site back fully under my control (though, at least I was using a custom domain name with tumblr, so I could do this workaround). The control issue was a much bigger driver for me to switch away from tumblr than any of their recent uptime problems. Plus, how sweet is it that from here on out, I will have all the revisions to this site stored in a git repo, with the content written in plain text using markdown or haml?