Migrated to Ghost
3 min read

Migrated to Ghost

As of June of 2022, this website has been migrated to use Ghost. I've previously been using Hugo as a static site generator to generate my website via Markdown files and hosting it via Netlify but I have decided to pivot. I'll attempt to outline why I decided to make the switch.

Maintenance

Honestly, it wasn't a big deal, but as someone who is intimately involved with operating systems at work, I kept getting caught up in the maintenance of the site rather than actually writing content.

For example, I would start by telling myself that I was going to write a post, then I would go down the rabbit hole of:

  • Am I using the latest version of Hugo? Do I need to update anything?
  • Let me standardize my metadata across all of my markdown files for better classification and tagging.
  • Spending way too much looking for different themes and customizing it.

Storing Images

Because Hugo stores everything in Markdown files, this works great for text as it can be easily version controlled in Git, but what is the story around images?

The simplest thing to do is to commit your images as binary blobs to Git. This is initially very simple, but it feels dirty as if you ever want to delete an image, you can, but it will forever remain in the Git repo since it is saved as part of the history. You can never remove images from your repo with this method. If you end up adding a lot of images, these images will start taking a significant chunk of your repo size.

Another option is to use Git LFS, which is the way to link binary files like images in a Git repo. Github comes with some Git LFS support and gives you some free space as well. You can also do this via Netlify as well.

Ultimately, this is a problem that can be solved, but I started to spend way too much time thinking of how to solve these problems rather than writing content.

Comments

This is another aspect of my site that I spent WAY too much time on. Hugo doesn't natively support comments because it is a static site and comments are dynamic by nature. I originally used Disqus; it was incredibly easy to use and setup.

Then I started going down a rabbit hole of optimizing my comments system because Disqus is apparently a very heavy-handed include on your site. I started to look at alternatives and I eventually landed on Utterances. I loved that it was open source and relied on Github issues as a data store for your comments. Unfortunately, it required a Github account to post comments, but I felt like considering the tech content on my site, people would have Github accounts already.

It's funnyto think that I spent so much time working on my comments system, because no one ever leaves comments on my site! I took this on as a learning experience, but the actual value add to my site is, in reality, minimal.

Spend more time writing

This all culminates into what I think is the next logical progression: Run my blog via a managed service so that I can focus on writing and stop getting distracted by other things. It was really fun to tinker with this stuff and learn, but I realized that I want to focus more on the content rather than learning how to run a site. I run & manage enough things for my day job. For stuff like this, I figure I let someone else run it for me.

I looked into several alternatives, including managed Wordpress. I even looked into managed Hugo! I realized that I didn't actually care too much about writing in Markdown anymore. I mean, it is cool and it makes your content portable across platforms, but I realized that it was more of a nice-to-have rather than a necessity.

Here are some alternatives I looked at:

Medium was actually a really good fit, but I don't know if I agreed philosophically with how users don't get to really own their own content. It probably would have been really good for discovery of my site, but I didn't want to give up that data ownership.

Substack was a good fit too, but it was more tailored towards newsletters that people could subscribe to. I don't blog/write regularly so I felt like this wasn't the right fit for me.

Dev.to was interesting too. It is a software engineering community that probably would have been a good fit for my site. I did want to use my own custom domain though, and I don't think it supports that.

I ultimately settled on Ghost and I was influenced by Troy Hunt as well. The migration was pretty straightforward, and here I am today! Maybe I will migrate again one day, but for now, I am pretty happy with the hands off approach to my site.