Today marks this site’s official switch over from Wordpress, a CMS I’ve utilized for almost 12 years, to a more light-weight and agile platform, Jekyll. I’m looking forward to a long a fruitful relationship with something a little leaner and meaner than Wordpress, and hosting things on a personal Github repository via Github Pages is a welcomed solution, but I’ll be damned if getting things off the ground wasn’t the slightest bit confusing and frustruating.
For you see, almost every tutorial available for setting up Github Pages with Jekyll also acts as a supplimental lesson in how to get started with Git and initialize/synchronize your first Github project. Not such a bad thing in and of itself, a refresher is always nice, but these popular guides take a very gentle handholding approach which barely scratch the surface of what Jekyll is doing under the hood, not to mention they all unload the heavy lifting of configuring your instance and instead instruct you to branch the gh-pages repo. Little did I realize that these guides were taking me through the exact opposite approach I wanted to follow for my own site.
As you can probably tell from my recent Github history, I made many attempts at getting Jekyll up and running via Github Pages, approaching each install from a slightly different angle while following these tutorials (initializing my repo locally, initializing my repo on Github, not branching gh-pages, branching gh-pages, throwing my laptop across the room, not throwing my laptop across the room). No matter what I did, things didn’t seem to work correctly. The overall theme seemed to be that initializing my repo and installing my instance locally lead to build errors when I’d sync to Github. Additionally, though gh-pages adds some bells and whistles to make your first-time Jekyll experience painless (as if there’s any pain in working with Jekyll in the first place), this repo is not essential to getting your Github Pages site off the ground. In fact, you don’t even need to install Jekyll locally in order to get your Github Pages site running, a detail that would have been useful at the onset.
Nirvana came to me in the form of an alternate tutorial courtesy of Johnathan McGlone titled “Creating and Hosting a Personal Site on GitHub”. Not only does Johnathan take you through the basics of what Git and Github are all about, he instructs you in crafting and serving basic HTML via Github Pages before helping you build the skeleton of your Jekyll instance, taking you through the necessity of each directory and file involved in the process. This not only helped me get a better sense of where Jekyll expects specific files to be, but it helped me understand some of the tags and variables I’ll be encountering in my site build. By the end of the tutorial I was left with a minimal web template that I could start slicing, dicing, and customizing as well as some direction on next steps for adding nifty features to my site. I have to hand it to Johnathan, his tutorial was easy to follow and didn’t rely on branching someone else’s work, code which I have no context nor need for, and left me with the one thing I was looking forward to throughout this process: a minimal base of a Jekyll site from which I can start to modify and build out my own template.
This site isn’t much as of today, I’ve got a little more work ahead of me than simply building out the design of this template (more to follow in another post), but hey, it works.