49 lines
1 KiB
JavaScript
49 lines
1 KiB
JavaScript
|
const express = require('express');
|
||
|
const {
|
||
|
createSitemap
|
||
|
} = require('sitemap');
|
||
|
const fs = require("fs");
|
||
|
|
||
|
let app = express();
|
||
|
let sitemap = createSitemap({
|
||
|
hostname: 'https://ellpeck.de',
|
||
|
urls: [{
|
||
|
url: '/',
|
||
|
priority: 0.8
|
||
|
},
|
||
|
{
|
||
|
url: '/#projects',
|
||
|
changefreq: 'monthly'
|
||
|
},
|
||
|
{
|
||
|
url: '/#social',
|
||
|
changefreq: 'yearly'
|
||
|
},
|
||
|
{
|
||
|
url: '/#about',
|
||
|
changefreq: 'monthly'
|
||
|
},
|
||
|
{
|
||
|
url: '/#blog',
|
||
|
changefreq: 'weekly',
|
||
|
priority: 0.6
|
||
|
}
|
||
|
]
|
||
|
});
|
||
|
|
||
|
fs.readFile(__dirname + "/../blog/posts.json", function (_, data) {
|
||
|
var json = JSON.parse(data);
|
||
|
for (var post of json) {
|
||
|
sitemap.add({
|
||
|
url: "/#blog-" + post["id"],
|
||
|
priority: 0.4
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
app.get('/sitemap.xml', function (_req, res) {
|
||
|
let xml = sitemap.toXML();
|
||
|
res.header('Content-Type', 'application/xml');
|
||
|
res.send(xml);
|
||
|
});
|
||
|
app.listen(3000);
|