I shut down the Linode serving geeksareforlife.com over a year ago, and had been meaning to get something else up and running here ever since.
This site is now running off GitHub Pages, and whilst getting something really simple up was easy, getting something that looked ok and was easy to maintain took a bit more effort.
If you don’t already know, GitHub Pages can host, and automatically build, Jekyll sites. I have never used a Jekyll site before, but had seen a few around. It took a few hours, but soon I had a site that I could be reasonably proud of (even if my posts are very few and far between!).
By far the most useful resource was this guide to github pages - it got me off the ground fairly quickly, and made the Jekyll docs make a lot more sense!
Once i had a basic site working, it was time to make it pretty. For this I turned (of course) to Bootstrap. I used the example blog template and tweaked it a bit. But not too much, I was too busy trying to get some other bits working…
Jekyll uses Liquid as its templating engine, so I was soon reading those docs to try and get some of the more nice-to-have features working (like an ordered list of categories, and automating which posts are highlighted on the front page).
In the Jekyll and GitHub pages docs they say that code highlighting is built in, and it was certainly outputing HTML that looked like it was intended to be highlighted code, but it wasn’t. Jeykll outputs a CSS file,
style.css, which adds the code highlighting, but at a price - it also introduces some other style changes that you probably don’t want.
After a little searching, I found two sources of CSS files that would do the code highlighting. The first is apparently what GitHub use. The second resource has a few themes that you can use, and you just need to drop the CSS file in to your layout.
Last, but certainly not least, I wanted to use a custom URL for the site, instead of the GitHub assigned one. The guide in the GitHub docs got this working well, but as soon as you use a custom URL, you lose HTTPS.
Enter Cloudflare. Their free account is more than enough a personal site liek this, and I found this step by step guide on how to set it up. It was my first time using Cloudflare, and I have to say I was impressed. Despite the warning that things could take a few hours to update, I found that certificates generated in a matter of minutes and the site moved to HTTPS soon after that.
After all that (and this post) I got to this, working, site. It might not be everything I want right now, but it is 80% of the way there, and I am trying to get projects off the blocks because a bit of momentum goes a long way!
Update, 1st May 2018: Github now has SSL for custom domains so you don’t need to jump through the Cloudflare hoops! I loved how Cloudflare ran, but I like simplicity better!