Skip to content

feat: migrate documentation site to OINK 1.0 - #466

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

feat: migrate documentation site to OINK 1.0#466
imbajin wants to merge 16 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 →

Try the main migration improvements directly:

Experience Try it
Refined homepage English · 中文
Task-oriented Docs navigation Open latest Docs
Local search Open Docs and press / or ⌘K
Supported versions 1.7 Docs · 1.5 Docs
Language-aware 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 keeps the familiar HugeGraph product story and public URLs while improving how users find, 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 — First selected 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 and brand scene in the Docsy shell. OINK navigation and functionality with a visually separate header. The header and hero form one continuous brand surface; the familiar homepage descriptions return and the footer is simpler.

The append-only design history, including alternative and mobile checkpoints, remains available in #467.

What improves

  • task-oriented Docs navigation for getting started, components, development, operations, and reference;
  • fast local bilingual search with keyboard access;
  • English/Chinese and version-aware navigation;
  • centrally rendered latest, 1.7, and 1.5 documentation;
  • responsive reading, dark mode, print support, accessible navigation, and readable 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;
  • one production-shaped CI and ASF staging path shared by pull requests and master.

Main changes

  • replaces the Docsy/Hugo 0.95 shell with OINK 1.0, Hugo Extended 0.165, and Go 1.27;
  • migrates the homepage and About pages from Docsy-specific blocks to OINK landing data and layouts;
  • keeps the original HugeGraph title, descriptions, calls to action, and core illustration;
  • restores useful bilingual Community entry points instead of leaving an empty landing page;
  • uses one bilingual, task-oriented information architecture for the sidebar, pager, Docs cards, active paths, and generated navigation data;
  • builds supported documentation versions from an explicit version manifest without modifying release branches;
  • isolates language, version, canonical, search, sitemap, action, asset, and error-page output;
  • publishes previews through the dedicated ASF OINK staging site without replacing the existing standard staging site;
  • removes migration-only staging/domain behavior and redundant generated license bundles while retaining the root NOTICE attribution.
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
Verification
  • strict production and staging builds cover latest, 1.7, and 1.5;
  • unit, integration, formatting, source-link, URL-contract, and generated-output checks run in CI;
  • bilingual navigation, search, canonical, hreflang, sitemap, version scoping, assets, redirects, and error pages are validated;
  • desktop and mobile layouts, light and dark themes, keyboard navigation, search, language/version switching, 200% zoom, forced colors, print, and no-JavaScript readability are browser-tested;
  • staged pages, same-origin resources, fragments, CSP, MIME types, and protected-path behavior are checked before publication;
  • case-sensitive historical routes and the /client-go/ endpoint remain compatible.

Current 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.

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. Those improvements should be handled independently.

- 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
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