New year, new blog in Hugo
It’s a new year, so a perfect moment for a change, and what is maybe more important - for me to finally write a new blog post.
You may also have noticed the redesign. I’ve decided to migrate my blog from WordPress to Hugo.
Here is why:
I’ve started my blog on WordPress, because it allowed me to start fast. I just had to do a quick setup, select a theme, and I was ready to create my first post in a convenient WYSIWYG editor.
At first, it was wonderful. If I needed anything - SEO help, SPAM filter, Google Analytics - there was a plugin for that. It’s really great, and it let me focus on the content.
The problem was when I wanted to customize the looks of my page. I agree, that WordPress itself is very customizable and has lots of ready, often free themes. However, I was limited to the features the theme/plugin developer supported. It was especially frustrating when some minor changes required a lot of effort, clicking through the Appearance editor in search for the proper setting.
An alternative was to make my own theme, but that in turn seemed too complicated for me. After all, this is just a simple blog, which I develop after-hours. WordPress, on the other hand, is a mature system. It can be used to create a simple landing page as well as a big CMS or even an e-commerce store. This makes its themes hard to create from scratch, especially with no skills in PHP.
I knew, that I wanted a simple tool, with a simple theming system I could easily plug into with some component library like Bulma or Bootstrap.
Hugo is a static site generator, which in very, very simple terms, takes the posts written in Markdown and Golang HTML templates and outputs the static HTML page.
There are other similar tools, like Jekyll or other applications from the JAM Stack, however I’ve chosen Hugo mostly because I’ve found those tutorials:
and I’ve slowly started fiddling with Hugo. I’ve created a minimal custom theme and as my knowledge of this tool grew, I’ve developed it further and further to the point, where I decided, I can migrate my old posts to Markdown and deploy the new version.
The biggest advantage of Hugo compared to WordPress is its simplicity. Posts are written in Markdown. HTML templates have minimal boilerplate and are easy to navigate within. In case where some custom HTML is needed, custom snippets (called shortcodes ) are also easy to use.
Another big advantage is the maintenance. Because the output of the Hugo app build is a static HTML site, there is no need for running any database. Backups are also not needed, as all content is stored in the form of the sources in git repository.
If I was low on time, I could deploy it on some service like Netlify within seconds, without any need for VPS or the hosting.
The community is also quite good. I’m not saying, that there are more resources than for WordPress, or even that the migration went flawless. Still, there wasn’t really any situation, where I was stuck with a problem without any information either in documentation, StackOverflow or a Discourse forum.
So … how do you like the new version?
Let me know in the comments!