Goal
Use the OINK site as the bilingual documentation, integration, and regression surface for the theme's everyday content primitives.
Theme roadmap: pgsty/oink#3
This issue deliberately tracks the consumer-site layer. Theme implementation remains in pgsty/oink, and local rendering, theme release, module pinning, and hosted deployment are separate completion gates.
Theme dependencies
A component can land here incrementally after its theme issue is ready; this issue does not require one monolithic site PR.
Scope
Documentation and examples
- Extend the existing
content/docs/content/components.md page; do not create a parallel component catalog.
- Submit the matching Simplified Chinese page at
content/docs/content/components.zh.md in the same change.
- Document stable syntax, defaults, invalid-input behavior, output fallbacks, configuration, and non-goals.
- Add representative examples covering light/dark themes, desktop/mobile layouts, long values and filenames, and nested content.
- Clearly distinguish opt-in interactive features from zero-JavaScript primitives.
Markdown, print, RSS, and no-JS coverage
- Add the new examples to the generated Markdown fixture/golden surface.
- Verify that the documented plain-text notation matches the theme contract.
- Add focused build assertions for print and RSS where a golden alone is insufficient.
- Verify that unrelated pages do not load the image runtime and that all content remains readable without JavaScript.
Browser and accessibility regression coverage
Extend the existing browser suites, especially:
tests/browser/content-components.spec.mjs
tests/browser/accessibility.spec.mjs
- responsive coverage where needed
Cover:
- responsive layout and overflow behavior;
- keyboard operation and focus restoration for the zoom dialog;
- Escape, explicit close, and backdrop close;
- no nested interactive controls;
- axe checks in representative light/dark and desktop/mobile states;
- long text, deep FileTree nesting, and missing/invalid parameter build failures.
Theme checkout and release verification
- During development, use the sibling theme checkout through the ignored Hugo workspace mechanism (
go.work / HUGO_MODULE_WORKSPACE).
- Record the exact theme revision used for local verification.
- After the theme release exists, update the site's Hugo module pin in a separate, reviewable change.
- Run the relevant focused tests first, then the full site suite.
- Treat hosted verification as a later, explicit gate after the site change is deployed.
Suggested implementation slices
Acceptance criteria
Non-goals
- Implementing theme shortcodes, SCSS, or JavaScript in this repository.
- Duplicating the component catalog under a new information architecture.
- Blocking early documentation slices on Gallery.
- Treating a local Hugo build as release or production evidence.
Goal
Use the OINK site as the bilingual documentation, integration, and regression surface for the theme's everyday content primitives.
Theme roadmap: pgsty/oink#3
This issue deliberately tracks the consumer-site layer. Theme implementation remains in
pgsty/oink, and local rendering, theme release, module pinning, and hosted deployment are separate completion gates.Theme dependencies
imgproc: [Media] Define shared image resolution and harden imgproc oink#8A component can land here incrementally after its theme issue is ready; this issue does not require one monolithic site PR.
Scope
Documentation and examples
content/docs/content/components.mdpage; do not create a parallel component catalog.content/docs/content/components.zh.mdin the same change.Markdown, print, RSS, and no-JS coverage
Browser and accessibility regression coverage
Extend the existing browser suites, especially:
tests/browser/content-components.spec.mjstests/browser/accessibility.spec.mjsCover:
Theme checkout and release verification
go.work/HUGO_MODULE_WORKSPACE).Suggested implementation slices
imgproccompatibility cases.Acceptance criteria
.zh.mddocumentation ship together for every exposed component.Non-goals