template.js 562 B

123456789101112131415161718192021222324
  1. 'use strict';
  2. var pathFn = require('path');
  3. var fs = require('fs');
  4. var sitemapTmpl;
  5. module.exports = function(config) {
  6. if (sitemapTmpl) return sitemapTmpl;
  7. var nunjucks = require('nunjucks');
  8. var env = new nunjucks.Environment(null, {
  9. autoescape: false,
  10. watch: false
  11. });
  12. env.addFilter('uriencode', function(str) {
  13. return encodeURI(str);
  14. });
  15. var sitemapSrc = config.sitemap.template || pathFn.join(__dirname, '../sitemap.xml');
  16. sitemapTmpl = nunjucks.compile(fs.readFileSync(sitemapSrc, 'utf8'), env);
  17. return sitemapTmpl;
  18. };