So I have just spent most of the past week preparing the migration of my main site to Jekyll.
It actually all started by me wanting to get rid of Google Analytics. With all the current talks around GPDR, I wanted to have a clean site. I didn’t want to have this cookie confirmation bar and the process to set up Google Analytics to be compliant was way to complex for me to want to care. Especially given how little I was using the platform.
So day one saw me getting rid of the GA tag, running a few GPDR compliance tests and calling it a day.
Or so I thought…
Picking up an old project
See, I had been wanting to migrate my main site out of Wordpress for litteraly years.
I never found out if that was my server, my installation, my settings, a cache issue or whatever that made my site slow. It was kinda acceptable on the user-facing side but a huge pain in the ass on the dashboard side. To the point I was looking for excuses not to write there because I knew it would just take me forever to get things started, then get too many error messages while writing or editing articles. And I was not using comments or any scripts.
On the other hand, this site as well as it’s book-related sibling were running fine on Jekyll.
And I liked the concept of static sites. My first foray into coding was hand-coded HTML pages in the Windows Notebook, hidden from my parents.
I like the flow of writing an article. In VSCode where I spend a good part of my days anyway. Push to GitHub and voila, it’s published.
And I started working on it, what, 4-5 years ago. But due to the above setup issue, any standard migration process stalled and failed. So I started coding my own blog processor. Then had to deal with all the edge case and data cleaning tasks. And I never finished that.
So last week, after the whole GA thing, I tried once again to download an archive. And it failed. Again.
Migrating
Until I remembered that Wordpress has an Export
tool which basically generates a sitemap with only links to the actual content which can then be ingested in another install. Perfect. Generate this.
In the meantime, I setup a local Wordpress install using WAMP/MAMP and got ready. I let this local install ingest the generated export file overnight and was happy to see the site up and running in the morning. As for the transition to Jekyll, nothhing more than using benbalter’s Wordpress to Jekyll exporter plugin and voila again, a usable Jekyll site.
Minus minor adjustments.
See, vanilla export brute-forces the output. It works extremely well but reveal what a shoddy job I had done in the 8 years my blog had been on WordPress. Countless Screenshot
or unnamed
named images, deadlinks and so on.
So I started cleaning that.
Then I started updated some links, updating some posts to add some contexts or updates since the article had been published. In a word: running the site as I had first intended.
Down memory lane
It also made me realise how many article I had written in the first years of the blog and how many types of content I had try for some time.
I also scrapped about a third of the article. A lot of those were those linking to the videos I had made at the very beginning of the blog. And as I hated seeing my face, those were deleted a long time ago but the article remained.
A thing with covering news is that I would love to have the time to update a lot of the topics I addressed. What happened to this thing that was announced 6 years ago ? Has it actually been implemented ?
Discovering and enjoying Github Actions
This project on the main site was also for me the occasion to learn and apply Github Actions. This website as well as 1f4da are were running on AWS Amplify. That was fine but I wanted to get away from it.
First of all because my starting point was to put some distance between my work and the GAFAM.
Second, and maybe main reason, is that no matter how many times I looked into the admin pages, I could never find in which S3 bucket the files were stored or where the actions could be checked or the whole routing logic… So if any issue occured, I had no way to resolve it… That’s fine for a small project but not for my main site.
So I dove into Github Actions to get it to support Ruby, Jekyll and to upload the output to my hosting.
And in the end, everything works fine. And I depend less on Amazon.
Everything works so fine that, since then, I also moved this site and 1f4da to Github actions and my own hosting.
Final word
There are still a few things I need to adjust on the site before putting it in production but I am happy to finally close this loop that had been open in my head for the past 4-5 years.