Skip to content

feat: migrate documentation site to OINK 1.0 - #466

Open
imbajin wants to merge 23 commits into
masterfrom
cx-oink-1-migration
Open

feat: migrate documentation site to OINK 1.0#466
imbajin wants to merge 23 commits into
masterfrom
cx-oink-1-migration

Conversation

@imbajin

@imbajin imbajin commented Aug 30, 2026

Copy link
Copy Markdown
Member

Test drive

Open the live ASF staging site →

Experience Try it
Refined homepage English · 中文
Task-oriented Docs Open latest Docs and hover Documentation to switch versions
Local search Open Docs and press / or ⌘K
Supported versions 1.7 · 1.5
Chinese archives 1.7 中文 · 1.5 中文
Community English · 中文

The preview uses the same version manifest, build matrix, validation, and publication path intended for master.

Why this migration

This PR moves the Apache HugeGraph documentation site from Docsy to pinned OINK 1.0.

It preserves the familiar HugeGraph product story and public URLs while improving how users navigate, search, and compare documentation across languages and supported versions.

Main user-facing improvements in the OINK 1.0 migration

Visual evolution: A → B → C

A — Docsy baseline B — Initial OINK layout C — Refined OINK homepage
Apache HugeGraph Docsy homepage baseline Earlier Apache HugeGraph OINK homepage with a separate header Refined Apache HugeGraph OINK homepage with the header integrated into the hero
Original product copy in the Docsy shell. OINK functionality with a visually separate header. Familiar content with an integrated header, task-oriented Docs, and a simpler footer.

The append-only visual history and alternatives remain available in #467.

What improves

  • task-oriented Docs navigation with Get Started, Components, and Develop open by default;
  • one concise HugeGraph lockup across visible shell surfaces while page titles and metadata remain Apache HugeGraph;
  • one continuous purple Docs header across the navbar and sidebar, implemented with OINK structure and theme tokens;
  • edge-aligned Homepage and Community navigation plus a sticky Homepage header;
  • fast bilingual local search with keyboard access;
  • desktop/mobile language and version navigation for latest, 1.7, and 1.5;
  • responsive reading, dark mode, print support, accessible controls, and no-JavaScript fallbacks;
  • preserved /docs/..., /cn/docs/..., blog, download, and /client-go/ routes;
  • restored bilingual Community content, with a contributor showcase tracked separately in Add a contributor showcase to the Community page #468.

Main changes

  • pins OINK 1.0, Hugo Extended 0.165, and Go 1.27;
  • migrates Docsy-specific landing and shell behavior to data-driven OINK layouts;
  • preserves the original Homepage title, descriptions, calls to action, and core illustration;
  • restores legacy Homepage body typography, blue links, and the yellow Download action;
  • drives sidebar, pager, Docs cards, active paths, and navigation data from one bilingual task-oriented IA;
  • configures default expansion through bilingual OINK page parameters rather than title checks;
  • shares one display-brand configuration across navbar, sidebar, and subnav;
  • renders supported versions from an explicit manifest without modifying release branches;
  • isolates language, version, canonical, search, sitemap, action, asset, and error-page output;
  • publishes through the dedicated ASF OINK staging site without replacing standard staging or production.
flowchart LR
  A[Version manifest] --> B[Latest, 1.7, and 1.5]
  B --> C[English and Chinese builds]
  C --> D[Validate and aggregate]
  D --> E[ASF staging]
  D --> F[Production publication]
Loading
Mobile preview Final Apache HugeGraph OINK mobile homepage on ASF staging
Navigation and footer refinement
Documentation versions Compact ASF footer
Documentation hover menu with latest, 1.7, and 1.5 Compact ASF footer without duplicate utilities
Homepage mobile drawer Docs mobile drawer
Homepage mobile drawer with versions, languages, themes, and GitHub Docs mobile drawer with versions, languages, themes, and GitHub
Unified Docs brand header HugeGraph Docs with one continuous purple navbar and sidebar identity band
Verification
  • strict production and staging builds cover latest, 1.7, and 1.5;
  • 66 unit/integration tests, Ruff, source-link checks, and generated-output validators pass locally;
  • canonical, hreflang, sitemap, navigation, search, assets, redirects, and error documents are validated per language/version;
  • desktop/mobile, light/dark, sidebar expand/collapse, keyboard behavior, 200% zoom, forced colors, print, and no-JavaScript readability are browser-tested;
  • staged resources, CSP, MIME types, fragments, protected paths, and case-sensitive historical routes are verified before publication.

Current exact-head CI details remain available from the pull request checks.

Rollback and exclusions

The migration can be reverted through the repository's normal pull-request revert flow; it does not require rewriting published branch history. Neither standard asf-staging nor asf-site is used by this preview.

This PR intentionally does not redesign the future contributor gallery, mechanically rewrite unrelated historical content, define a new EOL-wide SEO policy, or add an API renderer without a reliable OpenAPI source.

- pin OINK, Go, Hugo, and GitHub Actions versions
- replace Docsy landing and bilingual configuration
- add strict production and staging artifact validation
- preserve aliases, machine outputs, and license notices
- convert 45 bilingual details blocks with OINK tooling
- verify tables, nested code, and long JSON examples
- remove obsolete Node and S3 Docsy entry points
- retain zero residual legacy constructs
- resolve latest, 1.7, and 1.5 to exact commit SHAs
- build isolated production and staging artifacts
- validate URL, language, metadata, and license contracts
- aggregate reviewed outputs before staging or production publish
- move the site logo from the Apache /icons alias
- update OINK branding to use /img/logo.svg
- enforce the hosted asset path in the URL contract
@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. enhancement New feature or request labels Aug 30, 2026
- resolve PR builds from the exact source head
- keep shell, scripts, content, and metadata aligned
- verify the pinned OINK checksum, identity, and replacement
- restore the original homepage copy and brand artwork
- localize CSP-sensitive images and add responsive assets
- fix bilingual search, version, 404, and accessibility behavior
- harden historical builds and output security validation
- restore the real three-link historical overlay contract
- normalize archived Server headings outside fenced code
- keep 404 pages out of canonical and hreflang clusters
- close srcset and aggregate security validation gaps
- scope missing translations to the current artifact base
- validate language actions against hreflang contracts
- cover URL, metadata, active-state, and escape regressions
- add localized accessible names to rendered page TOCs
- validate labels in the actual artifact publication path
- preserve the security-only validator contract
- group bilingual docs by user tasks across versions
- fix scoped anchors and image descriptions
- improve mobile tables and deny staged Git metadata
- harden navigation and historical adapter validation
- remove generated OINK and browser dependency notices
- stop copying and validating the static license bundle
- retain the OINK attribution in the repository NOTICE
- add the refined homepage checkpoint for A-to-B-to-C comparison
- add a concise OINK capability overview for the PR
- keep migration visuals reviewable with the source branch
- restore the original homepage and bilingual Community content
- integrate the homepage header and simplify the ASF footer
- move staging and CI to the standard ASF preview domain
- preserve historical builds with optional shared-footer rewrites
- point both language pages to the current Community anchor
- keep the restored Community entry paths consistent
- resolve the final independent review finding
- preserve the existing standard ASF staging site
- restore the OINK-specific preview profile and hostname
- validate the dedicated profile in aggregate tests
- capture the final desktop and mobile OINK homepage
- record the restored Community landing page
- preserve the existing standard staging design as a reference
- restore bilingual version defaults and direct Docs version links
- move keyboard help into the persistent header
- preserve mobile version, language, theme, and GitHub access
- remove duplicate footer utilities and tighten ASF spacing
- capture desktop Documentation version navigation
- record homepage and Docs mobile utility drawers
- preserve the compact ASF footer checkpoint
- move the Apache wordmark below the public img path
- avoid the Apache server reserved /icons alias
- keep bilingual footer data and fallback paths aligned
- expand Get Started and Components through OINK front matter
- keep deeper groups and remaining sections collapsed
- apply the same navigation state to English and Chinese
- open the Develop group by default through OINK front matter
- keep nested development groups collapsed
- mirror the navigation state in English and Chinese
- align Homepage and Community navigation to viewport edges
- restore Homepage system typography, link colors, and yellow Download CTA
- keep the Homepage header sticky with a readable purple scroll state
- apply the familiar purple banner to Docs across themes
- separate the visible HugeGraph lockup from the SEO title
- share one shell brand config across navbar, sidebar, and subnav
- merge the desktop sidebar identity row into the purple header
- preserve mobile drawer and forced-colors behavior
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant