Blog

Recreating Search with Eleventy v3 and Netlify

While upgrading to version 3 of Eleventy, I discovered that the official serverless plugin was no longer supported. That was how this site's search feature worked. To finish the upgrade, I needed to write my own serverless code and plugin to manage it. While the details of how the search feature can be found in the old post, this one walks through the code to use 11ty's programmatic API and build a serverless function for Netlify.

Continue reading...

Ordering Using Stern-Brocot Trees

Ordering and sorting items in a large list seems like a straight forward task at first, but the more you dig in to the problem, the more issues reveal themselves. Here's a deep-dive into how Mythic users Stern-Brocot trees to handle people setting their own page ordering.

Continue reading...

Looking for me on Facebook?

This is a real quick note for friends (or I guess anyone else) who looked, but wasn't able to find me on Facebook. I deleted my account (I'm also no longer on Instagram). You can reach me on the same email addresses I've had for a couple decades or Signal using the New Zealand number I've had for 10 years. If you don't have those, ask a mutual friend, someone knows how to get a hold of me and I'd...

Continue reading...

Experimenting with Decap CMS

In my last little post I mentioned that I need to get a content management system (CMS) set up for this site to help me write more frequently. The site is (at the time of writing) static HTML generated from Markdown files by Eleventy (11ty). While Markdown is easy to write in any text editor, I still need to manage image files and their code snippets for Eleventy. Publishing is done through pushing to a Git repository—this part at...

Continue reading...

Test Post from Phone

This is a test post from my phone, pushed to my self-hosted git repository on my home server, and deployed to Netlify. Maybe I'll move the hosting to the home server as well. I still need to set up an actual CMS interface for a nicer writing experience.

Continue reading...