After using static site generators since 2013, I finally give them up in favour of Ghost.

“A room set aside for writing, especially one in a monastery where manuscripts are copied”.
The Oxford English Dictionary

Yesterday I flipped the switch, swapping out my site’s engine from Pelican to Ghost. While Pelican, a static-site generator, served me well, I’ve long felt that I reached the limits of what a static site can do for me.

I planned initially to create a separate membership-only site powered by Ghost. I started on this project back in March, first as an experiment, then with more enthusiasm as I started mucking around with Ghost’s API and Handlebars templating language. However, last week’s build-breaking changes in Pelican and Netlify also broke the camel’s proverbial back.

Pelican and Netlify burdened me with technical debt, a debt that grew as my blog posts grew in number and scope. It was becoming onerous, and ultimately it was getting in the way of writing. With Ghost, I no longer need the convoluted build process that relies on Git, Python, and CI-CD in Netlify. That kind of workflow is excellent — if you are running a software project with the benefit of a team behind you. I’m just one guy, seeking a path to something more efficient and sustainable.

So here is Scriptorium, my place to write. With a couple of clicks in Ulysses, I can post my articles to Ghost — no Git, no command-line. I’ve migrated every post from 2020, and some of my more popular posts published before this year. The rest I’ve made available in an archive, I’ve dubbed the Vault.

Scriptorium is a membership site for those who wish to join (it’s free, don’t sweat). Optionally you can support my writing through a monthly or yearly patronage (my eternal thanks if you do). Members will get access to exclusive content and can view the site advert-free when logged in. Ghost allows me to write and send newsletters directly to members, something which I’m excited about exploring, and potentially using it to replace MaliterLite. Gating content in this manner allows me to share previews, stories and world-building stuff to members in ways I couldn’t previously do.

In other changes, I’ve temporarily disabled comments until I can decide on the service or plugin that best meets my needs. Unlike WordPress, Ghost doesn’t have a native comments system, and my previous choice of Talkyard doesn’t meld well with the theme I’m using at present. So, I’m looking for alternatives. I’m also toying with the idea of limiting the discussion to members.

I no longer list my book pages within this site. Ghost isn’t quite as malleable as Pelican, meaning I can’t easily create a separate section styled in a manner appropriate for my fantasy series. Instead, I’ve decided to move my books to a new subdomain,, retaining the style from my old site. Since I only update them when I publish new books, I’ve left them on Netlify as static HTML.

Concluding thoughts

So far, so good. This move was a significant change for me in a week of massive changes (new job, new MacBook Pro — but more on that later). If for no other reason than the ease of which I can publish, the migration is already proving worthwhile. The membership and newsletter features are the icing on the cake. I usually invite comment below, but since that’s not an option at present, I’ll have to direct you to Twitter or Facebook.