Files
blitzkit/scripts/sitemap.ts
T

26 lines
1003 B
TypeScript
Raw Normal View History

2024-04-03 21:56:20 -05:00
import { tankDefinitions } from '../src/core/blitzkrieg/tankDefinitions';
2024-04-03 22:47:10 -05:00
// random vercel bug forces require import
const { writeFileSync } = require('fs');
2024-04-03 22:20:30 -05:00
console.log('Building sitemap...');
2024-04-03 21:56:20 -05:00
const awaitedTankDefinitions = await tankDefinitions;
const values = Object.values(awaitedTankDefinitions);
2024-04-03 22:47:10 -05:00
const txt = values
2024-04-03 22:37:38 -05:00
.map((tank) => `https://blitz-krieg.vercel.app/tools/tankopedia/${tank.id}/`)
2024-04-03 21:56:20 -05:00
.join('\n');
2024-04-03 22:47:10 -05:00
const xml = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
${values
.map(
(tank) =>
`<url><loc>https://blitz-krieg.vercel.app/tools/tankopedia/${tank.id}/</loc></url>`,
)
.join('\n')}
</urlset>`;
2024-04-03 21:56:20 -05:00
2024-04-03 22:47:10 -05:00
writeFileSync('public/sitemap.txt', txt);
writeFileSync('public/sitemap.xml', xml);
2024-04-03 21:56:20 -05:00
console.log(`Built sitemap for ${values.length} tanks`);