aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/spec/ngdocSpec.js7
-rw-r--r--docs/src/ngdoc.js31
2 files changed, 28 insertions, 10 deletions
diff --git a/docs/spec/ngdocSpec.js b/docs/spec/ngdocSpec.js
index c6f17628..8082e4b1 100644
--- a/docs/spec/ngdocSpec.js
+++ b/docs/spec/ngdocSpec.js
@@ -23,6 +23,13 @@ describe('ngdoc', function() {
expect(new Doc('The `ng:class-odd` and').keywords()).toEqual('and ng:class-odd the');
});
+ it('should get property and methods', function() {
+ var doc = new Doc('Document');
+ doc.properties.push(new Doc('Proprety'));
+ doc.properties.push(new Doc('Method'));
+ expect(doc.keywords()).toEqual('document method proprety');
+ });
+
it('should have shortName', function() {
var d1 = new Doc('@name a.b.c').parse();
var d2 = new Doc('@name a.b.ng:c').parse();
diff --git a/docs/src/ngdoc.js b/docs/src/ngdoc.js
index e39cb362..87f9ab62 100644
--- a/docs/src/ngdoc.js
+++ b/docs/src/ngdoc.js
@@ -46,18 +46,29 @@ Doc.METADATA_IGNORE = (function() {
Doc.prototype = {
keywords: function keywords() {
var keywords = {};
- Doc.METADATA_IGNORE.forEach(function(ignore){ keywords[ignore] = true; });
var words = [];
- var tokens = this.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);
+ Doc.METADATA_IGNORE.forEach(function(ignore){ keywords[ignore] = true; });
+
+ function extractWords(text) {
+ 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);
+ }
}
- }
+ });
+ }
+
+ extractWords(this.text);
+ this.properties.forEach(function(prop) {
+ extractWords(prop.text || prop.description || '');
+ });
+ this.methods.forEach(function(method) {
+ extractWords(method.text || method.description || '');
});
words.sort();
return words.join(' ');