The fact you’re reading this means I’ve finished migrating this site from WordPress to Jekyll. While the migration process itself has taken several weeks, it’s a move I’ve been contemplating for the last couple of years. In this post, I’ll share why I did it. Over the next few days, I’ll also share what’s new, what’s coming next, and what I learned in the process. But first, a bit of history.

This site launched in September of 1999. At first, it consisted of static HTML coded by hand. But I soon realized blogging like that was too much work. So I experimented with a few content management systems, including Blogger, and eventually settled on Movable Type.

Movable Type was perfect for my needs at the time and served me well for years. But eventually, its publisher switched to a different licensing model. I stuck with Movable Type for much too long and finally realized I needed to upgrade. Most other bloggers I knew had moved to WordPress, which was open source.

I switched to WordPress as well. At first, I used the self-hosted version of the software. Eventually, the maintenance required (e.g., keeping the system updated, security risks, etc.) prompted me to move the site to — the company’s managed version of the software — in 2015.

I’ve been happy with WordPress since then. However, three things nudged me to reevaluate this decision:

  1. I started feeling constrained by’s lack of flexibility regarding structure and look-and-feel. There’s so much one can do by changing the site’s CSS, and the plan I was on didn’t allow me to upload my own template.

  2. WordPress itself started to change. At first, WP was well-suited to someone like me, who mostly wants to write. However, with the introduction of the Gutenberg editor, it became clear to me that WordPress was evolving towards being a full-featured site editor. While this is a boon for people developing general-purpose websites, it’s less optimal for writers.

  3. I started writing more in Markdown. My “second brain” is now almost entirely based on plain text Markdown files, which allows me to connect different content repositories and eases my workflows. I’ve been writing posts in Markdown for years, but the final step (i.e., publishing to WordPress) requires switching to their format. (Ulysses does this for me, but then I have to manage two post versions.)

So, I’ve been looking for a system that allows me to keep my content in Markdown, gives me greater control over the output, doesn’t come with a lot of overhead, and which I can publish on my (still-active!) self-hosted server. In addition, since the site is primarily static text, there’s little need for dynamic components.

Knowing that these were my requirements, I naturally started looking at static site generators. I evaluated three: Pelican (mainly because it allowed me to play with Python), Eleventy (all the cool kids are using it), and Jekyll. I decided to go with Jekyll primarily for the richness of content and plugins available online. It’s time-tested software, and I can readily find answers to my questions online.

This post is the first on the new site. If you’re reading this close to the time of publication, you’ll likely see bugs in the site. The migration process took much longer than I expected, and I’m 100% sure some things broke in the process. I plan to fix issues as I find them. (If you see something broken, please let me know.) For now, I’ll say I’m excited about the new site and planning to write more here. Watch this space.