This article will explain how the blog is organized at a technical level, and show how I implemented various IndieWeb features.
Earlier this year I migrated this blog off Wordpress to the Hugo static site generator. Over the last six months I’ve been gradually sculpting and shaping this digital place to feel more like my cozy corner of the web. This was partly motivated by withering social media, partly inspired by the IndieWeb POSSE philosophy (Publish on your Own Site, Syndicate Elsewhere), and partly driven by my desire to do more with the space like embed Javascript demos and have footnotes and endnotes.
So one of the big new features is that I have a “shortform” section on the blog, which corresponds roughly to threads I would post on Twitter or Mastodon. Syndication automatically converts those to full threads on all platforms, with a link back to the website.
The main constraint I had for myself when doing all this was to avoid managing a continuously running server, and certainly not deal with self-hosting. As the rest of the article shows, this means I rely heavily on GitHub Actions to run automation, as well as Netlify to trigger deployment webhooks and various third-party services for webmentions.