Skip to content

Commit f281d45

Browse files
committed
feat: sitemap
1 parent a0a67eb commit f281d45

File tree

3 files changed

+67
-1
lines changed

3 files changed

+67
-1
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"build": "vite build",
66
"preview": "vite preview",
77
"cbg": "node compress_backgrounds.js",
8-
"hi": "node gen_files.mjs"
8+
"hi": "node gen_files.mjs",
9+
"sitemap": "node scripts/gen_sitemap.mjs"
910
},
1011
"dependencies": {
1112
"json5": "^2.2.3",

public/sitemap.xml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<url>https://rainwatchermap.github.io/</url>
4+
<url>https://rainwatchermap.github.io/cc</url>
5+
<url>https://rainwatchermap.github.io/hi</url>
6+
<url>https://rainwatchermap.github.io/lf</url>
7+
<url>https://rainwatchermap.github.io/sh</url>
8+
<url>https://rainwatchermap.github.io/su</url>
9+
<url>https://rainwatchermap.github.io/wara</url>
10+
<url>https://rainwatchermap.github.io/warb</url>
11+
<url>https://rainwatchermap.github.io/warc</url>
12+
<url>https://rainwatchermap.github.io/ward</url>
13+
<url>https://rainwatchermap.github.io/ware</url>
14+
<url>https://rainwatchermap.github.io/warf</url>
15+
<url>https://rainwatchermap.github.io/warg</url>
16+
<url>https://rainwatchermap.github.io/waua</url>
17+
<url>https://rainwatchermap.github.io/wbla</url>
18+
<url>https://rainwatchermap.github.io/wdsr</url>
19+
<url>https://rainwatchermap.github.io/wgwr</url>
20+
<url>https://rainwatchermap.github.io/whir</url>
21+
<url>https://rainwatchermap.github.io/wora</url>
22+
<url>https://rainwatchermap.github.io/wpta</url>
23+
<url>https://rainwatchermap.github.io/wrfa</url>
24+
<url>https://rainwatchermap.github.io/wrfb</url>
25+
<url>https://rainwatchermap.github.io/wrra</url>
26+
<url>https://rainwatchermap.github.io/wrsa</url>
27+
<url>https://rainwatchermap.github.io/wska</url>
28+
<url>https://rainwatchermap.github.io/wskb</url>
29+
<url>https://rainwatchermap.github.io/wskc</url>
30+
<url>https://rainwatchermap.github.io/wskd</url>
31+
<url>https://rainwatchermap.github.io/wssr</url>
32+
<url>https://rainwatchermap.github.io/wsur</url>
33+
<url>https://rainwatchermap.github.io/wtda</url>
34+
<url>https://rainwatchermap.github.io/wtdb</url>
35+
<url>https://rainwatchermap.github.io/wvwa</url>
36+
</urlset>

scripts/gen_sitemap.mjs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { join } from 'node:path'
2+
import fsp from 'node:fs/promises'
3+
4+
const cur = join(import.meta.dirname, '..')
5+
6+
const hierarchyP = fsp.readFile(join(cur, 'src', 'hierarchy.json'))
7+
const ignoreP = fsp.readFile(join(cur, 'src', 'ignore.json'))
8+
const [hierarchyB, ignoreB] = await Promise.all([hierarchyP, ignoreP])
9+
10+
const hierarchy = JSON.parse(hierarchyB.toString('utf8'))
11+
const ignore = JSON.parse(ignoreB.toString('utf8'))
12+
13+
const regions = []
14+
for(const regK in hierarchy) {
15+
if(!ignore.region.includes(regK)) regions.push(regK)
16+
}
17+
18+
const sitemapA = `<?xml version="1.0" encoding="UTF-8"?>
19+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n`
20+
const sitemapB = `</urlset>`
21+
22+
let res = sitemapA
23+
res += '<url>https://rainwatchermap.github.io/</url>\n'
24+
for(const r of regions) {
25+
res += '<url>https://rainwatchermap.github.io/' + r.toLowerCase() + '</url>\n'
26+
}
27+
res += sitemapB
28+
29+
await fsp.writeFile(join(cur, 'public', 'sitemap.xml'), res)

0 commit comments

Comments
 (0)