I have been running a personal website for more than a decade. Initially, it was a single HTML page with links to my social media profiles, but for the past nine and a half years, it had several distinct pages and a blog where I managed to write over two hundred posts. I have been a fan of static website generators since day one, and I knew Python, so Hyde was the obvious choice to help with the repetitiveness and modularity.
Everything was running well. Four years later, in 2016, Hyde stopped being maintained publicly. No problem. One of the enormous benefits of static website generators is that the development environment only has to work on your machine. I managed four more years. Then Python 2, the programming language version in which Hyde was written, was sunsetted in favor of Python 3, which Hyde didn’t support. Again, no problem; it works on my machine. However, operating systems and computer hardware change over time too.
Earlier this year, I realized that I’m spending more time thinking about how to maintain unsupported environments than it would take me to transition to something new. Enter Hugo, a static website generator written in Go. Some things that won me over:
- Actively maintained and updated
- Community support
- Amazing documentation
- Compiled to a binary (machine code); no dependencies
The last one had particular appeal because it means that I can run Hugo and get the same result no matter how much the environment changes. The only thing that has to stay the same is the processor architecture, and those things change very slowly.
The transition was surprisingly easy. Most content is in Markdown files. I had to replace various Hyde directives in content and layout pages with Hugo directives, and reading Hugo documentation took me the most time. And that’s it.
This post is the first one I generated with Hugo. Hopefully, this setup will last another decade.