moonming opened a new pull request, #2075:
URL: https://github.com/apache/apisix-website/pull/2075

   ## What
   
   Wave 2 of the incremental migration in `next/MIGRATION.md` (wave 1 = the 
landing pages, #2073): the **`/blog/` (EN+ZH, ~735 URLs), `/learning-center/`, 
`/articles/`, and `/events/archive/`** subtrees are now produced by the zero-JS 
Astro build. Every other URL — docs, plugins, team, downloads — is still 
produced by Docusaurus, byte-identical.
   
   These subtrees were chosen because their markdown lives **in this repo**: 
the Astro step syncs it straight from the checkout, no external fetches, and 
the build stays fast (~13 s for 924 pages).
   
   ## Deploy pipeline
   
   - **Parity gate (new):** before overlaying, CI asserts every URL Docusaurus 
produced under a migrated prefix also exists in the Astro build, and fails the 
deploy otherwise. Stronger than sitemap-level parity — it checks the real build 
output.
   - **Overlay allowlist** extends from `index.html, zh/index.html, _astro, 
img` to the wave-2 subtrees (whole-subtree replacement).
   - **Feeds stay alive:** Docusaurus' RSS/atom feeds for 
learning-center/articles (8 files) are carried into the Astro tree before the 
swap, byte-identical.
   
   ## Old React homepage removal
   
   The `/` route has been produced by Astro since wave 1, but the React 
homepage stayed inside the website workspace's bundle — so a client-side 
navigation to `/` (e.g. clicking the navbar logo from `/plugins/`) rendered the 
stale page. This PR:
   
   - removes `website/src/pages/index.tsx` + its section components and landing 
styles (`Video.tsx`/`video.css` and `HeroCanvas.tsx` are pre-existing 
unreferenced code, left as-is)
   - sets all four workspaces' navbar logos to `href: 'pathname:///'` (the 
protocol is already used by the locale dropdowns in this repo) so the logo 
always hard-navigates to the static homepage
   - patches `update-sitemap-loc.js` to re-add the `/` and `/zh/` entries the 
website workspace's sitemap no longer contains (verified against the real 
sitemap: idempotent, +1 entry, priority 1.0)
   
   ## Contract & verification
   
   Assembled against the current `asf-site` tree and asserted:
   
   - index.html page count unchanged (**4306 → 4306**)
   - wave-2 subtree URL sets **byte-exact vs production**: 0 missing, 0 extra 
(incl. the unicode-quote blog slug and `/blog/blog/...`; blog tag pages 10 EN + 
6 ZH match the production dirs exactly)
   - **8/8 RSS/atom feeds byte-identical**
   - all **8,681 files outside the allowlist untouched**; `sitemap.xml` 
untouched by the overlay
   - head parity on sampled posts: canonical, title, `og:type=article`, JSON-LD 
`BlogPosting`, hreflang — all match production
   
   ## Notes for reviewers
   
   - Blog/learning-center/articles pages keep their exact URLs and `<head>` 
shape; the visible chrome is the same header/footer as the wave-1 landing page.
   - `/blog/tags/` and `/blog/page/` remain robots-disallowed and out of the 
sitemap, as today.
   - Wave 3 (docs, the largest surface) stays Docusaurus until proposed 
separately.
   


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