pagesConfig.ts 929 B

12345678910111213141516171819202122232425262728293031323334353637
  1. const fs = require('fs');
  2. const path = require('path');
  3. const ejs = require('ejs');
  4. const templatePath = path.join(__dirname, '../templates');
  5. const sitemapTemplatePath = path.join(templatePath, 'sitemap.ejs');
  6. const sitemapTemplate = ejs.compile(fs.readFileSync(sitemapTemplatePath, 'utf8'), { root: [templatePath], filename: sitemapTemplatePath, outputFunctionName: 'echo' });
  7. import { ConfigPages } from '../config';
  8. export default function pagesConfig(pagesKeys: string[]): ConfigPages {
  9. const pages: ConfigPages = {};
  10. if (-1 === pagesKeys.indexOf('sitemap')) {
  11. pages.sitemap = {
  12. staticPage: true,
  13. buildExclude: true,
  14. title: 'Sitemap',
  15. filename: 'sitemap.html',
  16. html: {
  17. head: {},
  18. body: {
  19. scripts: [],
  20. snippet: sitemapTemplate({ pages: [...pagesKeys, ...Object.keys(pages)] }),
  21. },
  22. },
  23. window: {},
  24. render: ''
  25. };
  26. }
  27. return pages;
  28. }