diff options
| author | Misko Hevery | 2011-01-24 13:33:47 -0800 | 
|---|---|---|
| committer | Misko Hevery | 2011-01-24 14:23:51 -0800 | 
| commit | bf03eb007c31bec4ea9f2ca8a947f9833bb348c9 (patch) | |
| tree | 6bf60a2d3794cda0fffdb8db9e4ea7e0ff84fb58 /docs/src | |
| parent | c2f2587a79aeb77aad66f081cf924a79348a698e (diff) | |
| download | angular.js-bf03eb007c31bec4ea9f2ca8a947f9833bb348c9.tar.bz2 | |
Added SiteMap generation to the documentation
Diffstat (limited to 'docs/src')
| -rw-r--r-- | docs/src/SiteMap.js | 31 | ||||
| -rw-r--r-- | docs/src/gen-docs.js | 5 | 
2 files changed, 35 insertions, 1 deletions
diff --git a/docs/src/SiteMap.js b/docs/src/SiteMap.js new file mode 100644 index 00000000..f6f909e9 --- /dev/null +++ b/docs/src/SiteMap.js @@ -0,0 +1,31 @@ +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('<sitemapindex 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('</sitemapindex>'); +    map.push(''); +    return map.join('\n'); +  }; + +  function encode(text){ +    return text +      .replace(/&/mg, '&') +      .replace(/</mg, '<') +      .replace(/>/mg, '>') +      .replace(/'/mg, ''') +      .replace(/"/mg, '"'); +  } +} diff --git a/docs/src/gen-docs.js b/docs/src/gen-docs.js index 1c03a0f1..a287a2be 100644 --- a/docs/src/gen-docs.js +++ b/docs/src/gen-docs.js @@ -3,7 +3,8 @@ require.paths.push('lib');  var reader = require('reader.js'),      ngdoc = require('ngdoc.js'),      writer = require('writer.js'), -    callback = require('callback.js'); +    callback = require('callback.js'), +    SiteMap = require('SiteMap.js').SiteMap;  var docs = [];  var start; @@ -30,6 +31,8 @@ var writes = callback.chain(function(){    writer.copy('doc_widgets.css', writes.waitFor());    writer.copy('docs-scenario.html', writes.waitFor());    writer.output('docs-scenario.js', ngdoc.scenarios(docs), writes.waitFor()); +  writer.output('sitemap.xml', new SiteMap(docs).render(), writes.waitFor()); +  writer.output('robots.txt', 'Sitemap: http://docs.angularjs.org/sitemap.xml\n', writes.waitFor());    writer.copy('syntaxhighlighter/shBrushJScript.js', writes.waitFor());    writer.copy('syntaxhighlighter/shBrushXml.js', writes.waitFor());    writer.copy('syntaxhighlighter/shCore.css', writes.waitFor());  | 
