OINK 1.4.0 — Easier reading, better search
OINK 1.4.0 makes technical pages easier to read. Large tables can open in a roomier view, Mermaid and PlantUML share one diagram viewer, and local search handles mixed Chinese and English queries more usefully. Blog galleries and smaller component refinements round out the release.
Tables: expand only where needed
Most tables work well inside an article. For the few that need more room, add
.expand below the table. A small action appears in its upper-right corner on
mouse hover or keyboard focus; it remains visible on touch screens. Clicking it
opens the table in a dialog at a readable text size. Escape or Close returns to
the same place in the article.
.wide selects the technical-table layout: identifiers stay intact and long
descriptions have bounded widths. The two classes are independent and can be
combined. Goldmark accepts multiple classes in the same attribute block:
The same source renders below as a live table. Its corner control is the actual
.expand reader, and the long-table sizing comes from .wide:
| Extension | Version | Purpose |
|---|---|---|
pgvector |
0.8.1 |
Vector similarity search |
pg_stat_statements |
1.11 |
Statement statistics |
Existing .td-table--wide markup still works. Ordinary tables need no new
controls. The reader preserves links, selection and the original table; Print
and static outputs retain the complete content. Table captions now have proper
padding, align with column labels and leave room for the corner action.
See Tables.
Diagrams: one viewer, local rendering
Mermaid and local PlantUML now share zoom, pan, fit, source viewing, source copy and SVG download. Keyboard and touch controls work in the same viewer. Large rendering engines load only when a diagram approaches the screen, and diagrams hidden in Tabs or disclosures wait until they become visible.
PlantUML can render entirely in the browser using assets bundled with OINK.
Enable params.plantuml: true without a server endpoint; there is no Java,
Graphviz, npm installation or rendering service to maintain. An explicitly
configured endpoint keeps server rendering. Includes, external libraries and
some PlantUML features remain unsupported by the local engine; see the
PlantUML limits.
Failed rendering leaves readable source. Browser printing uses the rendered figure when available and source when it is not; dedicated static outputs retain their source fallback. Resizing, narrow columns and theme changes keep diagrams usable. Markmap gains a fit control, and Infographic diagrams retain an independent surface for their authored theme. See Mermaid and PlantUML.
Search: better queries and useful destinations
Local search now understands separated Chinese terms, mixed Chinese and English,
and technical identifiers such as shared_buffers or pg_basebackup. It
prefers pages matching all query terms and clearly labels partial matches when
no page covers everything.
Results show relevant section context and link to the actual heading anchor. Each page appears once. In the command palette, choose the whole site or the current content section using a compact scope control. Keyboard commands and Chinese input-method composition keep working. No search service, account or new configuration is required. See Local search.
Blog: browse by cover image
Set blog_index: gallery to add the fourth blog view alongside list, cards and
table. The gallery offers wall, seamless and masonry layouts plus a size
slider. Reader preferences are remembered independently from Expo albums.
Covers still lead to articles, in the same date order and pagination. Titles remain available to keyboard and touch users, missing covers have placeholders, and a simple grid remains usable without JavaScript. See Blog layouts.
Components: quieter, more consistent details
Cards, disclosures, Tabs, code controls, tables, Fields, badges, steps and navigation rows now share more consistent spacing, borders and state feedback. Copy feedback has reserved space, button labels stay still when pressed, and touch controls are easier to reach. Paper headings lose their decorative tails.
Three optional forms help with compact content:
{.cards .td-cards-list}orcards variant="list"creates a divided resource list.{.steps .td-steps-compact}orsteps variant="compact"presents a short procedure.{class="td-code-command"}turns a one-line code fence into a command strip.
Unsuitable command blocks keep their regular presentation with a warning; content is never discarded. Paper remains the default, Slate remains available, and Ink and Terminal remain opt-in experimental styles. See the component comparison.
Other reading fixes
- Fragment links reveal the necessary nested Tabs before navigating to their target.
- Equations and page controls stay inside narrow reading columns.
- Copy fallback works inside an open dialog.
- Wide diagrams, fitted views and print output retain readable content after resizing.
- New table-reader controls have labels in all 32 interface catalogs.
Upgrade
Use Hugo Extended 0.168.0 and Go 1.27.3. Go 1.27.3 is also the module minimum. Theme styles continue to compile with Hugo’s built-in LibSass; ordinary sites need no external Sass compiler or Node.js installation.
Commit the updated go.mod and go.sum. Refresh vendored or copied theme files
separately. Keep Hugo’s LibSass deprecation warning visible and review other
diagnostics; do not enable --panicOnWarning or HUGO_PANICONWARNING.
Existing content requires no general migration. The notable configuration
change is PlantUML: an enabled renderer with no endpoint now uses local mode.
Set params.plantuml: false to disable it completely. Maintained sites keep
Paper as the default with preset_menu: [paper, slate, ink, terminal].
The upgrade guide covers validation and rollback.
