Another year, another static site generator for this blog…
Over the years, I’ve found that while Hugo was initially pretty easy to setup and get a blog going, it’s tough to customize exactly as I wanted. The separation of themes, archetypes, and pages were way too much to wrap my head around, when all I wanted to do was publish some posts and occasionally new pages separate from blog posts, like dedicated project pages.
I started reading about Eleventy recently, and it’s more generic approach to static site generation sounded great. Using their base-blog starter repo, I carried my HTML templates and CSS over and started customizing as need fit. Thankfully ‘Nunjucks’ and Golang template languages are pretty similar, so a total refactor wasn’t needed. Along the same lines, since both use Markdown with YAML frontmatter, all my posts carried over without a change.
Thus far, my favorite feature is Eleventy’s single Nunjucks and/or Markdown file approach to creating new pages; create ’tags.njk’ and ‘/tags’ is created with the rendered contents. The ‘Nunjucks’ language integration seems very cool too. I’ve been able to pickup some of the language and create new filters easily. This is similar to stuff I’ve built with Golang to generate HTML files using various simplistic filters and common templates.