storybook/docs/gatsby-node.js
Norbert de Langen 7964734eb6 IMPROVE docs
2017-05-26 18:24:53 +02:00

34 lines
743 B
JavaScript

// From: https://gist.github.com/ivanoats/8d01d9e934fdc17bae9090147f1e799b
const fs = require('fs');
const sm = require('sitemap');
function pagesToSitemap(pages) {
const urls = pages.map(p => {
if (p.path !== undefined) {
return {
url: p.path,
changefreq: 'daily',
priority: 0.7,
};
}
});
return urls.filter(u => u !== undefined);
}
function generateSitemap(pages) {
const sitemap = sm.createSitemap({
hostname: 'https://storybook.js.org',
cacheTime: '60000',
urls: pagesToSitemap(pages),
});
fs.writeFileSync(`${__dirname}/public/sitemap.xml`, sitemap.toString());
}
module.exports = {
postBuild(pages, callback) {
generateSitemap(pages);
callback();
},
};