diff --git a/templates/default/publish.js b/templates/default/publish.js index 98a239c8..cb9064bc 100644 --- a/templates/default/publish.js +++ b/templates/default/publish.js @@ -51,6 +51,18 @@ f.signature = (f.signature || '') + '('+pnames.join(', ')+')'; } + function generateAncestry(doc) { + var ancestors = []; + + while (doc = doc.memberof) { + doc = data.get( data.find({longname: doc}) ); + if (doc) { doc = doc[0]; } + if (!doc) break; + ancestors.unshift( linkto(doc.longname, doc.name) ); + } + return ancestors; + } + function addSignatureReturns(f) { var returnTypes = []; @@ -187,9 +199,12 @@ longnameToUrl[longname] = url; }); + // do this after the urls have all been generated data.forEach(function(doclet) { if (doclet.classdesc) doclet.classdesc = renderLinks(doclet.classdesc); if (doclet.description) doclet.description = renderLinks(doclet.description); + + doclet.ancestors = generateAncestry(doclet); }); var nav = '', @@ -203,7 +218,17 @@ seen[m.longname] = true; }); - nav = nav + ''; + nav = nav + ''; + } + var namespaceNames = data.get( data.find({kind: 'namespace'}) ); + if (namespaceNames.length) { + nav = nav + '
'+doc.classdesc+'
'); }