moonming opened a new pull request, #2078: URL: https://github.com/apache/apisix-website/pull/2078
## What Serves the **latest-version** project docs from the static Astro build. **Version archives stay on Docusaurus** — this PR does not touch them. Scope is 486 pages (EN 235 + ZH 251) across the seven documented projects, not the full 3410-page docs tree. ## Why the split works Production already separates the two: the current version lives at version-less URLs (`/docs/apisix/plugins/cors/`) while archives live under `3.16/`, `next/`, etc. Migrating only the version-less layer avoids the versioning problem entirely. ## How **Content**: CI sparse-clones `docs/` from the seven upstream Apache repos (depth 1, blobless — a couple of seconds each). The sync script skips any repo that is absent, so a fetch failure degrades to "no pages for that project", which the parity gate then catches. **Overlay — per-page, not per-subtree.** Under `docs/<project>/` the version directories sit *beside* the latest-version pages, so a subtree swap would delete the archive. Only the paths Astro actually produced are copied, and the step asserts `3.16/` and `next/` are still the Docusaurus build. **Parity gate**: fails the deploy if any version-less page Docusaurus built is missing from the Astro build. Two documented exclusions: version directories (by design) and `docs/*/tags/` — Docusaurus emits those empty (a single self-link, absent from the sitemap, linked from no doc page); the per-page swap leaves them in place so the URLs keep resolving. **Search**: Algolia DocSearch, pointed at the index the current site already uses (`apache_apisix`). It loads on docs pages only — the homepage, blog, and learning center stay zero-JS. ## Verification Simulated against the live `asf-site` tree: | | | |---|---| | Pages | 3410 → **3416** | | Deleted | **0** | | Added | 6 (new upstream plugin docs: ai-cache, ai-lakera-guard, mcp-bridge) | | Archived version pages compared | **2908, all byte-identical** | | Parity gate | passes for both locales | In the browser: sidebar (169 links), version label, attribute tables, code highlighting all render; the search modal opens and accepts input. ## Follow-ups Version archives remain Docusaurus, so the Docusaurus build stays in the pipeline. Retiring it is a later decision, not part of this PR. -- 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]
