-
How I merged my 3 Jekyll site codebases into 1, as a public theme
Up until last week I had 3 blogs, each with their own GitHub repositories, copies of code, CSS modifications, and overall configuration. Whilst this worked, it was impossible to maintain or scale up. In this post I’ll describe how I merged all of these into 1, whilst also updating to the latest Minima version and making future improvements much easier to implement.
-
How to add a new social media link to Minima 2.5.1 and latest unreleased version (3.0.0)
Recently I migrated all of my Jekyll sites from Minima 2.5.1 (updated August 2019) to the latest version on GitHub (updated January 2023). This came with lots of new features, but also changed how social links are handled. In this post I’ll cover both the old and new method for adding new social links, as well as the technical details.
-
An introduction to GitHub & Jekyll's footnote functionality, and finding its limits
Way back in September 2021, GitHub added support for footnotes, an intuitive way to add footnotes or references to a page. The “Kramdown” parser on Jekyll has also supported footnotes for a decade. But… what are they actually capable of?
-
How to display complex content (lists, code, images) inside a table reliably in Markdown / GitHub / Jekyll
As anyone who writes in Markdown knows, it’s a very concise and easy way to write almost all content. However, tables can be a little bit awkward, especially if it includes multi-line content like a list! Here’s a quick comparison of techniques that can be used to solve this, and whether they work in plain Markdown, GitHub, and Jekyll blogs.
-
How and why the RuneScape Archive project scours old hard drives to preserve MMORPG history and restore lost media
Like a lot of people my age, I got really into RuneScape in the 2000s-2010s (maxed acc!), and nostalgia for it is why I originally got into Android development. Unfortunately, Jagex did not keep backups until 2012, so all versions of the game before then are lost… except for old caches on player’s computers! The RuneScape Archive project helps coordinate the recovery effort, and you can help.
-
Using a Slack workflow to streamline internal bug triaging & Jira ticket creation
Like many engineering teams, the Photobox app team lets colleagues from other departments report bugs internally via Slack. To ensure sufficient detail, we use a Slack workflow to standardise bug reporting and simplify Jira ticket raising. Here’s how to implement something similar.
-
Migrating from Chrome's Password Manager to LastPass, and tidying up 10+ years of password clutter
I’ve been using Chrome since its 2008 release, and rely on the password manager daily. As you might expect, after 14 years I built up a lot of saved passwords (1000+)! However, migration to a proper solution is long overdue, here’s how I did it and tidied up my passwords at the same time.
-
How minor bugs and security flaws can erode user trust: Examining my unfortunate experience with Bloggie.io
Whilst wandering through GitHub recently, I discovered the Tokyo-based Bloggie.io, a markdown blogging platform that gave a great first impression. Unfortunately, after an hour or so of clicking around, I realised my enthusiasm and trust had completely eroded. But why & how?
-
How to migrate a Jekyll Minima blog from Universal Analytics to Google Analytics 4 (UA to GA4)
When I first set up my Jekyll blog with Minima, it had built-in support for Google Analytics. Great! However, only using a legacy “Universal Analytics” ID seemed to work. This was fine for a few years, until I discovered the system is being sunset, and all users need to move to Google Analytics 4 ASAP… Here’s how to do it.
-
Using gitStream for 'Continuous Merge': automatically approving safe PRs, assigning reviewers, estimating review time, and more
gitStream is a GitHub app that aims to improve the PR review process, a common bottleneck during development. It aims to extend CI/CD to include CM: Continuous Merge. In this post, I’ll explain what it is, how it works, and what it can be used for.