In an effort to make my online presence less dated and more organized I’ve made jakescruggs.com a real site and not just a forward to a Blogger instance. GitHub pages was so dead simple and free-ish (if you want the source control of your site private then you need to pay for a private plan) that it would be hard not to use it. I’ve been interested in the generating html static sites movement for awhile now and here’s how I saw the choices:
- Take Jekyll and the limited plugins GitHub Pages supports and get deployment every time I push to GitHub with no servers to maintain.
- Roll my own hosting solution (AWS) with any damn static generator I like
- Netlify which has a pretty nice free plan www.netlify.com/pricing
Ultimately the fact that I already had a GitHub private plan, am a longtime Ruby programmer, and I figured the cost of change could safely be deferred until a latter date. I went with GitHub Sites and Jekyll (which is written in Ruby). The other static site generators features and speed didn’t seem compelling.
Generally I’ve been delighted with the ease of conversation from Blogger to GitHub/Jekyll. Blogger has a nice feature whereby you can download all of your text-based content as one xml document. I found a bunch of 6-8 year old Blogger xml to markdown projects that were a bit out of date but this Node based one did a very good job: github.com/palaniraja/blog2md
After that it was just figuring out some minor syntax things and I was pretty much done except for pagination. The state of the GitHub official supported pagination plugin is a bit weird right now. The newer re-write of the standard is not supported by Github pages. Documentation for the old paginate plugin is spotty and slightly different than the newer one. I found that creating a pagination list tricky given the instructions at https://jekyllrb.com/docs/pagination/ which suggested this pagination link producing snippet:
Unfortunately the first page link is wrong when on any page above 2 so I went with:
Not too terrible to fix. Like I said: The Jekyll/GitHub Sites experience has generally been a delight.
Getting my url to be jakescruggs.com instead of jscruggs.github.io was a snap. I followed the directions to configure Hover and GitHub created a CNAME file for me in the project. I was done in minutes.