The bilingual PGSTY corporate portal pins
github.com/pgsty/oink v0.6.0 as its Hugo
theme. The site keeps bespoke home, about, pricing, and solutions layouts while
OINK supplies the reusable content system, shortcodes, icon set, favicon
conventions, and Markdown/LLMS output formats. The bespoke homepage also
dispatches its extensible content band from data/home/<language>.yaml through
OINK's composable section API, so generic sections can evolve without copying
theme templates into this repository.
Site navigation is OINK 0.6's own navbar: a centered menu tree with one-column
icon dropdown panels, a boxed search trigger, and a phone drawer carrying the
full labelled tree. Entries come from menu.main in hugo.yaml — one tree per
language — and layouts/_partials/portal/nav.html only bridges them to the
theme's navbar-item / navbar-entry-link / navbar-group-items partials.
The portal carries no GitHub badge in its chrome; language and theme share one
segmented control matching the search box, where the language trigger shows the
target language's own short label. The chrome stylesheet is compiled from the
pinned module in assets/scss/portal-oink.scss; static/css/portal-v1.css maps
the Landing v3 palette onto the --bs-* / --td-* tokens it reads.
Every portal page also reuses OINK's same-origin, language-separated search
index and Command Palette. Cmd/Ctrl-K and / open page discovery and shared
page actions; \ opens localized portal commands. The bridge lives in
layouts/_partials/portal/palette.html, while the registry, index, ranking,
dialog, and action behavior remain owned by the pinned theme. Colour state stays
in the portal's own pgsty-landing-theme key — the theme's dark-mode.js is
deliberately not loaded, so there is never a second store.
make d # Debug with the sibling ../oink checkout
make s # Serve with the theme version pinned in go.mod
make b # Build with the pinned theme
make c # Run the complete site checkmake d applies a one-command replacement for the sibling OINK checkout without
pinning the preview port. The long targets are debug, serve, build, and
check; serve retains the pinned-theme preview. make c validates rendered
HTML, Markdown, and llms.txt links, and
rejects any false PGSTY/PIGSTY registered-trademark claim in source or output.
To update the pinned theme intentionally, run make update-theme, review
go.mod and go.sum, then rerun the checks.
Pushing main triggers two independent builds:
- GitHub Actions builds and deploys the GitHub Pages site.
- Cloudflare Pages builds
mainwith Hugo and servespgsty.com.
Both deployment paths use Hugo extended 0.164.0.