Skip to content

Commit 8baed3b

Browse files
authored
Merge pull request tsparticles#5735 from tsparticles/v4
build: update sitemaps covering typedoc pages too
2 parents 4817bca + c2b0440 commit 8baed3b

3 files changed

Lines changed: 39 additions & 3 deletions

File tree

websites/website/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
"docs:typedoc": "node ./scripts/sync-typedoc.mjs",
1212
"docs:assets": "node ./scripts/sync-public-assets.mjs",
1313
"dev": "pnpm run typedoc:api && pnpm run docs:typedoc && pnpm run docs:assets && vitepress dev docs --host",
14-
"docs:build": "pnpm run typedoc:api && pnpm run docs:typedoc && pnpm run lint:fix && pnpm run docs:assets && vitepress build docs",
15-
"docs:build:ci": "pnpm run typedoc:api && pnpm run docs:typedoc && pnpm run lint && pnpm run docs:assets && vitepress build docs",
14+
"docs:build": "pnpm run typedoc:api && pnpm run docs:typedoc && pnpm run lint:fix && pnpm run docs:assets && vitepress build docs && node ./scripts/merge-sitemaps.mjs",
15+
"docs:build:ci": "pnpm run typedoc:api && pnpm run docs:typedoc && pnpm run lint && pnpm run docs:assets && vitepress build docs && node ./scripts/merge-sitemaps.mjs",
1616
"docs:preview": "vitepress preview docs --host",
1717
"build": "pnpm run docs:build",
1818
"lint": "prettier --check \"docs/**/*.{md,ts,css}\"",
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/usr/bin/env node
2+
import { readFileSync, writeFileSync, existsSync } from "node:fs";
3+
import { resolve } from "node:path";
4+
5+
const rootDir = resolve(new URL("..", import.meta.url).pathname);
6+
const distDir = resolve(rootDir, "docs", ".vitepress", "dist");
7+
const mainSitemap = resolve(distDir, "sitemap.xml");
8+
const typedocSitemap = resolve(distDir, "docs", "sitemap.xml");
9+
10+
if (!existsSync(mainSitemap)) {
11+
console.log("[merge-sitemaps] main sitemap not found, skipping");
12+
process.exit(0);
13+
}
14+
15+
if (!existsSync(typedocSitemap)) {
16+
console.log("[merge-sitemaps] typedoc sitemap not found, skipping");
17+
process.exit(0);
18+
}
19+
20+
const main = readFileSync(mainSitemap, "utf-8");
21+
const typedoc = readFileSync(typedocSitemap, "utf-8");
22+
23+
const urlEntries = typedoc.match(/<url>[\s\S]*?<\/url>/g);
24+
25+
if (!urlEntries || urlEntries.length === 0) {
26+
console.log("[merge-sitemaps] no typedoc URLs found, skipping");
27+
process.exit(0);
28+
}
29+
30+
const merged = main.replace("</urlset>", urlEntries.join("\n") + "\n</urlset>");
31+
32+
writeFileSync(mainSitemap, merged, "utf-8");
33+
34+
console.log(
35+
`[merge-sitemaps] merged ${urlEntries.length} typedoc URLs into sitemap.xml`,
36+
);

websites/website/typedoc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@
158158
"includeVersion": true,
159159
"hideGenerator": true,
160160
"out": "typedoc-dist",
161-
"hostedBaseUrl": "https://particles.js.org/typedoc",
161+
"hostedBaseUrl": "https://particles.js.org/docs",
162162
"useHostedBaseUrlForAbsoluteLinks": true,
163163
"plugin": [
164164
"typedoc-plugin-google-ads",

0 commit comments

Comments
 (0)