imbajin opened a new pull request, #466:
URL: https://github.com/apache/hugegraph-doc/pull/466
## Before → after
| Before | After |
| --- | --- |
| Docsy shell tied to Hugo 0.95 and Node/PostCSS | OINK `v1.0.0` pinned with
Hugo Extended `0.165.0` and Go `1.27` |
| One mutable site build | One central shell rendering `latest`, `1.7`, and
`1.5` from exact resolved commits |
| Version history was not published as an isolated contract | Latest stays
at `/`; archived Docs/Download live below `/versions/1.7/` and `/versions/1.5/`
|
| Local production-shape build only | Independent production and ASF-staging
builds, strict artifact validation, then collision-safe aggregation |
```mermaid
flowchart LR
A[prepare manifest] --> B[resolve exact SHAs]
B --> C[3 versions × 2 origins]
C --> D[strict build + artifact validator]
D --> E[required deploy aggregate]
E --> F[production artifact]
E --> G[ASF staging artifact]
F --> H[asf-site only after reviewed master push]
```
## What changed
- replace the Docsy shell with the pinned OINK module and migrate bilingual
landing, navigation, footer, search, print, machine-readable outputs, 404, and
legacy details content;
- add a fail-closed version manifest and central renderer for `latest`,
`1.7`, and `1.5`, including exact-SHA provenance and version-aware GitHub
actions;
- scope search, canonical, hreflang, LLMS, NAVJSON, assets, and links to the
correct origin, language, and version;
- preserve latest-only Home/Blog/Community/About/client-go surfaces while
historical snapshots contain Docs/Download only;
- keep the required `deploy` status, pin every Action to a commit SHA,
publish reviewed production output only from `master`, and retain `asf-site`
history.
## Resolved sources
| Version | Source |
| --- | --- |
| latest | `e2428ca451ed71818a0f5119a676aa1216ba8ad7` |
| 1.7 | `a036f550bf412ea2950271390888d63bbffef6ba` |
| 1.5 | `34bbc87147f60db49888b2ce718cc051973c943e` |
Historical release branches intentionally remain maintainable. Each workflow
run resolves them once and carries the immutable result through build and
aggregation.
## Live visual and runtime evidence
- Before: [current production](https://hugegraph.apache.org/)
- After: [OINK ASF preview](https://hugegraph-oink.staged.apache.org/)
- Bilingual: [Chinese](https://hugegraph-oink.staged.apache.org/cn/)
- Versions:
[1.7](https://hugegraph-oink.staged.apache.org/versions/1.7/docs/) ·
[1.5](https://hugegraph-oink.staged.apache.org/versions/1.5/docs/)
The first live publish exposed Apache's reserved root `/icons/` alias. The
site logo was moved to `/img/logo.svg`; the final ASF preview now serves root
and versioned logos with `200 image/svg+xml`.
## Verification
- six clean strict Hugo builds: 3 versions × production/staging origins,
zero warnings;
- two clean aggregates, each with 2,229 version files plus ASF/build
metadata;
- URL contract: 24 latest routes and 17 routes per historical version;
- 12 unit/integration tests covering manifest drift, SHA mismatch, unsafe
URLs, staging-origin rewriting, scoped URLs, and safe output cleanup;
- source link validation, Ruff, Actionlint, JSON validation, and diff checks
pass;
- exact canonical/hreflang, NAVJSON/LLMS/search isolation, search MD5,
licenses, assistant boundary, archive notices, 404 shell, and aggregate
collisions are validated;
- ASF DNS/TLS/headers/CSP, representative routes/assets, `HStore` and
Chinese `配置` search, language/version switching, 404, light/dark themes, and
390×844 layout were tested in a real browser; no warning/error console logs
were captured.
Three independent read-only review lanes (correctness, design/deployment,
and security) completed the final delta with no actionable findings.
## Rollback and exclusions
- `asf-site` was not modified during migration or staging; its preserved
head is `4c9cb819bf5277982a5b2dacfe9b788924e3e940`.
- Existing `asf-staging` was not overwritten; the isolated preview is
generated from `asf-staging-oink`.
- Source rollback is a normal revert of this PR; generated preview history
retains both the initial artifact and the hosted-path fix.
- Route-aware same-page version switching, EOL-wide `noindex`, broad IA
rewriting, and a Redoc PoC remain outside this first migration.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]