Files
hudozka/scripts/sitemap.js
T
tmshv a4b3068850 Migrate to ESLint 9 flat config (#239)
* eslint 9

* fix lint errors

* update package-lock.json
2026-02-08 01:29:39 +07:00

49 lines
1.1 KiB
JavaScript

const sitemap = require("sitemap")
const axios = require("axios")
const fs = require("fs").promises
const homeUrl = "https://art.shlisselburg.org"
const sitemapCacheTime = 600000
const api = axios.create({
baseURL: "https://api.tmshv.com/hudozka",
})
async function getMenuUrls(frequency = "daily") {
const menu = [
"/",
"/collective",
]
return menu
// .filter(i => 'url' in i)
.map(url => ({
url,
changefreq: frequency,
}))
}
async function getPageUrls(frequency = "daily") {
const res = await api.get("/api/pages/urls")
return res.data.items.map(url => ({
changefreq: frequency,
url,
}))
}
(async () => {
let urls = await Promise.all([
getMenuUrls(),
getPageUrls(),
])
urls = urls.reduce((urls, i) => urls.concat(i))
let map = sitemap.createSitemap({
hostname: homeUrl,
cacheTime: sitemapCacheTime,
urls,
})
const content = map.toString()
await fs.writeFile("dist/sitemap.xml", content, { encoding: "utf-8" })
})()