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]
