gohugoio/hugo
The world’s fastest framework for building websites.
How hugo is put together
Hugo is a fast static site generator written in Go. It is a CLI application (main.go -> commands.Execute) built on cobra/simplecobra, with a layered architecture: a command layer (commands/) drives the site-building core (hugolib/), which reads content through an abstraction stack of virtual filesystems (hugofs/) and configuration providers (config/), renders pages via Go templates and asset pipelines (Sass/esbuild/minify), and publishes output to disk or memory. An embedded development web server (commands/server.go) serves rendered pages with live-reload and incremental rebuilds, and an optional deploy edition pushes sites to S3/GCS/Azure via gocloud.dev. Build variants are controlled by Go build tags (extended for LibSass CGO, withdeploy for cloud deployment), and WASM-based tooling (internal/warpc) provides Dart Sass/Katex/AVIF capabilities.
Languages
Frameworks
Infrastructure
Major components
commands
CLI command layer (build, server, config, deploy, mod, new, gen, import, list) implemented over simplecobra/cobra.
hugolib
Core site-building engine: page model, content maps, collections, taxonomies, menus, pagination, rebuilds, and publishing.
hugofs
Layered virtual filesystem abstractions (root mapping, hashing, filtering, symlink-guarding, overlay) used to mount themes/modules/content directories.
config
Configuration loading, defaults, environment-variable handling, and multi-language/module config merging.
deploy
Direct cloud deployment of the published site to Google Cloud Storage, AWS S3/CloudFront, and Azure Blob Storage (withdeploy tag).
livereload / server runtime
Embedded dev HTTP server with WebSocket live reload, fast render mode, redirects/header matching, and TLS via local CA (mclib).
tpl/tplimpl + transform
Template execution engine and output transformers including livereload injection and minification.
internal/warpc
WASM plugin host (wazero) providing Dart Sass transpilation, KaTeX rendering, and AVIF generation, plus bundled JS/C deps.
A quiet week with a single tweak to how template performance numbers are displayed.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A quiet week with a single tweak to how template performance numbers are displayed.
Week of 2026-08-17
The codebase moved to Go 1.27 and gained better test coverage plus a handy new Pages method.
Week of 2026-08-10
Version 0.165.0 shipped alongside new publishing tools for templates and fixes for reading-time math and resource chaining.
Week of 2026-08-03
Security hardening and dev-server stability took center stage, with CSS/JS build options gaining new flexibility.
Week of 2026-07-27
Housekeeping week: old deprecated features were removed, dependencies updated, and a new ChromaStyles feature added.
Over the past five weeks, Hugo's development focused on polishing its template and asset pipeline: new features like resources.Publish, css.ChromaStyles, and improved template return handling landed alongside a steady stream of bug fixes for the built-in dev server. The project also released version 0.165.0, upgraded to Go 1.27, and cleaned up dependencies and old deprecations throughout.
Week by week
2026-08-24A quiet week with a single tweak to how template performance numbers are displayed.latest1 change
Refactor
Cleaner template metrics formatting
The tool that shows how long each template takes to run now displays durations in a more readable format.
2026-08-17The codebase moved to Go 1.27 and gained better test coverage plus a handy new Pages method.6 changes
Chore
Upgrade to Go 1.27
Hugo now builds with the latest version of the Go programming language.
Feature
New IndexOf method for page lists
Template authors can now ask where a particular page sits within a list of pages.
Chore
Fast render mode tests
Added automated checks for Hugo's speed-optimized preview mode so it stays reliable.
Refactor
Modernize pass across the codebase
Ran an automated tool to update the code to current Go best practices.
Fix
Fixed config command language flag description
Corrected the help text shown when using the language option with the config command.
Chore
Removed comments from rebuild tests
Tidied up leftover comments in tests that verify content rebuilds.
2026-08-10Version 0.165.0 shipped alongside new publishing tools for templates and fixes for reading-time math and resource chaining.6 changes
Chore
Release of Hugo 0.165.0
Bumped versions and prepared the repository for the next development cycle after cutting the release.
Feature
resources.Publish function
Templates can now directly publish a resource (like an image or file) to the final site output.
Feature
Improved return keyword in templates
Templates got better support for returning values early, making them more flexible to write.
Fix
Fixed ReadingTime and FuzzyWordCount
Corrected the estimated reading time and word count shown on articles.
Fix
Fixed crash when deleting multiple pages at one path
Resolved a panic that could occur when several pieces of content were removed from the same location.
Fix
Restored chained resource transformations
Fixed a problem where image or file processing steps stopped working correctly when linked together.
2026-08-03Security hardening and dev-server stability took center stage, with CSS/JS build options gaining new flexibility.6 changes
Fix
TailwindCSS removed from default allowed commands
For safety, running TailwindCSS is no longer permitted by default without explicit configuration.
Fix
Server no longer errors on deleted static files
The preview server now handles deleted files and folders gracefully instead of crashing.
Feature
Data.Artifacts for css.Build and js.Build
Build steps for styles and scripts can now expose extra output information to templates.
Feature
New importContext option for asset builds
CSS, JS, Sass, and TailwindCSS build steps can now control how imports are resolved.
Feature
classDark and classLight options for syntax highlighting styles
Code highlighting colors can now adapt between dark and light site themes.
Fix
Preserved token colors lost by minification
Syntax-highlighted code no longer loses its colors when the site is minified.
2026-07-27Housekeeping week: old deprecated features were removed, dependencies updated, and a new ChromaStyles feature added.5 changes
Refactor
Removed old deprecations
Dropped long-obsolete features that had been scheduled for removal.
Feature
Added css.ChromaStyles
Introduced a new way to generate stylesheet rules for code syntax highlighting.
Chore
Dependency updates
Refreshed many underlying libraries, including the Markdown engine goldmark and image tools.
Fix
Better AVIF error message
Improved the error shown when image conversion runs out of memory.
Chore
Improved check script
The developer linting script now gives clearer guidance when a required tool isn't installed.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required