aboutsummaryrefslogtreecommitdiffstats
path: root/docs/collect.js
diff options
context:
space:
mode:
authorMisko Hevery2010-11-15 12:15:27 -0800
committerMisko Hevery2010-11-15 12:28:08 -0800
commitb467a50bc75b7f4c0d9bcee521387eda460337bf (patch)
tree3360037c664cda94bc683663a9a7afe9df46eeb8 /docs/collect.js
parenta1652057a5e1fce1911b118a5d43629abe772ab6 (diff)
downloadangular.js-b467a50bc75b7f4c0d9bcee521387eda460337bf.tar.bz2
generate keyword for searches; improved layout of doc
Diffstat (limited to 'docs/collect.js')
-rw-r--r--docs/collect.js31
1 files changed, 28 insertions, 3 deletions
diff --git a/docs/collect.js b/docs/collect.js
index 29d2a33f..4e845f5b 100644
--- a/docs/collect.js
+++ b/docs/collect.js
@@ -9,6 +9,8 @@ var fs = require('fs'),
var documentation = {
pages:[]
};
+var keywordPages = [];
+
var SRC_DIR = "docs/";
var OUTPUT_DIR = "build/docs/";
@@ -22,7 +24,11 @@ var work = callback.chain(function () {
findNgDoc(file, work.waitMany(function(doc) {
parseNgDoc(doc);
if (doc.ngdoc) {
- delete doc.raw.text;
+ keywordPages.push({
+ name:doc.name,
+ keywords:keywords(doc.raw.text)
+ }
+ );
documentation.pages.push(doc);
console.log('Found:', doc.ngdoc + ':' + doc.shortName);
mergeTemplate(
@@ -35,11 +41,12 @@ var work = callback.chain(function () {
}).onError(function(err){
console.log('ERROR:', err.stack || err);
}).onDone(function(){
- documentation.pages.sort(function(a,b){ return a.name == b.name ? 0:(a.name < b.name ? -1 : 1);});
- mergeTemplate('docs-data.js', 'docs-data.js', {JSON:JSON.stringify(documentation)}, callback.chain());
+ keywordPages.sort(function(a,b){ return a.name == b.name ? 0:(a.name < b.name ? -1 : 1);});
+ mergeTemplate('docs-data.js', 'docs-data.js', {JSON:JSON.stringify(keywordPages)}, callback.chain());
mergeTemplate('docs-scenario.js', 'docs-scenario.js', documentation, callback.chain());
copy('docs-scenario.html', callback.chain());
copy('index.html', callback.chain());
+ copy('docs.css', callback.chain());
mergeTemplate('docs.js', 'docs.js', documentation, callback.chain());
mergeTemplate('doc_widgets.css', 'doc_widgets.css', documentation, callback.chain());
mergeTemplate('doc_widgets.js', 'doc_widgets.js', documentation, callback.chain());
@@ -48,6 +55,24 @@ var work = callback.chain(function () {
if (!this.testmode) work();
////////////////////
+function keywords(text){
+ var keywords = {};
+ var words = [];
+ var tokens = text.toLowerCase().split(/[,\.\`\'\"\s]+/mg);
+ tokens.forEach(function(key){
+ var match = key.match(/^(([a-z]|ng\:)[\w\_\-]{2,})/);
+ if (match){
+ key = match[1];
+ if (!keywords[key]) {
+ keywords[key] = true;
+ words.push(key);
+ }
+ }
+ });
+ words.sort();
+ return words.join(' ');
+}
+
function noop(){}
function mkdirPath(path, callback) {
var parts = path.split(/\//);