New Website
Reasons for moving to a new website service.
The Move to a New Website
After more than a year of maintaining the previous website in React/TypeScript, and the recent news of Google Domains’ shutdown, I have moved to a new website hosting service and updated the website to use Hugo for content management.
There are a few reasons for this change.
- React/TypeScript takes time to maintain and increased time and effort to make a change.
- Most pages were static so there wasn’t a great reason to use React.
- My use cases are fairly basic, so I did not need the additional features React provided.
React Maintenance and Migration
Maintaining a React website has its benefits. There is a degree of customization that can rarely be found in content management systems. However, it also comes with its downsides, many changes are hard to make and harder maintain, even with good software design principles.
In my case, it felt like I was putting more effort into coding the framework for the website, than actually maintaining the contents of the website. At the time, it made sense since I was new to front-end programming and it made for a good exercise to understand how user interface design worked.
However, I found that I spent much more time maintaining and coding features for the website compared to adding content to it. In addition, many of the changes required updating config files to add new posts and update the website, and dependency management sometimes created issues that took time to resolve.
This, coupled with a full-time job and research, made it harder to expand the website and add new content.
After some internal debate, and Google’s recent annoucement to shut down Google Domains, the migration to a static website provider made sense. Since I was used to self-hosting and had set up for it, continuing to choose a self-hosting service made sense.
After some research, I narrowed down to two options: Jekyll and Hugo.
Jekyll
Jekyll is an open-source website generator for creating and maintaining static websites. It was first released in 2008 and contains some of the most popular themes, including ones recommended on GitHub Pages.
Pros:
- More than hundreds of themes to choose from.
- Very customizable and there is almost a theme for anything.
Cons:
- Ruby ecosystem plays weirdly with MacOS for development.
I explored this as an option. However, the weird behaviours of Ruby on MacOS and Hugo’s advantages made more sense to me.
Hugo
Hugo is an open-source static website generator written in Go. It was released in 2013 and has many widely used themes.
Pros:
- Compilation time is very fast. Generating a full build of the static website took less than 2 seconds on average.
- Contains many widely used themes and is generally fairly customizable.
Cons:
- Not as many these as Jekyll, which seems to have ones even for niche use cases.
I decided on Hugo since there is a nice theme that I liked. Additionally, the setup process was very smooth, and only really required installing the packages from Homebrew.
Final Decisions
Both choices make sense, and it is more of a personal preference. In my case, I found Hugo suited my use cases better, so I went with it. I don’t think you can go wrong with either.