Blog

Static site generator fatigue

I've been running my site on static site generators (SSG) for a little over eight years now. First it was on Jekyll and later on Eleventy, which I'm still using today. I really enjoy the simplicity and performance benefits of static sites and building with SSGs is a great developer experience, in my opinion. However, lately I'm starting to feel a handful pain points that have me thinking about moving my site to different platform for content management.

  • VSCode overload — I would like writing a blog post to be a totally separate experience from writing code. I know writing Markdown isn't the same as writing code, but it's in the same environment where I do a lot of my work during the day. I'd sort of prefer it not to be.
  • Posting is a desktop/laptop only activity. I would love to be able to fire off posts from my phone while I'm sitting on the couch or in the car on a road trip. With a more traditional CMS it's generally easier to write and publish post on a mobile device since the admin UI is accessible in a web browser and most likely somewhat optimized for smaller screens.
  • Static is great, until it isn't. I don't generally need to do much server-side stuff on my site, but when I do think about doing anything remotely dynamic, the amount of set up and cobbling services together required sometimes puts me off (see note about Webmentions below).

PHP is pretty good, actually.

I kind of miss having a server available by default. I was reading Matthias Ott's great article on personal websites this morning and in it they talk a bit about Webmentions and ways to go about adding them to a personal site. It got me thinking that I would love to add that capability to my site, but being a static, it would involve quite a bit more complexity. I'm not sure I have the appetite for that at the moment. With a PHP running on a server, it would be much more straightforward. Matthias even points out that sever popular CMSs have plugins that make it a pretty simple process.

Back to a CMS?

Kirby looks really great to me. It seems like there is a really healthy community built up around it and the Kirby team is doing a lot of good work to make it a long-term, sustainable product. I built a site for a client years ago using Kirby and it was a really wonderful experience. In the time since then it looks to me like it has a come a long way and has a ton of really great features out of the box. It allows you to have a folder full of flat files and write in markdown if you want to keep it super simple, but also comes with a really nice and customizable UI (The Panel) for managing and writing content. To me that sounds like the best of both worlds.

I think I'll sit with it for a while before I make a decision. I should probably just put all of the energy that it would take to move to a new platform into writing more posts anyway. 😅


A small, but significant gesture

My friend text me a link the other day to some music they thought I should check out. We like a few of the same bands, but I really have no idea what all types of music they like.

Turns out the link they sent was pretty good stuff. Not necessarily something I would seek out, but I ended up listening to most of the record. It's definitely something I'd put on in the background while I'm cooking dinner.

I've been trying to do my best to at least try and listen, read, or watch when someone in my life sends me a link to something they like or found interesting. It's a tiny gesture, but it means they thought about me and they took time out of their day to commit to a potential conversation. If I stop and think about it, that's really cool and makes me feel good.


Twenty-five more years

I Gave my old bass a makeover today—a quick list of what I upgraded. New pickup (Seymour Duncan Quarter Pound), Fender Hight Mass bridge, new pickguard, chrome knobs, strap buttons

  • An electric bass hanging on the wall, it's black with a brown tortoise shell pickguard
  • An electric bass hanging on the wall, it's all rusty and scuffed, it's black with a black pickguard
A before and after shot of my old bass

I bought this guitar in 1997 with a few paychecks from my first real job at Taco Bell in high school. I put a lot of miles on this thing in basements/garages/VFWs/coffee shops/bars over the years. It still rips.

Twenty five years ago Musician's Friend didn't have a website. It was a printed catalog made of paper with pictures, specs, and prices of gear that came to your house once a month. I gave my Mom the cash and then called a real person on the phone to use her credit card to place my order.


Wrap element snippet

I've found myself needing to do this on a couple of projects lately so it seemed like a good idea to write it down here as a snippet to reference later.

This sort of a vanilla replacement for jQuery's .wrap() method

/**
 * Helper function to wrap one element with a new element
 *
 * @param {String} wrapWith - the name the element to create as the wrapper
 * @param {Element} toWrap - The existing element to wrap
 * @param {Object} attributes - An object of key value pairs used to create HTML attributes
 */
function wrap(wrapWith, toWrap, attributes) {
  const wrapperElement = document.createElement(wrapWith);
  if (attributes) {
    for (let attr in attributes) {
      wrapperElement.setAttribute(attr, attributes[attr])
    }
  }
  toWrap.parentNode.insertBefore(wrapperElement, toWrap)
  wrapperElement.appendChild(toWrap)
}