fix sitemap generator endpoint
This commit is contained in:
parent
d207dc9001
commit
659c792402
@ -103,6 +103,29 @@ app.get('/', async (req, res) => {
|
|||||||
res.render('index', { genreTracks });
|
res.render('index', { genreTracks });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Sitemap endpoint
|
||||||
|
app.get('/sitemap.xml', async (req, res) => {
|
||||||
|
let sitemap = `<?xml version="1.0" encoding="UTF-8"?>\n`;
|
||||||
|
sitemap += `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n`;
|
||||||
|
|
||||||
|
// Home page
|
||||||
|
sitemap += `<url>\n <loc>https://raven-scott.rocks/</loc>\n <priority>1.0</priority>\n</url>\n`;
|
||||||
|
|
||||||
|
// Track pages for each genre
|
||||||
|
for (const genre in playlists) {
|
||||||
|
const tracks = await getTracks(genre);
|
||||||
|
tracks.forEach(track => {
|
||||||
|
sitemap += `<url>\n <loc>https://raven-scott.rocks/${genre}/track/${track.slug}</loc>\n <priority>0.8</priority>\n</url>\n`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
sitemap += `</urlset>`;
|
||||||
|
|
||||||
|
res.header('Content-Type', 'application/xml');
|
||||||
|
res.send(sitemap);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
// Redirect /genre to /#genre
|
// Redirect /genre to /#genre
|
||||||
app.get('/:genre', async (req, res) => {
|
app.get('/:genre', async (req, res) => {
|
||||||
const { genre } = req.params;
|
const { genre } = req.params;
|
||||||
@ -140,27 +163,6 @@ app.get('/json/:genre', async (req, res) => {
|
|||||||
res.json(tracks);
|
res.json(tracks);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Sitemap endpoint
|
|
||||||
app.get('/sitemap.xml', async (req, res) => {
|
|
||||||
let sitemap = `<?xml version="1.0" encoding="UTF-8"?>\n`;
|
|
||||||
sitemap += `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n`;
|
|
||||||
|
|
||||||
// Home page
|
|
||||||
sitemap += `<url>\n <loc>https://raven-scott.rocks/</loc>\n <priority>1.0</priority>\n</url>\n`;
|
|
||||||
|
|
||||||
// Track pages for each genre
|
|
||||||
for (const genre in playlists) {
|
|
||||||
const tracks = await getTracks(genre);
|
|
||||||
tracks.forEach(track => {
|
|
||||||
sitemap += `<url>\n <loc>https://raven-scott.rocks/${genre}/track/${track.slug}</loc>\n <priority>0.8</priority>\n</url>\n`;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
sitemap += `</urlset>`;
|
|
||||||
|
|
||||||
res.header('Content-Type', 'application/xml');
|
|
||||||
res.send(sitemap);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Listen on the specified port
|
// Listen on the specified port
|
||||||
app.listen(PORT, () => {
|
app.listen(PORT, () => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user