Skip to content

Repository files navigation

pgsty.com

Website Deploy Hugo License

Corporate portal for PGSTY — the company behind Pigsty, an open-source PostgreSQL distribution. Bilingual: English at /, Simplified Chinese at /zh/.

Build

Static site generated by Hugo extended (≥ 0.155) with the Docsy module pulled in as a Hugo module — Docsy supplies the chrome and PostCSS pipeline, but the pages that matter do not use its templates.

  • Homepage (layouts/index.html) is a fully custom landing page. Both languages live in one template, switched inline; there is no Markdown body behind it.
  • Pricing (/price/) is its own layout, the only other real page.
  • Content is data, not prose. Everything the pages render comes from data/portal/*.yaml, read via hugo.Data.portal.*. Editing the site usually means editing YAML, not templates.
  • Styles are two layers. static/css/landing-v3.css is the shared design system used across the Pigsty family of sites; static/css/portal-v1.css holds the components specific to this portal. Both are fingerprinted by content hash for cache busting.
  • Zero third-party requests at runtime — fonts, icons, and scripts are all self-hosted under static/.

Requires Hugo extended, Go (for the module graph), and Node.js with npm (for the PostCSS toolchain):

npm ci        # PostCSS toolchain
make dev      # http://localhost:1313
make build    # production build -> public/
make check    # module verify + strict build + internal link check

make check is the real gate: it builds with --panicOnWarning and then runs bin/check_internal_links.py, which walks the rendered HTML and resolves every internal href/src and anchor against the output tree. External hosts are deliberately never requested, so the check stays hermetic.

Deploy

Pushing to main runs .github/workflows/cloudflare.yml: Hugo build → internal link check → force-push public/ to the page branch as an orphan commit. Cloudflare Pages is wired to that branch and serves the result. Pull requests build and check, but do not deploy.

The build uses the baseURL configured in hugo.yaml; nothing is environment-specific.

Layout

Path What it is
layouts/index.html Homepage, fully custom, both languages inline
layouts/_default/price.html Pricing page
layouts/_partials/portal/ Shared head / nav / footer
data/portal/*.yaml All rendered content
static/css/landing-v3.css Shared design system (do not fork tokens)
static/css/portal-v1.css Portal-specific components
static/js/landing-v3.js Theme toggle, copy buttons, scroll reveal
static/fonts/ Self-hosted webfonts
bin/check_internal_links.py Link contract check, run by make check
bin/metrics.py Refreshes GitHub star counts in data/portal/

Content is licensed CC BY 4.0. PIGSTY® and PGSTY® are registered trademarks.

© 2018-2026 PGSTY PTE. LTD.

About

Website of pgsty

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages