diff options
Diffstat (limited to 'support/jsdoc/theme/tmpl/container.tmpl')
-rw-r--r-- | support/jsdoc/theme/tmpl/container.tmpl | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/support/jsdoc/theme/tmpl/container.tmpl b/support/jsdoc/theme/tmpl/container.tmpl new file mode 100644 index 0000000..c52d297 --- /dev/null +++ b/support/jsdoc/theme/tmpl/container.tmpl @@ -0,0 +1,183 @@ +<?js + var self = this; + var isGlobalPage; + + docs.forEach(function(doc, i) { +?> + +<?js + // we only need to check this once + if (typeof isGlobalPage === 'undefined') { + isGlobalPage = (doc.kind === 'globalobj'); + } +?> +<?js if (doc.kind === 'mainpage' || (doc.kind === 'package')) { ?> + <?js= self.partial('mainpage.tmpl', doc) ?> +<?js } else if (doc.kind === 'source') { ?> + <?js= self.partial('source.tmpl', doc) ?> +<?js } else { ?> + +<section> + +<header> + <?js if (!doc.longname || doc.kind !== 'module') { ?> + <h2><?js if (doc.ancestors && doc.ancestors.length) { ?> + <span class="ancestors"><?js= doc.ancestors.join('') ?></span> + <?js } ?> + <?js= doc.name ?> + <?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 } ?> + <?js } else if (doc.kind === 'module' && doc.modules) { ?> + <?js doc.modules.forEach(function(module) { ?> + <?js if (module.classdesc) { ?> + <div class="class-description"><?js= module.classdesc ?></div> + <?js } ?> + <?js }) ?> + <?js } ?> +</header> + +<article> + <div class="container-overview"> + <?js if (doc.kind === 'module' && doc.modules) { ?> + <?js if (doc.description) { ?> + <div class="description"><?js= doc.description ?></div> + <?js } ?> + + <?js doc.modules.forEach(function(module) { ?> + <?js= self.partial('method.tmpl', module) ?> + <?js }) ?> + <?js } else 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> + + <?js= self.partial('augments.tmpl', doc) ?> + <?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 (!isGlobalPage && classes && classes.length) { + ?> + <h3 class="subsection-title">Classes</h3> + + <dl><?js classes.forEach(function(c) { ?> + <dt><?js= self.linkto(c.longname, c.name) ?></dt> + <dd><?js if (c.summary) { ?><?js= c.summary ?><?js } ?></dd> + <?js }); ?></dl> + <?js } ?> + + <?js + var mixins = self.find({kind: 'mixin', memberof: doc.longname}); + if (!isGlobalPage && mixins && mixins.length) { + ?> + <h3 class="subsection-title">Mixins</h3> + + <dl><?js mixins.forEach(function(m) { ?> + <dt><?js= self.linkto(m.longname, m.name) ?></dt> + <dd><?js if (m.summary) { ?><?js= m.summary ?><?js } ?></dd> + <?js }); ?></dl> + <?js } ?> + + <?js + var namespaces = self.find({kind: 'namespace', memberof: doc.longname}); + if (!isGlobalPage && namespaces && namespaces.length) { + ?> + <h3 class="subsection-title">Namespaces</h3> + + <dl><?js namespaces.forEach(function(n) { ?> + <dt><?js= self.linkto(n.longname, n.name) ?></dt> + <dd><?js if (n.summary) { ?><?js= n.summary ?><?js } ?></dd> + <?js }); ?></dl> + <?js } ?> + + <?js + var members = self.find({kind: 'member', memberof: isGlobalPage ? {isUndefined: true} : doc.longname}); + + // symbols that are assigned to module.exports are not globals, even though they're not a memberof anything + if (isGlobalPage && members && members.length && members.forEach) { + members = members.filter(function(m) { + return m.longname && m.longname.indexOf('module:') !== 0; + }); + } + if (members && members.length && members.forEach) { + ?> + <h3 class="subsection-title">Members</h3> + + <?js members.forEach(function(p) { ?> + <?js= self.partial('members.tmpl', p) ?> + <?js }); ?> + <?js } ?> + + <?js + var methods = self.find({kind: 'function', memberof: isGlobalPage ? {isUndefined: true} : doc.longname}); + if (methods && methods.length && methods.forEach) { + ?> + <h3 class="subsection-title">Methods</h3> + + <?js methods.forEach(function(m) { ?> + <?js= self.partial('method.tmpl', m) ?> + <?js }); ?> + <?js } ?> + + <?js + var typedefs = self.find({kind: 'typedef', memberof: isGlobalPage ? {isUndefined: true} : doc.longname}); + if (typedefs && typedefs.length && typedefs.forEach) { + ?> + <h3 class="subsection-title">Type Definitions</h3> + + <?js typedefs.forEach(function(e) { + if (e.signature) { + ?> + <?js= self.partial('method.tmpl', e) ?> + <?js + } + else { + ?> + <?js= self.partial('members.tmpl', e) ?> + <?js + } + }); ?> + <?js } ?> + + <?js + var events = self.find({kind: 'event', memberof: isGlobalPage ? {isUndefined: true} : doc.longname}); + if (events && events.length && events.forEach) { + ?> + <h3 class="subsection-title">Events</h3> + + <?js events.forEach(function(e) { ?> + <?js= self.partial('method.tmpl', e) ?> + <?js }); ?> + <?js } ?> +</article> + +</section> +<?js } ?> + +<?js }); ?> |