Browse Docs

⚡ Hugo

What is Hugo

Hugo is a fast static site generator, written in Go.

It turns Markdown + templates + config into a static website.

Install

Use the extended build if you process SCSS (this theme does):

1# binary
2curl -L https://github.com/gohugoio/hugo/releases/download/v0.154.3/hugo_extended_0.154.3_linux-amd64.tar.gz | tar -xz
3sudo mv hugo /usr/local/bin/hugo
4
5# or snap
6sudo snap install hugo

You also need Dart Sass and Node/npm for SCSS + PostCSS.

New site

1hugo new site myblog
2cd myblog

Content

1hugo new posts/first-post.md   # draft: true by default

Serve / Build

1hugo server -D                 # dev server, include drafts
2hugo                           # build into public/
3hugo --gc                      # build + garbage-collect cache
4hugo --minify -e production    # production build

Layout

1content/     source markdown
2layouts/     templates (override the theme)
3static/      files copied as-is (images, favicons)
4data/        site data (.yaml/.json/.toml)
5config/      configuration (hugo.yaml, params, menus)
6public/      generated site (gitignored)

Front matter

1---
2title: "First Post"
3date: 2026-01-01T00:00:00+02:00
4draft: true
5---
6
7Content.

Templates & partials

  • layouts/_default/single.html, list.html, baseof.html
  • Override anything from the theme by mirroring the path in layouts/.
  • Partials: {{ partial "name" . }}

Useful functions

1{{ .Title }}          {{ .Content }}      {{ .Params.custom }}
2{{ range ... }}       {{ if ... }}        {{ with ... }}
3{{ resources.Get "x" | minify | fingerprint }}

Modules

1hugo mod get -u ./...   # update modules
2hugo mod tidy
3hugo mod graph          # list the module graph

Key notes

  • _index.md = section page; index.md = leaf bundle page.
  • draft: true pages only appear with hugo server -D.
  • The ./-relative image paths resolve against static/, not the content bundle.
Sunday, October 4, 2026 Thursday, January 1, 2026