Generates the per-language sitemap_<lang>.html pages —
the human-friendly index of every news article and documentation
page, with category grouping, hreflang alternates, breadcrumb,
structured data, and the 14-language language switcher.
Lifted out of the monolithic sitemap.ts so the HTML renderer can be
unit-tested in isolation, so the bounded context "sitemap HTML" is
clear, and so the lookup tables in copy.ts can be reused by any
future renderer (Atom-feed metadata, OG-card builder, etc.) without
having to import sitemap.ts and pull in the entire CLI surface.
Output is byte-identical to the legacy in-line implementation that
lived in sitemap.ts between Apr-2026 and the bounded-context
refactor — verified by the regression test in
test/unit/sitemap-byte-equality.test.js (compares against the
golden snapshots taken from npm run prebuild).
Description
Generates the per-language
sitemap_<lang>.htmlpages — the human-friendly index of every news article and documentation page, with category grouping, hreflang alternates, breadcrumb, structured data, and the 14-language language switcher.Lifted out of the monolithic
sitemap.tsso the HTML renderer can be unit-tested in isolation, so the bounded context "sitemap HTML" is clear, and so the lookup tables incopy.tscan be reused by any future renderer (Atom-feed metadata, OG-card builder, etc.) without having to importsitemap.tsand pull in the entire CLI surface.Output is byte-identical to the legacy in-line implementation that lived in
sitemap.tsbetween Apr-2026 and the bounded-context refactor — verified by the regression test intest/unit/sitemap-byte-equality.test.js(compares against the golden snapshots taken fromnpm run prebuild).