Skip to content

OINK 0.8.1 — Stable Print anchors, resilient Book numbers, and release-ready packaging

OINK 0.8.1 is a focused maintenance release: single-page Print keeps the same heading and footnote anchors as ordinary HTML, long Book titles no longer squeeze their sidebar numbers, and the project presentation now leads new sites through OINK Starter.

OINK 0.8.1 closes two narrow rendering defects and brings the public project surface into line with the framework that shipped in 0.8.0. It changes no component API, configuration key, content syntax, or compatibility floor. An existing 0.8.0 site can update its module pin without migrating content.

At a glance

  • A page rendered by itself in Print now keeps exactly the ordinary page’s heading and footnote IDs. Section and whole-Book Print still namespace those page-local IDs because several source pages share one aggregate document.
  • A Book sidebar number is now an atomic fixed-width cell. A long title may wrap, but it cannot shrink, clip, or wrap the number beside it.
  • Continuous integration uses one pinned Hugo Extended 0.165.0 toolchain for theme, publication, site, and browser checks. Hugo Extended 0.160.1 remains the declared consumer compatibility floor.
  • The project README now makes OINK Starter the primary route, documents the capability and compatibility boundaries, shows representative production sites, and explains why OINK is a distinct theme rather than a Docsy skin.
  • New 3:2 Hugo Themes gallery media, richer theme metadata, and explicit Docsy attribution complete the submission package without adding page assets to a consumer site.

Heading and footnote IDs are page-local facts in ordinary HTML. Before 0.8.1, the same page rendered alone as Print received the prefix reserved for an aggregate, so a URL fragment that worked on the regular page did not identify the corresponding element in that page’s Print output.

The rule is now explicit:

Output Heading and footnote IDs
Ordinary HTML page Authored or Goldmark-generated page-local IDs
Single-page Print The same page-local IDs as ordinary HTML
Multi-page section Print Source-page namespace added to page-local IDs
Whole-Book Print Source-page namespace added to page-local IDs

Explicit Book targets such as figures, tables, equations, and examples remain stable. Aggregate output still rewrites its cross-page links to the namespaced heading and footnote targets, preventing two chapters with #overview or fn:1 from producing duplicate IDs in one document.

Book numbers stay readable beside long titles

The Book sidebar uses a number cell followed by a title cell. The number cell could previously inherit shrinking and overflow behaviour from a long title, which made chapter numbers clip or break across lines at narrow widths. The number is now non-shrinking and atomic; only the title wraps. This is a CSS-only correction and does not change Book numbering or navigation order.

A clearer first route into OINK

The recommended starting point is now the small pgsty/oink-starter template rather than a clone of the documentation regression site. It includes neutral Docs, Blog, and Book content, three language profiles, and warning-strict GitHub Pages and Cloudflare Pages workflows without OINK’s own analytics, comments, test harness, or brand.

The new Starter tutorial takes that baseline through identity, languages, home data, content and navigation, brand, integrations, strict builds, and deployment in that order. Existing Hugo sites can still use the smaller from-scratch module path.

Upgrade

hugo mod get github.com/pgsty/[email protected]
hugo mod tidy

Commit both go.mod and go.sum, then run the site’s warning-strict production build. No content or configuration migration is required. The complete change list is in CHANGELOG.md.