Max Glenister

#jekyll

18 posts across 3 categories

2026

  • PHP2Shell and the case for building boring sites

    From Wednesday 21 October to the end of the weekend, I was patching an old VPS and moving a handful of sites onto a new one. PHP2Shell finally made the decision for me. This blog carried on regardless, because it’s just files. The sites I’d built with a CMS were another story.

    • 4 min read • 2 interactions
  • Chasing build speed on Jekyll 4

    I’ve been putting off upgrading from Jekyll 3.10. Partly late-adopter habit, partly because my setup worked fine, and a version bump seemed simple enough. I should know better by now. It mostly was.

    • 4 min read • 1 interaction Part 4 of 4 · How this blog is built
  • Enriching webmentions from third-party platforms

    I keep finding new gaps in my webmention implementation. Mentions coming in from Bluesky, Lemmy and Lobsters were showing up with no author at all, just a blank avatar and an empty name. Reddit and Hacker News bookmarks fared a bit better, with a username attached, but got flattened into a generic “bookmarked” icon with no indication of where the post had actually been shared. Lobsters mentions also carried the wrong published date. None of these felt like they were pulling their weight compared to a proper webmention from a blog or Mastodon.

    • 8 min read • 4 interactions Part 4 of 4 · Webmentions
  • Sending webmentions on deploy

    I’ve spent a fair bit of time on the receiving end of webmentions, from adding support for them in the first place through to fetching them at build time and rendering them server-side so the discussion section doesn’t flicker in over JS. What I’d never actually done was send the other half. Every link I’ve ever made out to another IndieWeb site has just sat there, silently not telling anyone I’d linked to them.

    • 3 min read • 2 interactions Part 3 of 4 · Webmentions
  • Baking webmentions into the build

    Back in 2022 I added webmention support to this blog. The implementation worked but it was entirely client-side, so the page would load, JS would fire, fetch from webmention.io, and render the results into the DOM. With JS disabled or on a slow connection, the discussion section was just empty. It worked well enough that I didn’t touch it for three years, but the rate-limit situation had been silently catching visitors out and eventually I started pulling at the thread.

    • 5 min read • 2 interactions Part 2 of 4 · Webmentions
  • Moving to GitHub Actions (and adding .txt posts)

    This year I moved the blog from GitHub Pages’ built-in Jekyll to a GitHub Actions workflow, then added .txt URL support for posts. Inspired by Terence Eden’s blog post about text-only websites.

    • 4 min read • 4 interactions Part 1 of 4 · How this blog is built

2023

  • The Movies I Watched in 2022

    Through 2022 I kept track of most the movies I watched. In this post I’ll talk about how I took that data and, combined with the OMDb API, used the data with Jekyll.

    • 4 min read

2022

  • Adding support for Webmentions

    I’ve added Webmention support to the posts on this blog. Webmentions are a method for websites to know that they’ve been linked to (or mentioned) from elsewhere on the web.

    • 3 min read • 37 interactions Part 1 of 4 · Webmentions

2015

  • Jekyll Antipatterns

    If you’ve used any framework or language for long enough, you might find that you’ve got parts of your code that are not using the language in it’s current state to it’s full potential.

    • 5 min read
  • Extract the first image from a post in Jekyll

    I decided that I want to show an image next to posts in my “article list” type pages in Jekyll. It would be tedious to go through each post and add a piece of Yaml frontmatter to indicate a “post image” (even though I had this at one point in the past!), so how could I automate this?

    • 1 min read

2014

  • Using "jekyll-redirect-from" with GitHub Pages

    Last week GitHub finally added support for some useful plugins to their implementation of Jekyll used for GitHub Pages. The most notable of these is the support for the jekyll-redirect-from plugin.

    • 2 min read
  • Jekyll for dummies

    2014 has been heralded as “the year of flat-file websites”. This blog in fact uses Jekyll to generate the very blog post you are reading. I’ve been using Jekyll in some form since early 2012, and for me it works perfectly as a means to publish content.

    • 10 min read

2013

2012

  • Video integration with Jekyll

    Adding some functionality to Jekyll to allow integration of YouTube videos is a pretty easy task. First we need a couple of things: A nice video hosted on YouTube The embed code for the video A Jekyll theme that supports video embedding

    • 3 min read
  • Moving away from Twitter Bootstrap - Hello new design!

    I decided it was time that I gave some attention to the design of my Jekyll-powered blog. I’ve been using a slightly modified version of the default Twitter Bootstrap theme since I moved to Jekyll, and that’s just not good enough. I’ve created the new theme from scratch, and I’ve thrown in some PJAX wizardry to make page-loading fancier. Gone are the old post-banners, and thumbnails (which to be honest I was adding just to make things look a bit less-boring), say hello to the new, larger hero banner for the latest post! You might notice some fancy effects on the homepage when you scroll, this is accomplished with a bit of jQuery and css3 to scale the title while parallaxing the hero banner. I’ve also made a forray in to a responsive layout, so if you’re viewing this on a screen smaller than 960px wide you will see some slight differences. But it’s not that different. Obviously the fancy stuff is dependant on your browser, but it should atleast look nice for anybody using Internet Explorer.

    • 1 min read
  • Adding more post metadata to Jekyll with YAML

    NB: This flurry of content might be shortlived, but for now I’m excited to be posting again so shush! Jekyll, as it turns out, is a really nice blogging platform static site generator. One of the nice things about it is the flexibility. In my current Jekyll set up I’ve added metadata to the YAML for posts, so that I can optionally define a post cover (or image, if you’d prefer) and a width for the cover.

    • 2 min read
  • On migrating from Tumblr to Jekyll Bootstrap

    I’ve been toying with the idea of moving away from Tumblr for a long time now, having had my own share of problems with Tumblr downtime.

    • 5 min read