As of last week I've moved this website from Github Pages and into a custom git repo on Digital Ocean (DO). Been sitting on the idea of having complete control over how my website is served and freely having the choice of Jekyll plugins (autoprefixr is one example) and only now have completed it.
Firstly my setup on DO is an Ubuntu server with nginx, jekyll and git installed. Before setting up what I need for quick deployment, I pointed my domain to DO so I could set up lets-encrypt. Let's Encrypt is a free SSL certificate authority for developers. Since HTTPS is essentially a must for every website these days I wanted to make sure I had control over it instead of using Cloudflare as a shield.
When that is done I then followed a tutorial on how to deploy Jekyll from a custom git on a DO droplet. I did try to setup my Github repository to push onto the droplet but this didn't work out for me! Intead having my own local git repository gave me even more control (or more room for failure!).
For me it is being able to setup and fully manage the server and Jekyll. On Github pages there is limited available plugins for use with Jekyll, my favourite one of choice is autoprefixr.
Another is nginx's capability to utilise gzip. Gzip allows the server to compress the source files further to be served to the browser. The technicalities... I'm not sure, but it works!
So with nginx, jekyll and git I've got my website up and running on a DO droplet. I highly recommend trying it out as it gets you familiar with ssh command line access to a server and managing it.