This is a temporary measure until Plovr handles custom tags or is replaced in the build system. Add support for indicating API stability with inline documentation In preparation for documenting the stability of API features, this commit adds support for indicating API stability via a new jsdoc tag @stability. There is a small plugin for jsdoc that adds a new tag, @stabiility, with some ability to enforce specific level names. The templates and css have been updated to include the stability level in the generated documentation. (+1 squashed commit) Squashed commits: [d6bc03d] Add jsdoc plugin for documenting observable properties of a class.
153 lines
4.8 KiB
Cheetah
153 lines
4.8 KiB
Cheetah
<?js
|
|
var self = this;
|
|
docs.forEach(function(doc, i) {
|
|
?>
|
|
|
|
<?js if (doc.kind === 'mainpage' || (doc.kind === 'package')) { ?>
|
|
<?js= self.partial('mainpage.tmpl', doc) ?>
|
|
<?js } else { ?>
|
|
|
|
<section>
|
|
|
|
<header>
|
|
<h2><?js if (doc.ancestors && doc.ancestors.length) { ?>
|
|
<span class="ancestors"><?js= doc.ancestors.join('') ?></span>
|
|
<?js } ?>
|
|
<?js= doc.longname ?>
|
|
<?js if (doc.variation) { ?>
|
|
<sup class="variation"><?js= doc.variation ?></sup>
|
|
<?js } ?></h2>
|
|
<?js if (doc.classdesc) { ?>
|
|
<div class="class-description"><?js= doc.classdesc ?></div>
|
|
<?js } ?>
|
|
</header>
|
|
|
|
<article>
|
|
<div class="container-overview">
|
|
<?js if (doc.kind === 'module' && doc.module) { ?>
|
|
<?js= self.partial('method.tmpl', doc.module) ?>
|
|
<?js } ?>
|
|
|
|
<?js if (doc.kind === 'class') { ?>
|
|
<?js= self.partial('method.tmpl', doc) ?>
|
|
<?js } else { ?>
|
|
<?js if (doc.description) { ?>
|
|
<div class="description"><?js= doc.description ?></div>
|
|
<?js } ?>
|
|
|
|
<?js= self.partial('details.tmpl', doc) ?>
|
|
|
|
<?js if (doc.examples && doc.examples.length) { ?>
|
|
<h3>Example<?js= doc.examples.length > 1? 's':'' ?></h3>
|
|
<?js= self.partial('examples.tmpl', doc.examples) ?>
|
|
<?js } ?>
|
|
<?js } ?>
|
|
</div>
|
|
|
|
<?js if (doc.augments && doc.augments.length) { ?>
|
|
<h3 class="subsection-title">Extends</h3>
|
|
|
|
<ul><?js doc.augments.forEach(function(a) { ?>
|
|
<li><?js= self.linkto(a, a) ?></li>
|
|
<?js }); ?></ul>
|
|
<?js } ?>
|
|
|
|
<?js if (doc.mixes && doc.mixes.length) { ?>
|
|
<h3 class="subsection-title">Mixes In</h3>
|
|
|
|
<ul><?js doc.mixes.forEach(function(a) { ?>
|
|
<li><?js= self.linkto(a, a) ?></li>
|
|
<?js }); ?></ul>
|
|
<?js } ?>
|
|
|
|
<?js if (doc.requires && doc.requires.length) { ?>
|
|
<h3 class="subsection-title">Requires</h3>
|
|
|
|
<ul><?js doc.requires.forEach(function(r) { ?>
|
|
<li><?js= self.linkto(r, r) ?></li>
|
|
<?js }); ?></ul>
|
|
<?js } ?>
|
|
|
|
<?js
|
|
var classes = self.find({kind: 'class', memberof: doc.longname});
|
|
if (doc.kind !== 'globalobj' && classes && classes.length) {
|
|
?>
|
|
<h3 class="subsection-title">Classes</h3>
|
|
|
|
<dl><?js classes.forEach(function(c) { ?>
|
|
<dt><?js= self.linkto(c.longname, c.longname) ?></dt>
|
|
<dd><?js if (c.summary) { ?><?js= c.summary ?><?js } ?></dd>
|
|
<?js }); ?></dl>
|
|
<?js } ?>
|
|
|
|
<?js
|
|
var namespaces = self.find({kind: 'namespace', memberof: doc.longname});
|
|
if (doc.kind !== 'globalobj' && namespaces && namespaces.length) {
|
|
?>
|
|
<h3 class="subsection-title">Namespaces</h3>
|
|
|
|
<dl><?js namespaces.forEach(function(n) { ?>
|
|
<dt><a href="namespaces.html#<?js= n.longname ?>"><?js= self.linkto(n.longname, n.longname) ?></a></dt>
|
|
<dd><?js if (n.summary) { ?><?js= n.summary ?><?js } ?></dd>
|
|
<?js }); ?></dl>
|
|
<?js } ?>
|
|
|
|
<?js
|
|
var observables = doc.observables;
|
|
if (observables && observables.length && observables.forEach) {
|
|
?>
|
|
<h3 class="subsection-title">Observable Properties</h3>
|
|
<dl><?js= self.partial('observables.tmpl', observables) ?></dl>
|
|
|
|
<?js } ?>
|
|
|
|
<?js
|
|
var members = self.find({kind: 'member', memberof: title === 'Globals'? {isUndefined: true} : doc.longname});
|
|
if (members && members.length && members.forEach) {
|
|
?>
|
|
<h3 class="subsection-title">Members</h3>
|
|
|
|
<dl><?js members.forEach(function(p) { ?>
|
|
<?js= self.partial('members.tmpl', p) ?>
|
|
<?js }); ?></dl>
|
|
<?js } ?>
|
|
|
|
<?js
|
|
var methods = self.find({kind: 'function', memberof: title === 'Globals'? {isUndefined: true} : doc.longname});
|
|
if (methods && methods.length && methods.forEach) {
|
|
?>
|
|
<h3 class="subsection-title">Methods</h3>
|
|
|
|
<dl><?js methods.forEach(function(m) { ?>
|
|
<?js= self.partial('method.tmpl', m) ?>
|
|
<?js }); ?></dl>
|
|
<?js } ?>
|
|
|
|
<?js
|
|
var typedefs = self.find({kind: 'typedef', memberof: doc.longname});
|
|
if (typedefs && typedefs.length && typedefs.forEach) {
|
|
?>
|
|
<h3 class="subsection-title">TypeDefs</h3>
|
|
|
|
<dl><?js typedefs.forEach(function(e) { ?>
|
|
<?js= self.partial('members.tmpl', e) ?>
|
|
<?js }); ?></dl>
|
|
<?js } ?>
|
|
|
|
<?js
|
|
var events = self.find({kind: 'event', memberof: doc.longname});
|
|
if (events && events.length && events.forEach) {
|
|
?>
|
|
<h3 class="subsection-title">Events</h3>
|
|
|
|
<dl><?js events.forEach(function(e) { ?>
|
|
<?js= self.partial('method.tmpl', e) ?>
|
|
<?js }); ?></dl>
|
|
<?js } ?>
|
|
</article>
|
|
|
|
</section>
|
|
<?js } ?>
|
|
|
|
<?js }); ?>
|