I setup my github pages hosted blog site (this one) to be running HTTPS by using Cloudflare. There is no cost involved.
Github pages now automatically gets a LetsEncrypt certificate for you! No need to use Cloudflare to do this.
I used this article Cloudflare blog but didn’t setup any rules yet. The concept is that Cloudflare registers a certificate for you for free.
Point DNS to Cloudflare
I use DNSimple to register my domain name then pointed it’s DNS to Cloudflare.
Enforce HTTPS via Cloudflare
Don’t use Cloudflare’s Cache
We can disable it for 3 hours like this Or disable it completely using a page rule: