Hugo: static site generator in Go, unrivalled build speed

Hugo (July 2013) by Steve Francia: static site generator written in Go, builds in milliseconds for thousands of pages. Go templates, Markdown, shortcodes, asset pipeline. Alternative to Jekyll without Ruby dependencies.

Open SourceWeb HugoGoSteve FranciaStatic Site GeneratorJamstackOpen SourceWeb

Jekyll’s limit

Jekyll (2008, Tom Preston-Werner, GitHub cofounder) had democratised static site generators: content in Markdown, Liquid templates, conversion to static HTML, free hosting on GitHub Pages. But: Jekyll is Ruby, requires Bundler/Ruby environment, is slow on large sites (thousands of pages → minutes of build).

The release

Hugo 0.1 is published on 5 July 2013 by Steve Francia (spf13). Apache 2.0 licence. Written in Go, single binary, zero dependencies.

Features

  • Extreme speed — 5000+ page builds in less than 3 seconds
  • Single binary — no runtime required (vs Ruby/Node/Python)
  • Content in Markdown — YAML/TOML/JSON frontmatter
  • Go templates — powerful text/template
  • Shortcodes — reusable macros within Markdown
  • Taxonomies — customisable tags, categories
  • Native multilingual — first-class i18n
  • Asset pipeline — SCSS, PostCSS, JS bundling, minification, fingerprinting
  • Live reload — dev server with hot reload
  • Image processing — resize, crop, filter with WebP/AVIF formats

Typical use cases

  • Personal and technical blogs
  • Documentation
  • Static portfolios and corporate sites
  • Changelogs and product sites
  • Landing pages with fast builds

Competitors

The static site generator space is crowded:

  • Jekyll (2008, Ruby) — GitHub Pages default
  • Hexo (2012, Node.js)
  • Middleman, Pelican, Octopress — other established SSGs
  • Hugo — the fastest in the landscape

In the Italian context

Hugo is starting to be adopted by Italian tech blogs and documentation sites, with presences on GitHub Pages. The “Hugo + Netlify + Git” stack is shaping up as an economical and maintainable pattern for medium-sized corporate sites.


References: Hugo 0.1 (5 July 2013). Steve Francia. Apache 2.0 licence. Written in Go. Single binary. Build speed ~1ms/page.

Need support? Under attack? Service Status
Need support? Under attack? Service Status