I've scrapped the WordPress blog and brought it all into Ghost.

Yes, I did it again.

No excuses. No real explanation other than I'm always looking for a balance between simplicity and capability. Ghost strikes a decent balance, so I'm trying it again.

Some notes on the build.

Fired up a $5/month ready-made Digital Ocean Ghost droplet, updated DNS to point to the new IP, and went through the semi-automated installation process.

Exported the entries from WordPress using the Ghost exporter plugin. The import file was bigger than the default setting for client_max_body_size in nginx so I edited /etc/nginx/sites-enabled/copingmechanism.com.conf and set it to 100MB and restarted nginx.

Changed the default routes in routes.yaml to include the year, so...

collections:
  /:
    permalink: /{year}/{slug}/
    template: index

Added an Archives page template, page-archives.hbs which lists all posts on one page. Why Ghost doesn't come with this by default is a mystery. It's here.

Set up a redirect from the old RSS feed to the new "official" RSS feed: https://copingmechanism.com/rss/ in redirects.json.

[{
	"from": "/feed/",
	"to": "/rss/",
	"permanent": true
}]

Added navigation, some header images, and tweaked settings.

Added Plausible analytics.

This sounds more complicated than it was. All in all it took about an hour.