Skip to content

OINK v1.5.1

Latest

Choose a tag to compare

@Vonng Vonng released this 06 Nov 16:31

OINK 1.5.1 is a maintenance release for the bilingual reader introduced in 1.5.0. It stabilizes Duo View, corrects RSS and Print output, and fixes navigation, search, validation, accessibility, and localization. Existing params.ui.compare settings and the compare_translations action remain compatible; no content migration is required.

Duo View

  • Use the Duo View name consistently across all 32 interface languages, the page entry, Command Palette, keyboard help, and status messages. With keyboard navigation enabled, B toggles the reader from the page or either pane.
  • Ignore the iframe's initial blank load, report a document that remains blank after 15 seconds, and provide Retry and a direct link. A pane becomes ready when its article is parsed, so slow images do not discard readable content.
  • Present Sync Scroll as a labelled switch. Explain partial heading matches and overall-progress synchronization separately, showing the note only when headings actually differ.
  • Keep the follower pane synchronized during continuous scrolling, reveal hidden tabs for fragment links, and remeasure after tab changes.
  • Preserve the target language, Sync setting, visible pane, and reading positions across reopen, reload, and history restoration. Improve Escape handling, keyboard scrolling, menu state, and focus restoration.
  • Exclude later blog archive pages and translations that do not publish HTML from comparison targets.

Publishing, navigation, and accessibility

  • Keep RSS summaries in RSS format state; sort before limiting entries, omit undated publication dates, and render static component HTML.
  • Restrict blog archive pagination and prev/next links to HTML so Print produces one complete aggregate.
  • Namespace nested component IDs and references together, keeping copy and chart controls attached to their own content.
  • Keep navigation JSON IDs and section indexes stable across language and deployment prefixes; avoid duplicated prefixes in version links.
  • Restore mobile utilities on navbar-only pages, retain populated taxonomy controls, and fix empty TOC controls, duplicate Book numbering, closed-drawer shadows, and list-style leakage.
  • Improve keyboard focus and Escape behavior, localize blog pagination and breadcrumbs, and preserve print links, forced-colors navigation, and RTL typography. Apply the shared URL policy to Landing links and hide repeated marquee rows from assistive technology.

Authoring and search

  • Warn and use safe fallbacks for positional shortcode arguments, invalid Book numbers, missing manual-link references, and malformed Landing records.
  • Rank repeated search terms above passing mentions within the same field tier, including literal identifiers such as top_k (#60).
  • Read page descriptions through .Description instead of the deprecated .Params.description path.

Upgrade

Use Hugo Extended 0.168.0 and Go 1.27.3. Hugo's built-in LibSass remains the supported compiler; no external Sass installation is required.

hugo mod get github.com/pgsty/oink@v1.5.1
hugo mod tidy
hugo --environment production --minify --printPathWarnings

Commit go.mod and go.sum. Keep the upstream LibSass deprecation warning visible; do not enable --panicOnWarning or HUGO_PANICONWARNING. See the upgrade guide for vendored themes and submodules.

Validation

Validated with Hugo Extended 0.168.0 and Go 1.27.3: 49 theme checks, 67 documentation checks, and 519 browser checks passed, including multilingual Duo View coverage and reproduced RSS, Print, and stalled-pane regressions. GitHub CI passed for the release tag, and the documentation site's published-pin and browser suites passed.

English release notes · Chinese release notes · Full changelog