About OINK

OINK is a local-first, Hugo-only theme for multilingual technical documentation

OINK turns Markdown, configuration, and local assets into a complete technical documentation site. Once a site has the theme source and Hugo Extended, it can build documentation, a blog, multilingual navigation, local search, diagrams, API references, and reusable content components without installing a frontend toolchain.

Start with the documentation, explore the working examples, or read the OINK product reference.

What OINK is

OINK is an independent theme directly evolved from Docsy. It preserves Docsy’s mature Hugo content model while establishing one canonical product surface:

  • a branded, responsive documentation shell;
  • Hugo-only consumer builds;
  • versioned local browser runtimes;
  • multilingual routing, metadata, search, and navigation;
  • reusable, accessibility-conscious content components;
  • a bilingual starter and verifiable offline distribution.

OINK is the project’s current working name. Until a public release defines the final brand, module path, and release coordinates, use an explicit checkout, archive, or immutable revision rather than inferring them from inherited metadata.

What makes technical documentation work

Technical documentation should help readers understand a product and complete a task with as little friction as possible. A useful documentation set is:

  • Reliable: statements, commands, versions, and examples match the product.
  • Comprehensive: readers can find the concepts, procedures, references, and troubleshooting material appropriate to their role.
  • Well organized: related information is grouped consistently and reachable through navigation, search, and stable links.
  • Accessible: content, components, color, focus, and keyboard behavior work for a broad audience.
  • Maintainable: authors can review, translate, test, and publish changes without a fragile delivery pipeline.

For an international audience, the same information should also remain equivalent across languages. OINK treats language identity, translated routes, stable heading IDs, search indexes, and alternate metadata as infrastructure rather than optional decoration.

What OINK provides

Capability What the theme supplies
Documentation and blog layouts Responsive navigation, breadcrumbs, table of contents, page metadata, feedback, print output, and content indexes
Automatic navigation Hugo content structure becomes section navigation without a separate menu manifest
Multilingual behavior Native-language selectors, translated-page routing, home-page fallback, hreflang, locale metadata, and per-language local search
Local-first browser features Bootstrap, Font Awesome, fonts, Mermaid, KaTeX, Markmap, Swagger UI, Redoc, Asciinema, ECharts, and Infographic assets ship with the theme
Content components Tabs, details, cards, navigation cards, carousels, diagrams, terminal recordings, charts, and parameter substitution
Site-owned customization Hugo configuration, menus, content, project SCSS, templates, and business components remain under site control
Reproducible delivery A Hugo-only production command, bilingual starter, vendor manifest, offline archive, migration guide, and automated fixtures

Author and publish simply

Write content in Markdown or HTML, preview it with Hugo’s local server, then publish the generated public/ directory through any static hosting platform. The consumer production command is:

hugo --gc --minify

See deployment options for local, GitHub Pages, Cloudflare Pages, Netlify, and object-storage patterns.

Build and search locally

OINK’s default path performs no build-time download and emits no theme-owned third-party browser request. Search uses a language-specific same-origin index, including a CJK substring fallback for Simplified Chinese. Authors may still configure remote analytics, media, diagram services, or hosted search, but those boundaries are explicit site decisions.

Serve a multilingual audience

Translations can live beside their source pages as page.md and page.zh.md. The theme derives language switching and SEO metadata from Hugo’s page model. This site demonstrates English as the primary language, Simplified Chinese as the second language.

Read multi-language support for content organization, explicit stable heading IDs, RTL behavior, and translation checks.

Customize without forking the shell

Sites own their logo, colors, typography, menus, content, and business-specific components. OINK owns the canonical shell and general-purpose primitives. This separation avoids maintaining a copied layout tree while preserving ordinary Hugo overrides where a real product requirement calls for them.

See look and feel and content components.

Upstream projects and acknowledgements

OINK stands on mature open-source work. Hugo, Docsy, and Fumadocs each influence the project in a different way: Hugo is the build platform, Docsy is the direct upstream, and Fumadocs is a design reference.

Project Relationship to OINK What OINK takes forward
Hugo Build platform Content model, templates, asset pipeline, multilingual routing, taxonomies, and static-site generation
Docsy Direct upstream Repository history, documentation conventions, layouts, Bootstrap foundation, and compatible APIs
Fumadocs Design reference A restrained, content-first shell, clear information hierarchy, and polished navigation interactions

Hugo: the platform

Hugo is the static site generator that builds an OINK site. OINK uses Hugo Extended for content discovery, templates, multilingual pages, taxonomies, asset processing, and static output. OINK is a Hugo theme, not a fork of Hugo.

Docsy: the direct upstream

Docsy is the direct code and content-model upstream of OINK. OINK preserves Docsy’s Apache-2.0 history and attribution, along with the content conventions and compatible APIs that remain useful to existing sites.

OINK is not an optional skin layered over a separate Docsy installation. It develops the inherited theme into an independent product with a standard shell, Hugo-only consumer builds, local browser runtimes, a generalized multilingual model, and additional content components.

Fumadocs: design inspiration

Fumadocs is a React.js documentation framework designed by Fuma Nama. In OINK’s lineage and dependency model, it is a design reference rather than the direct code upstream or build platform.

OINK’s current visual language and documentation shell take inspiration from Fumadocs: its restrained, content-first presentation, information hierarchy, navigation geometry, sidebar interactions, and table-of-contents treatment. OINK reinterprets those ideas for Hugo and the Docsy-derived codebase rather than making a pixel-for-pixel copy.

We thank Fuma Nama and the Fumadocs contributors for sharing their work in the open and for raising the standard of documentation design.

Attribution and boundaries

References to Hugo, Docsy, and Fumadocs describe project lineage, platform dependencies, or design inspiration. They do not imply endorsement. The names and trademarks belong to their respective owners. Source and distributions retain the applicable license and notice files.

Project status and next steps

This checkout is an implementation and documentation preview. A successful local build does not by itself establish a public release, hosted deployment, or stable remote module path.