Jekyll to Hugo

October 16, 2021

I took some time this weekend to do the following:

  1. Migrate this site from Jekyll to Hugo.
  2. Create a new site theme.
  3. Update the About page.
  4. Add a new Articles section.

The Articles section will allow me to write longer articles without polluting the main blog.

Hugo Migration

Pros:

  • Significantly faster. Jekyll sometimes tool 30 seconds to regenerate this site, and Hugo does it in less than a second.
  • Single static binary. Much easier to install.
  • Built-in SASS/SCSS support.
  • HTML, CSS, and JavaScript minification. In particular, HTML minification is content-aware so it doesn’t strip significant whitespace in <pre> or <code> blocks. View the source of this page to see what I mean).
  • Go template support.
  • Jekyll importer that works reasonably well (but see below).

Cons:

  • The default Markdown parser is limited and not based on GitHub-flavored Markdown.
  • Because of the previous item, many of the literal <img> elements in my imported Jekyll content had to be fixed by hand.
  • Occasionally baffling template search order.
  • Default RSS feed entry contents are truncated and stripped of HTML.

Theme Rewrite

Changes in the new theme:

  • Clean rewrite based on Bulma v0.9.3.
  • Icons from Feather Icons.
  • Consistent font sizes.
  • Improved layout. In particular, I removed the sidebar and improved the page header.