Mike Knepper

GitHub Pages and Jekyll

January 9, 2014

I’m very excited to be launching this newest version of my personal Internet corner on GitHub Pages. I thought I’d provide a brief history of how I got here and why I think this solution is the best for me.

My first web hosting provider was A Small Orange, and I should be clear that I had no complaints with them. ASO offered a good price and had fantastic customer support. The first version of the site was a single HTML page with a few divs (about me, previous work, contact) that I’d show or hide using some Javascript that at the time I barely understood. It was a simple way to throw up a page for my application to The Starter League, and I believed (and still do) that ASO could not only help me in the short term but also be a great web hosting solution as my site became (hopefully) more robust.

During my crash course in Rails at TSL, I decided to turn my personal site into a Rails “app” to practice. I use quotes because it was nothing more than a handful of non-resourceful routes, a static PagesController, and some views. Still, it was helpful for getting comfortable with the Rails architecture, Bootstrap, and my second web host–Heroku. I had researched how to deploy a Rails to ASO, but I wasn’t able to execute prior to Heroku seducing me with it’s beautiful UI and intuitive and lightning-fast deployment process. Heroku continues to have my absolute full support as a web developer–I’d need a whole separate post to fully document how great it is–but as I grew as a developer, I became increasingly aware of how obnoxious it was to build my personal website on Rails. Considering I didn’t need a database at all and the only dynamic content would potentially be a blog (which didn’t exist at the time anyways), Rails was just unnecessary bloat.

Enter GitHub Pages and Jekyll. Despite discovering it only a week or so ago, I can’t remember how exactly I stumbled upon them, but I knew right away that this solution made the most sense. I use git and GitHub for all my projects already, so it’s very appealing to have this personal project there as well. I love writing in Markdown. Pages and Jekyll are incredibly lightweight. My content resides locally on my laptop and in the GitHub repository, just like my code. Pages supports custom domains, and is free. Seriously, what’s not to like?

I’m very excited about using GitHub Pages and Jekyll for my personal site. I think this solution will help me keep the site more up to date and publish blog posts more frequently. I know that all the back-end stuff shouldn’t distract me from writing content, but as a web developer focused primarily on the back-end side of things, I can’t help fretting about the underlying architecture of the site. With that now out of the way, I can spend more concentrated time writing and publishing.