1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 exports.SiteMap = SiteMap; /** * @see http://www.sitemaps.org/protocol.php * * @param docs * @returns {SiteMap} */ function SiteMap(docs){ this.render = function(){ var map = []; map.push('<?xml version="1.0" encoding="UTF-8"?>'); map.push('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'); docs.forEach(function(doc){ map.push(' <url><loc>http://docs.angularjs.org/#!' + encode(doc.name) + '</loc><changefreq>weekly</changefreq></url>'); }); map.push('</urlset>'); map.push(''); return map.join('\n'); }; function encode(text){ return text .replace(/&/mg, '&') .replace(/</mg, '<') .replace(/>/mg, '>') .replace(/'/mg, ''') .replace(/"/mg, '"'); } }