- Delete the blogs, opensource-projects and notifications trees
- Drop their nav entries and i18n keys
- Point the nav at the new open-source site instead
- Drop the opensource-projects sitemap priority
The .cn site exists for Chinese readers, so the unprefixed routes should
serve Chinese there. Rspress omits the prefix for the default locale, so
this also moves the routes:
.com .cn
English / /en-gb/
Chinese /zh-hans/ /
- Make the default locale a per-target value rather than a constant, and
move the localePrefix helper inside createConfig so a prefix can no
longer be hardcoded elsewhere.
- Build the sitemap priority map from localePrefix. The keys are full
route paths, so the previous hardcoded "/zh-hans/..." entries would
have silently stopped matching on .cn.
- Widen the nav Home activeMatch to cover either prefixed home, since the
two targets put a different locale behind the prefix.
Note: README.md also carries the licence wording changed in the next
commit — a single file's hunks cannot be split non-interactively.
- Split the config into a createConfig(target) factory plus a thin .cn
wrapper, so the two deployments differ in one place. The .cn build
points canonical, hreflang, og:url, sitemap and robots at that origin,
and omits social links that are not reachable from mainland China.
- Generate sitemap.xml and robots.txt per target. robots.txt is written
at build time because one static file cannot carry the right origin for
both domains.
- Emit per-page canonical, hreflang and Open Graph tags. og:title and
friends are left to the theme, which already emits them and does not
de-duplicate against site-level head entries.
- Redirect the retired /projects/ paths on Vercel, before the CN redirect
so those visitors get a single hop.
- Translate GitLab Operations article from Chinese to British English
- Add comprehensive Gravatar usage guide with code examples in both locales
- Fix heading levels on notification pages (h1 -> h2)
- Enable line numbers in code blocks via rspress config