Blog Update Addendum

September 8, 2020

I had a bit of a breakthrough with this blog that requires an update to the previous update. I was struggling with how to make my Tufte-style theme work with GitHub’s automated Jekyll build; the Tufte theme doesn’t adhere to GitHub’s “safe” plugins list, so it won’t build in their system. It almost works – there’s really only a couple features that seem to prevent it from working, but they’re pretty integral to the look-and-feel I want from the theme. It took me a couple trips down blind alleys, but now I have a working solution.

You can build the site on your own machine, and then push up a branch or repo consisting of the static site, and that works. However, it means you miss out on what I was really hoping would be a great feature of using GitHub – the ability to edit a blog post directly in GitHub’s web UI, and have the blog automatically regenerate. That’s “baked in” to sites using one of the (many) “safe” themes. So how do I achieve the same thing, without using GitHub’s processes?

Well, it’s just an example of Continuous Integration (CI), so why not use one of the existing CI tools, like Travis? I’m not building the site frequently, at least not compared to any real code development project that Travis is typpically used for, so the freebie version should be plenty for me. OK, Travis would do this just fine but this is a private repo, and the free version of Travis only supports “open source” e.g. public repos. The paid version is not cheap, at about $60/month; too much for just this blog!

But, aha! GitHub now has “actions” and that looks quite plausible. It took me a few minutes to have it up and working :-) Any time a file in the site changes (whether I push a change from a remote machine, or edit it right there in the browser) the action is triggered; it fires up a Linux VM, installs all the Jekyll stuff needed, pulls in my git repo for the site, and does a jekyll build on it. The resulting static website files get put into a gh-pages branch, and that gets pushed up to GitHub, from which this site is served up to you. Voila!

So far it’s workng great. It takes about 2 minutes to build the site, including all the VM stuff, and if it breaks I get an email.

The remaining missing piece is really a “nice to have”, and that is a good iOS GitHub client with a decent built-in-editor. There are a couple options out there that I will try, and report back on.

Blog Update Addendum - September 8, 2020 - chad r. frost