Powered by Hugo

This blog is now powered by Hugo, a static page generator, and features a refreshed look. This is hopefully the first of many posts after a years long hiatus.

Old Setup

When I started the blog in 2009, it was powered by a self-hosted Wordpress instance. Since I was getting frustrated with maintaining PHP, MySQL and Wordpress up to date, I decided to switch to Octopress, a statically generated site, in 2013.

Overall, I have been satisfied with Octopress, a somewhat abandoned setup for Jekyll, the static site generator written in Ruby that powers Github Pages.

The setup enabled me to write blog posts in Markdown rather than plain HTML. The beginning of each markdown file contained a small front matter header to describe the post’s meta data such as titles and publication dates. These files were then fed into the Jekyll machinery that generated this complex web site, including an Atom feed and a sitemap.

This setup served me well for many years but I had two growing sources of annoyances. First, the theme I was using, looked incredibly dated and was overdue for a refresh. Second, the Ruby stack that powers Jekyll can be very finicky: I had to install a very specific version of Ruby (via rvm or rbenv) to make things work.

New Setup

For the new setup, I have decided to use Hugo, another static site generator, written in Go. Hugo is very similar to Jekyll, as it also uses Markdown and Front Matter. This made the transition easier. For the most part, I was able to re-use my existing markdown source files unchanged.

The motivation to choose Hugo over Jekyll is that Hugo is a batteries included solution, which covers all the needs of this blog. I did not have to worry about Ruby and Gem dependencies. My Hugo setup is as simple as sudo port install hugo. Moreover, I have found that Hugo’s documentation is really excellent: every time I wondered how to do something, I was able to figure it out rapidly.

This blog now features a modern theme, with a refined minimalist layout, that let readers concentrate on the content. The garish gradients and drop shadows of the previous theme are gone. I have also re-introduced color on this site, by using slightly different shades of blue as accent or background colors. A dark mode color scheme is also supported and displayed when requested by the browser.

For the first time, I made my own theme, rather than use one readily available on the Internet, as I now know enough CSS and SASS to be dangerous. However, my work was loosely based on the Hugo Bootstrap v4 Blog theme. It uses Bootstrap 4 for the layout, Fortawesome for the symbols, and Lato as the main font.

Another change is the lack of Google Analytics, as I have grown incredibly frustrated with Google’s approach to privacy, and their lack of innovation. In addition, many laws require to show cookie banners to end users, which is hardly conducive to a good user experience. I am currently pondering relying solely on the NGINX access logs and running either a self hosted Matomo or Plausible, but currently I have no analytics.

What’s Next?

Obviously, I intend to blog a lot more in 2020 than I did I the past few years.

Aside from inevitable tweaks and fixes, I don’t have any major plans for this blog with the exception of search.

Another change in the pipeline is to complete review the hosting which has been on Kimsufi since 2014.