The last days, I finally set myself to something that was long overdue!
After years using Jekyll hosted on Github Pages, I decided to move away from it and am now using Ghost on a Digital Ocean droplet. I originally followed the advice of Aiden on Twitter, and quickly got convinced :).
There were a few reasons for me to go. Here is a non-exhaustive list ^^.
HTTPS and Subdomains
The first and main issue might actually be coming from me. Github allows you to use custom domains names, which is pretty amazing. Except I never quite got HTTPS to work fine, leading into certificate issues.
I used Github Pages to avoid the server costs, but my current provider doesn't allow for HTTPS certificates without a server, leading to a non-solution. So my website stayed on HTTP for way longer than it should have.
Another side effect of using Github pages comes when you have other side projects. When using custom URLs with Github for your main pages, Github will also use that custom URL for your other projects.
The issue with this is that all my projects were now redirecting to lengrand.fr URLs, leading to lots of issues with dependencies not being found (dist folders, ...). I have now split lengrand.fr for my blog content and emails, and lengrand.dev for my side projects :).
The Jekyll minimal design was awesome a few years back. Now it felt a little aged. I definitely do not have the time (not the skills yet) to build my own responsive themes from scratch, and I never quite found another Jekyll theme that appealed to me.
Looking online, I quickly found the Horace ghost theme and really liked it. And there we are :).
A Jekyll blog is quite nice, in that you basically only need to write a Markdown file to get a new post online. Pretty much everything I write is in Markdown format, so it has never been an issue for me.
Now, it wasn't originally something I was really searching for, but it is nice to have a user interface to change your settings online, such as your bio or Twitter card settings. Extra bonus for me!
One of the reasons for me to go for Github pages back in the time was the extreme easiness of being able to use Github repository as synchronization tool. You essentially have your whole blog available offline. It was super convenient back in the time, as I was spending up to 3 hours a day in the train.
Now, I still do want to be able to write articles offline. But this is not a problem, since ghost supports Markdown input. I can simply write my articles on a file somewhere and upload it later. It is actually very seldom that I change the actual design of my blog, so I don't actually need to have everything running locally. And if I ever needed, I could still do it using ghost-cli.
Costs and Setup
Now, there is one drawback to hosting my own blog now. Using the cheapest Digital Ocean droplet, I'm in for 6$ a month (5$ + 1$ for the backups). It does represent quite some money in the long run.
However, I got totally seduced by easy, and almost magical, the whole setup was using the marketplace. I mean honestly, using the Ghost droplet on the marketplace you are literally up and running in 2 minutes, HTTPS certificates included.
The experience was just crazy good. Hats off, Digital Ocean.
So that's it, I renewed my blog. Took about a week total, and there were a few quirks along the way. But this will be a story for another day :).