Tim's Blog

Information, Technology, Security, and other stuff.

Moving from Ghost to Wyam

Published 2017-05-08

This blog has moved. I was running on Ghost, but I ran into a couple of instances where my Azure credits maxed out for the month (not because of this site, but because of other heavy services under my subscription), so I looked at ways to cut down the operational cost across the board.

Enter Wyam: A static site generator for .NET. After some fudging around with getting Wyam to work, I've now got this blog running as an Azure Web App instead of a VM running Ghost.

Thankfully my blog posts with Ghost were all written in Markdown, as it made transitioning the posts across pretty straightforward. The only drawbacks are:

  • I no longer have the awesome Ghost editor. I'm now writing this with Visual Studio Code, but I can combine that with the locally-hosted version of Wyam to check the rendered version of the text.
  • I've lost tagging. I used to tag my posts, but I doubt they had much value anyway (especially when search engines are indexing the content).
  • I have to style the blog myself now. Thankfully CSS frameworks like mini.css make the job significantly easier, but it still requires some extra mental energy to put together. I have a soft spot for simple blog interfaces, so I've taken the opportunity to cut down what little visual noise I had and also reduce the footprint of the site (aside from the post images).
  • Generating pages using Razor had the unintended side-effect of me having to remove all illegal characters from the post titles.

On the positive side though, I now have:

  • Easy to manage content. It's literally just a bunch of .md files in a directory that get converted into HTML and pushed up to the cloud. No more databases to deal with.
  • A smaller attack surface. I don't have to manage credentials for connecting to my blog and publishing content; I just have to manage my Azure credentials. I also don't have to worry about making sure my HTTPS connection is OK before posting new content (CloudFlare manages this for me now, but it's still nice to not care about it too much).
  • It's all version controlled. Ghost did this, but as part of the product itself. Now all my content is just a git repository, which is super easy to manage and back up.

I really recommend giving Wyam a try. I've got some ideas floating around in Trello for future websites for other things, and I'll probably just use it from now on to generate those.