A Brief History of My Blog's Tech
Roughly five years ago, I restarted my blog using Jekyll, hoping to write about interesting things others might find useful. After using Jekyll for about a year, I moved to the static site generator Hugo, and it worked fine for the next four years. Today's post is an update regarding my move away from Hugo.
I initially went with Hugo for the easy setup and quick content processing time. Hugo worked well for me for a while. With each update, there were changes to syntax, configuration, and more that gradually built up some technical debt on my blog that I knew I should address, but didn’t. On top of that, some of the customizations I wanted were tricky and required research and testing, it quickly became more than I wanted to manage.
In the spirit of my original post I decided to try another static site generation tool that I felt more closely fit what I wanted at this time. That tool is Next.js.
main, so one less thing to keep in my head as well.
Migrating content to Next.js
Migrating to Next.js was not a simple switch, but it also wasn’t overly complicated. Moving my markdown content from the old Hugo project to the new Next.js project was straightforward, but updating the metadata was time-consuming.
Nginx Config Tweaks
I added 301 redirects to ensure the old blog links continued to work. The old paths used the
/blog/year/month/day/slug format that made sense when I started with Hugo. Today I no longer feel I will have enough content to necessitate the longer path to my posts so I simplified it to
/blog/slug and set up some 301s in Nginx to keep the old routes functional. I also had to set up a couple other route rules on Nginx, but nothing major.
Sitemap and RSS feeds
To keep the Google Bot happy I had to make sure that I was generating a
sitemap.xml file in my Next.js project as it did not come by default, and I still need to decide if I want to keep an RSS feed. Many years ago I never would have thought about not having an RSS feed, but sadly I’m not sure many people use RSS anymore these days.
Overall I am very happy with Next.js for my blog. The content is in markdown, and the rest of the functionality is pretty easy for me to understand, maintain, and customize - something that I now put a premium on.
Hopefully, after reading this post, you will give your own blog tech stack some thought. You do not need the same projects as me, but I do encourage you to use something that makes sense to you. If what makes sense to you ever changes, do not be afraid to change your tooling too.