feat(ngdocs): provide support for inline variable hinting

This commit is contained in:
Matias Niemelä 2013-05-20 21:00:12 -04:00 committed by Misko Hevery
parent e46100f709
commit 21c70729d9
3 changed files with 15 additions and 4 deletions

View file

@ -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' +

View file

@ -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('');

View file

@ -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.