This commit is contained in:
2025-07-17 06:04:27 +09:00
parent 88bf6c8446
commit 81187ff093
3 changed files with 2 additions and 2 deletions
+34
View File
@@ -0,0 +1,34 @@
import axios from 'axios'
import fs from 'fs'
import path from 'path'
const DOMAIN = 'https://hub.nizika.monster'
const API_BASE_URL = 'https://hub.nizika.monster/api'
const fetchPostIds =
async () => (await axios.get (`${ API_BASE_URL }/posts`)).data.posts.map (post => post.id)
const fetchTagNames =
async () => (await axios.get (`${ API_BASE_URL }/tags`)).data.map (tag => tag.name)
const fetchWikiTitles =
async () => (await axios.get (`${ API_BASE_URL }/wiki`)).data.map (page => page.title)
const routes = [
'/',
...(await fetchTagNames ()).map (tags => `/posts?${ (new URLSearchParams ({ tags })).toString () }`),
...(await fetchPostIds ()).map (id => `/posts/${ id }`),
'/tags',
'/tags/nico',
'/wiki',
'/wiki/changes',
...(await fetchWikiTitles ()).map (title => `/wiki/${ encodeURIComponent (title) }`),
'/users',
'/users/settings']
const xml = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
${ routes.map (route => ` <url><loc>${ DOMAIN }${ route }</loc></url>`).join ('\n') }
</urlset>`
fs.writeFileSync (path.resolve ('dist/sitemap.xml'), xml)