Page parameters
This page is the complete table of page-level parameters, listing only the keys
the OINK theme reads. Keys the theme reads solely to warn that they were
renamed or removed are not listed here — they are in
Migration, and they are also kept out of the
generated editor schema. Hugo’s own front matter fields (slug, url, build,
sitemap, expiryDate and the rest) work as usual; their meaning is in the
Hugo documentation. Site
parameters (params.* in hugo.yml) are in
Configuration.
How to read the tables
Precedence, highest first:
- The page’s own front matter;
- The nearest
cascade(when several cascade layers set the same key, the one closest to the page wins); - The site parameter in
hugo.yml.
Keys whose Default column says “site value” fall back to the site parameter of the same name when unset.
Page keys are written at the top level of the front matter, and the key name is
the site key with its ui. prefix dropped: the site’s
params.ui.section_index is the page’s section_index. Front matter never
carries a ui: block; the keys sit at the top level. A ui: block written
there is not read and not reported, so check the key name against this page
when a setting seems to have no effect.
Inside a cascade the key names are unchanged, just one level deeper:
An invalid value does not stop the build. The theme warns — naming the key, the
value it got and the fallback it used — and renders the page with the default in
the table, so one typo degrades one setting instead of serving HTTP 500 on every
URL under hugo server. It still never ships: every publishing gate builds with
--panicOnWarning, which turns that warning back into a hard failure where it
counts.
No front matter key stops the build; the theme’s templates never raise an error. Where carrying on would publish something wrong rather than merely plain — an incomplete upstream attribution, for instance, because a partial notice reads exactly like a complete one — the warning is followed by omitting that block entirely rather than by a fallback. The one thing here that does stop a build belongs to Hugo, not the theme: a reference that cannot resolve.
Basics
description, ,- One-sentence summary: section cards, search snippet,
meta description; rendered as a standfirst above the body on blog pages weight, ,- Ordering among siblings; use multiples of 10.
0(unset) sorts after every page that has a weight — see Organizing content draft, ,- A draft never reaches the build output;
hugo server -Dpreviews it — see Writing pages type, ,- Decides the template and the shell:
docs,book,blog,swagger— see Organizing content
Sidebar and navigation
The guide is Organizing content.
sidebar_divider, ,- The row renders as a sidebar group heading: not a link, and not in the pager sequence
sidebar_root_for, ,- Makes this section a sidebar tree root;
selfincludes the section index,childrencovers descendants only. Any other value warns and is ignored sidebar_root_link_self, ,- The root row links to itself;
falselinks to the parent section instead. A non-boolean warns and usestrue toc_root, ,- When the sidebar root is the site home, excludes this whole top-level section from the tree and the pager sequence
theme_color, ,#rgb/#rrggbbhex tinting this page’s accent grounds. On a section root’scascadeit gives the whole section an identity — see Brand and appearance
Page shell
Site-level defaults and what they do are in Layouts and page types.
Search
The guide is Search.
Output formats
The guides are AI-agent support (.md and
llms.txt) and Print.
Page end: comments, feedback and provenance
The order is fixed as feedback → provenance → pager → comments; see Writing pages.
comments, ,- Whether this page shows the giscus comment section — see Comments
annotation, ,- The “last modified / provenance” block at the page end. Only a boolean is accepted; anything else warns and falls back
backlinks, ,- Whether the right rail shows the “Backlinks” group beside the table of contents; a section can cascade it. Only a boolean is accepted; anything else warns and falls back — see Navigation and menus
Upstream attribution
When a page is derived from material elsewhere, upstream_link declares the
source and the page-end provenance line gives the work, the copyright holder,
the licence and a link to the full notice. This family resolves site parameters
→ the data/upstreams entry named by upstream_source → this page’s front
matter, so the most specific declaration wins.
upstream_link is read from front matter only (a cascade counts, site
parameters do not) — a site-wide value would make every page claim the same
source. A companion key without upstream_link warns and the attribution is omitted.
upstream_link, ,- The address of the material this page is derived from. An empty string opts out of an inherited cascade value
upstream_name, ,- The upstream work, as the attribution names it. Required once
upstream_linkis set upstream_license, ,- Must be found in
data/licenses, or it warns and the attribution is omitted. Required upstream_notice, ,- The page carrying the full notice (licence text, warranty disclaimer, upstream NOTICE, snapshot pin). Required
Missing any one of the four required keys (upstream_name,
upstream_copyright, upstream_license, upstream_notice) warns and omits the attribution: a
partial attribution is worse than an obvious omission. The theme ships an SPDX
table at data/licenses.yaml, and a site adds to or overrides it with a file of
the same name.
Image zoom
image_zoom, ,- Whether images on this page open full size — see Images. A non-boolean warns and falls back
Blog posts
The guide is Blog posts.
authors, ,- Terms of the
authorstaxonomy, in byline order — see Authors and bylines. Needsauthor: authorsundertaxonomies: series, ,- Terms of the
seriestaxonomy. The strip above the body uses the first one — see Series series_weight, ,- Place in the series. Weighted members come first in ascending order, the rest follow by ascending date
tags, ,- Tags — see Taxonomies
images, ,- The first entry becomes the post’s featured image and share card; put it in a section
_index.mdcascade for a section-wide default.images: []opts the page out of an inherited cascade value; it does not suppress an image the page bundle already supplies under afeatured,coverorthumbnailname featured_image, ,- How this article renders its own featured image;
heropaints the immersive full-bleed shell. An invalid value warns and falls back blog_index, ,- Written on a blog root, the index form for that section.
tablelists the whole section without pagination. An invalid value warns and falls back blog_index_columns, ,- Card columns at wide breakpoints; medium and narrow layouts retain their responsive limits
Book
The guide is Books. A whole book sets type: book through
a section cascade.
Landing
The guide is Home and landing pages. Any page with
layout: landing uses the landing shell.
Release pages
The guide is Releases and downloads. A section with
layout: releases ignores weight and sorts by release date and SemVer,
newest first.
Related
- Writing pages — the handful of keys every page needs
- Organizing content — what the sidebar and navigation keys actually do
- Configuration — the full table of site parameters in
hugo.yml