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]

Reply via email to