My Profile Photo

Iris on Tech

I'm Iris, a non-binary (they/them,she/her) electrical engineer with a passion for reverse engineering, cryptography, programming and just generally figuring out how things work. I frequently fully or partially take deep-dives into a topic of interest that isn't explained well or in detail online, and I hope to be able to document that knowledge here finally.

Github Pages is still weird

So in classic distracted fashion I started writing the FRC CAN bus post that will hopefully be the outcome of today and I managed to briefly gain some hope that Github pages was better and then immediately those hoped were dashed.

First of all, I went to locally generate the site so I could work on the draft post of my next entry, it helps to be able to make sure everything lays out correctly and generates right and everything, especially in this case because I probably will be including some syntax highlighting for the first time, which will undoubtedly end up causing a great internal battle between using markdown syntax for a highlighted block or using Jekyll’s liquid tags for highlighted blocks. I probably will use markdown if that’s an option because it seems cleaner here.

Anyway I noticed my console spit out this line:

add gem please

Which okay neat maybe that module adds some support for however Windows lets you subscribe to file change events, nothing exciting and I went to go add it. Extra weird was that I felt for some reason like this repository lacked a Gemfile when I originally cloned it. Now that I opened it, it contained a single module import, a gem called github-pages, looking that up it seems to be some kind of github-pages super-module that not only adds support for doing a health check on the DNS config for your pages, but also will grab all the dependency requirements used by it.

Makes sense… I guess, although Github doesn’t tell you to setup this module to bootstrap your page, it just tells you to generate a normal Jekyll site directly (using the same Jekyll version as Github uses) and then enable the module which is part of the generated Jekyll page but commented out by default… strange.

Things already worked just fine, just pushing this site up to Github built it correctly as I hoped and no fancy tricks were required (so Github’s docs are both wrong and overcomplicated), but I wanted to run the health check since Github won’t properly serve HTTPS on my page due to an unspecified configuration error that doesn’t seem to affect anything. (This might just be a byproduct of using Cloudflare in front of my site, which means I have Cloudflare’s SSL service on, which means that Cloudflare is the actual certificate provider for the final browser connection).

Of course that didn’t work:

no curl sorryz

I tried manually installing a curl gem, which did install but then didn’t change anything so I just gave up. Maybe this is part of doing this all on Windows rather than booting into a seperate Linux partition just to edit my blog, who knows.

not according to your documentation Github

So yeah, Github still has a weird, overcomplex, and broken setup for Jekyll on Github Pages. They seem to have about five different approaches and none of them works completely right and oddly the most functional approach was installing the completely unrelated latest Jekyll version, have the Gemfile with just the github-pages gem, and launch using bundler without specifying a version. What a mess. Now back to writing an actually interesting post.