diff options
| author | Matias Niemelä | 2013-05-20 21:00:12 -0400 | 
|---|---|---|
| committer | Misko Hevery | 2013-05-30 21:42:41 -0700 | 
| commit | 21c70729d9269de85df3434c431c2f18995b0f7b (patch) | |
| tree | a54c53e0983e796a3b50647307d3ae89aca4a788 | |
| parent | e46100f7097d9a8f174bdb9e15d4c6098395c3f2 (diff) | |
| download | angular.js-21c70729d9269de85df3434c431c2f18995b0f7b.tar.bz2 | |
feat(ngdocs): provide support for inline variable hinting
| -rw-r--r-- | docs/spec/ngdocSpec.js | 5 | ||||
| -rw-r--r-- | docs/src/ngdoc.js | 4 | ||||
| -rw-r--r-- | src/ng/directive/ngRepeat.js | 10 | 
3 files changed, 15 insertions, 4 deletions
| diff --git a/docs/spec/ngdocSpec.js b/docs/spec/ngdocSpec.js index 3cd9834b..9eed24ca 100644 --- a/docs/spec/ngdocSpec.js +++ b/docs/spec/ngdocSpec.js @@ -150,6 +150,11 @@ describe('ngdoc', function() {          toMatch('</pre>\n\n<h1 id="one">One</h1>\n\n<pre');      }); +    it('should replace inline variable type hints', function() { +      expect(new Doc().markdown('{@type string}')). +        toMatch(/<a\s+.*?class=".*?type-hint type-hint-string.*?".*?>/); +    }); +      it('should ignore nested doc widgets', function() {        expect(new Doc().markdown(          'before<div class="tabbable">\n' + diff --git a/docs/src/ngdoc.js b/docs/src/ngdoc.js index 7c07f00f..d66f33e6 100644 --- a/docs/src/ngdoc.js +++ b/docs/src/ngdoc.js @@ -214,6 +214,10 @@ Doc.prototype = {              (title || url).replace(/^#/g, '').replace(/\n/g, ' ') +              (isAngular ? '</code>' : '') +              '</a>'; +        }). +        replace(/{@type\s+(\S+)(?:\s+(\S+))?}/g, function(_, type, url) { +          url = url || '#'; +          return '<a href="' + url + '" class="' + self.prepare_type_hint_class_name(type) + '">' + type + '</a>';          });      });      text = parts.join(''); diff --git a/src/ng/directive/ngRepeat.js b/src/ng/directive/ngRepeat.js index 6c2da071..89b402c8 100644 --- a/src/ng/directive/ngRepeat.js +++ b/src/ng/directive/ngRepeat.js @@ -11,10 +11,12 @@   *   * Special properties are exposed on the local scope of each template instance, including:   * - *   * `$index` – `{number}` – iterator offset of the repeated element (0..length-1) - *   * `$first` – `{boolean}` – true if the repeated element is first in the iterator. - *   * `$middle` – `{boolean}` – true if the repeated element is between the first and last in the iterator. - *   * `$last` – `{boolean}` – true if the repeated element is last in the iterator. + * | Variable  | Type            | Details                                                                     | + * |===========|=================|=============================================================================| + * | `$index`  | {@type number}  | iterator offset of the repeated element (0..length-1)                       | + * | `$first`  | {@type boolean} | true if the repeated element is first in the iterator.                      | + * | `$middle` | {@type boolean} | true if the repeated element is between the first and last in the iterator. | + * | `$last`   | {@type boolean} | true if the repeated element is last in the iterator.                       |   *   * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter**,   * **leave** and **move** effects. | 
