About one month ago, I started to move this site from running under WordPress to being statically generated with Hugo.
After a short time, I had re-created the site with it and am pretty satisfied with the switch.
Why
Running a local WordPress installation all these years was OK, but I always felt it was too big, too fragile for my needs; simply overkill. I also never felt very safe when I had dig into all these PHP files for customization.
And shifting the maintenance effort to someone else, by running it on wordpress.org instead on my own shared webspace for example, was (ideologically) not an option for me.
This is a small, personal blogging website, with me as the single author; to write down some tips and tricks, or publish some thoughts/ramblings or software releases, so nothing that really requires a full-grown CMS like WordPress.
While it doesn’t hurt to have it, you also always have to be on your toes: Constantly updating it to prevent (security) bugs, having a SQL database available, using the online portal for editing and uploading stuff, etc.
So, when this whole static site generation hype popped up some time ago, I took notice. On the one hand, it’s like in the past, when one manually created and maintained HTML files, but it improves on the concept of separating content and style/layout and keeping everything consistent across the site.
I also like that the foundation is having the content (and also the site configurations) in simple Markdown text files (respectively in TOML/YAML/JSON text files), which can easily be put in a code repository.
What
Finally, I paid more attention to these static site generators, and after some days of reading about possible platforms, I focused on Jekyll and Hugo.
Reasons for selecting Hugo in the end were a mix of bias, gut feeling and educated guess:
- According to several articles, generating a (big, bigger than my) site would be faster with Hugo. Not really important for me (now), but good to know.
- I prefered the “there’s just this one hugo.exe you need” to the “… and then dowload this, and install that for Ruby…” exercises one supposedly has to do for Jekyll, at least on Windows.
- Language wise, I can’t tell you much about it: It didn’t seem too different on first glimpse. And I had neither contact with the Go language (which Hugo uses) or Ruby (which Jekyll uses) before anyways.
How
So, after the decision to use Hugo, I needed some tutorials and articles for beginners.
Some good starting points:
- Migrating from Jekyll+Github Pages to Hugo+Netlify
- Migrating From Wordpress to Hugo
- Moving from Wordpress to Hugo
- Hugo Documentation — the official documentation is often(!) good for reference; but to get started, pick something else (like the articles mentioned above).
After same days working with it, I had a pretty good understanding of how Hugo works and I could replicate most of my WordPress-based site with it. Then, the fine tuning and tweaking started (and still continues 😉 )
So far, I’m quite satisfied with Hugo and the concept of running a static website again.
Caveats
Things that I miss a bit, but not really:
-
No web frontend for editing/publishing posts; I have to upload changes via FTP1.
There are other ways, like connecting the commit action of a repository to a ‘web-hook’, but I haven’t develed into that yet.
And to be honest, I seldom need to work on my site instantly, from anywhere on this planet. -
No comments.
Since this is no longer a dynamic stite, backed by a database, there is no internal way to use comments.
I’ve stumbled about some experimental solutions how to graft something onto Hugo, but none of it looked convincing or much used.
The other, most used workaround would be to use a third-party solution like Disqus. Ah, well… I don’t know if I’d like that. I actually prefer this self-contained static site of mine. And the amount of comments on my blog posts was not exactly overwhelming througout the years anyway.
So for now, I’ll just stick with old “send me an e-mail, and I might update the post with the information” approach. -
No search.
To not have a search capabilty at all would be a bummer; but luckily, there’s Google’s site search, and for now, I’m fine with embedding it here. (There are also some means to graft something onto Hugo for an internal search, I think.)
Details
For syntax highlighting, I use Hugo’s own Chroma.
Since the URLs changed (partially, at least for the blog), previous postings got an alias, so that they still can be reached with the old paths.
(I first thought about using .htaccess redirects or something, but Hugo’s feature to use an alias
entry in the posts FrontMatter is working satisfactory.)
The address of my main RSS feed also changed slightly; to https://www.saoe.net/feed.xml
Originally I wanted to spend time on keeping the old address valid, but what the heck: I don’t believe that anyone except me (for testing purposes) subscribes to this site anyways.
(One can find the new RSS feed address also on the homepage.)
-
In the meantime, I wrote a Python script for this task, so it’s hardly any work now. ↩︎
Film & Television (54)
How To (63)
Journal (17)
Miscellaneous (4)
News & Announcements (21)
On Software (12)
Projects (26)