Moving to Pure Blog. Or Not.

This is something I put down at the beginning of February, and forgot to post. So for posterity:

I read about Kev Quirk’s new blogging platform, Pure Blog, thanks to a boosted post on Mastodon from Jack Baty. While I’ve been on WordPress for quite a while, and had no real plans to leave, this certainly sounded interesting, and so I read through Kev’s post introducing the new platform. What I read there intrigued me enough to go to the project site.

This part especially caught my eye:

It reflects the lessons I’ve learned from every platform I’ve touched over the years:

– WordPress gave me power, but too much complexity.
– Jekyll gave me simplicity, but not enough flexibility.
– Ghost has a fantastic editing experience, but leans hard into audience-building, which I don’t need.
– Kirby is brilliant, but getting the panel exactly right takes a lot of effort.
– Bear Blog is lovely, but its editor is a bit too minimal for my taste.

Pure Blog sits somewhere in the middle of all of those experiences. It’s intentionally small, intentionally simple, and built to solve the exact problems I’ve run into as a long-time blogger.

I mostly agree with Kev’s sentiment about WordPress. I flirted with Jekyll, but felt like it was too technical for me, and I haven’t looked at it in years. Ghost is the new hotness, but for a personal blog, seems like overkill. I spun up a Ghost instance on DigitalOcean a couple of years ago and played around with it, but ultimately killed it and stuck with WordPress. I’ve never looked at Kirby seriously. I have poked around with Bear Blog, and until today, if I was looking to move from WordPress, that would probably be where I would go.

The video on the main page convinced me to give it a shot. I jumped over to GitHub and downloaded the software. But as a relative neophyte, I wasn’t sure where to go from here.

Enter Claude.

Local web server

First thing to do, get the local Apache web server up and running on my Mac. For this, I turned to the MAMP project. Downloaded, installed, started up the web server. Copied Pure Blog’s contents in to the /htdocs folder. After some starts and stops, and help from Claude as I told it what errors I was encountering, I got everything sorted (neophyte, remember?) Entered http://localhost:8000/setup.php in my browser, and boom, we’re on our way.

I set up the site in Pure Blog’s settings as shown above, and then tested it out. Wow, look at that. With a little LLM AI help, this neophyte had it sorted out. Now all I needed was some content.

WordPress export

Sure, I could start from scratch, but I knew that if this was to take off, I would want to move all my WordPress content over. But all of that is in a database used by the WordPress installation, and Pure Blog uses plain text Markdown files. So how do I go about doing that, Claude?

The answer was a WordPress -> Markdown Node.js tool: npx wordpress-export-to-markdown.

From the WordPress installation, go to Tools -> Export -> All content

Move the XML file that results to a local folder where you can point the Node.js tool to.

Fire up a Terminal window, input the above command, and follow the prompts:
a. Point the command to the XML file
b. Answer the questions on file name formats, images, etc. These are all very straightforward, the command’s programming guides you effortlessly through each one
c. Once the last question is answered, the exporting begins!

Now with over 20 years worth of posts, I figured this was going to take a while. The Node.js tool has to parse each individual post from the XML file, and place it in the appropriate /YEAR/MONTH folder, then go out and grab the accompanying images (if any).

It took about 45 minutes, and there were 105 failures when it came to locating images. My guess is that those were from the Tumblr posts I’d imported years ago, reblogs where the original post no longer existed. I have some detective work ahead of me. All told, I had just over 2 GB of data.

Here, kids, I will take a moment to remind you to read through all of the documents for a blogging platform before you start working on it.

I ended up re-doing the WordPress -> Markdown conversion. Originally, I had selected to download posts in to year and month folders. However, Pure Blog doesn’t work along those lines. It’s looking for a date in the filename, such as 2026-02-06-test-blog.md. This is how it sorts and displays posts in its simple system. The Node.js tool has an option for this, and so it was easier to run the conversion a second time with that option, rather than edit each file individually. (Remember, over 20 years worth of posts.)

What Might Be Missing

While the second conversion was under way, I had a sudden thought: Does Pure Blog support title-less posts?

A few years back, when I was using Micro.blog, I started publishing posts without titles. These were mainly my social media (viz: Twitter/X) posts, only posted to my blog. When I moved to WordPress full time, those title-less posts were categorized as “Micro.” Posts with titles were categorized as “Main.” These are the only two categories I use; otherwise, all posts have tags.

WordPress handled the issue of URL for title-less posts by using the published date, so long as you’re publishing the date on your site for each post. With my chosen theme, it looks and works rather elegantly.

A quick test of uploading a title-less Markdown file showed me that yes, the Pure Blog engine will publish it, but (a) there is no way to display a public link for it on the site (at least with the default configuration), and (b) there is no way to edit it within Pure Blog’s Dashboard. The Dashboard uses the post’s title as the means to open the post for editing.

Now, given these are Markdown files, you don’t need the Dashboard to edit them; any text editor will do. However, when displaying them publicly, it’s only good web manners to have a link to the post available to others. So, a quick email to Kev:

Kev,

Any chance of support for title-less posts?

Thanks,

Chris

The response a few hours later, was not heartening:

Hey Chris,

It’s something I may add in the future if I decide to go down the route of adding microblog type features to my site, but it’s not something that’s immediately on the list.

Thanks,

Kev

And thus for now, on the 7th of February, 2026, my experiment with moving away from WordPress to something simpler ended.

Addendum, 12 April 2026: Kev has been quite busy since my above experimentation, constantly updating the Pure Blog software, including two full re-writes of how it handles updating the software itself. He’s added shortcodes, page cache, some more themes, numerous other small additions and bug fixes, and even a full x.0 version update.

Alas, with version 2.2.0 as of two weeks ago, Kev considers Pure Blog feature complete. And it still doesn’t have the one feature I was hoping for, the aforementioned title-less posts.

At the end of the day, Pure Blog is scratching an itch for Kev, first and foremost. The fact that enough people are using it for their own blogging that he has continued development, accepting contributions from other developers, is testament to his being on to something that isn’t found with any other blogging platform.

So why do I stay with WordPress? Familiarity, plain and simple. I’ve been with it long enough, it doesn’t cost me a lot in terms of tech- or thought-debt. Though it is and can be complex, for my particular needs, it does the job. It has staying power, and stability, thanks to the organization and company behind it. It will run pretty much anywhere I’d want or need it to. And I’m not subject to a service, like with Micro.blog, Pika, or Pagecord.

Examining and experimenting with other platforms like Pure Blog is worth engaging in, as it tests the limits of what you’re currently using, as well as testing your limits and needs. Would I be better suited with something like PureBlog for a personal blog? Most likely. Do I feel it’s a good fit for me at this time? No, I don’t. That doesn’t mean it’s not worth looking at for someone else, or revisiting in the future as it gets more mature.