diff --git a/sitemap-alternates.xml b/sitemap-alternates.xml
index 99016e801..88cd9ce3d 100644
--- a/sitemap-alternates.xml
+++ b/sitemap-alternates.xml
@@ -2730,6 +2730,27 @@
+
+ https://langbot.app/docs/en/usage/platforms/mattermost
+
+
+
+
+
+
+ https://langbot.app/docs/zh/usage/platforms/mattermost
+
+
+
+
+
+
+ https://langbot.app/docs/ja/usage/platforms/mattermost
+
+
+
+
+
https://langbot.app/docs/en/usage/platforms/qq/aiocqhttp/lagrange
diff --git a/tests/agent-static-build.test.mjs b/tests/agent-static-build.test.mjs
index d38caa413..0abc55a5a 100644
--- a/tests/agent-static-build.test.mjs
+++ b/tests/agent-static-build.test.mjs
@@ -22,7 +22,7 @@ function links(node, result = []) {
}
test("every sitemap page has meaningful canonical Markdown and HTML discovery", async () => {
- assert.equal(urls.length, 479);
+ assert.equal(urls.length, 482);
for (const url of urls) {
const route = relative(url);
const text = await read(`${route}.md`);
diff --git a/tests/fumapress-static-build.test.mjs b/tests/fumapress-static-build.test.mjs
index aefb55853..b2254c36e 100644
--- a/tests/fumapress-static-build.test.mjs
+++ b/tests/fumapress-static-build.test.mjs
@@ -43,9 +43,9 @@ function staticHtmlForUrlPath(urlPath) {
return path.join(publicRoot, ...parts, "index.html");
}
-test("all 302 canonical localized documents have static HTML", async () => {
+test("all 305 canonical localized documents have static HTML", async () => {
const documents = await collectMdxDocuments(root);
- assert.equal(documents.length, 302);
+ assert.equal(documents.length, 305);
const missing = [];
for (const document of documents) {
try {
@@ -199,6 +199,10 @@ test("canonical sitemap routes match the legacy Mintlify directory structure", a
// Mintlify accidentally indexed this repository maintenance note; preserve
// its URL as a redirect without treating it as public documentation.
legacy.delete("/scripts/README-blog-articles");
+ // New guides added after migration extend, rather than replace, the legacy routes.
+ for (const locale of ["en", "zh", "ja"]) {
+ legacy.add(`/${locale}/usage/platforms/mattermost`);
+ }
const sitemap = await readFile(path.join(publicRoot, "sitemap.xml"), "utf8");
const actual = new Set([...sitemap.matchAll(/https:\/\/langbot\.app\/docs(\/[^<]+)<\/loc>/g)]
.map((match) => decodeURIComponent(match[1]).replace(/\/$/, "")));
diff --git a/tests/locale-static-build.test.mjs b/tests/locale-static-build.test.mjs
index 7c37b386a..96cb1900d 100644
--- a/tests/locale-static-build.test.mjs
+++ b/tests/locale-static-build.test.mjs
@@ -35,6 +35,6 @@ test("every localized HTML payload includes the preference client provider", asy
}
}
for (const locale of ["en", "zh", "ja"]) await visit(path.join(root, locale));
- // 479 canonical content pages plus one framework 404 page per locale.
- assert.equal(count, 482);
+ // 482 canonical content pages plus one framework 404 page per locale.
+ assert.equal(count, 485);
});