From dad0544e93a5faca29a2748c2328ea1fa5e66388 Mon Sep 17 00:00:00 2001 From: Jeff Williams Date: Sun, 11 Jan 2015 18:30:08 -0800 Subject: [PATCH] show tutorials in the TOC nav (#875) --- lib/jsdoc/tutorial.js | 2 +- templates/default/publish.js | 7 ++++--- test/specs/jsdoc/tutorial.js | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/jsdoc/tutorial.js b/lib/jsdoc/tutorial.js index 304b283c..931a2576 100644 --- a/lib/jsdoc/tutorial.js +++ b/lib/jsdoc/tutorial.js @@ -43,7 +43,7 @@ function addChild(parent, child) { @param {number} type - Source formating. */ exports.Tutorial = function(name, content, type) { - this.title = this.name = name; + this.title = this.name = this.longname = name; this.content = content; this.type = type; diff --git a/templates/default/publish.js b/templates/default/publish.js index 1c49130b..54ba07ac 100644 --- a/templates/default/publish.js +++ b/templates/default/publish.js @@ -335,8 +335,9 @@ function linktoExternal(longName, name) { * @return {string} The HTML for the navigation sidebar. */ function buildNav(members) { - var nav = '

Home

', - seen = {}; + var nav = '

Home

'; + var seen = {}; + var seenTutorials = {}; nav += buildMemberNav(members.modules, 'Modules', {}, linkto); nav += buildMemberNav(members.externals, 'Externals', seen, linktoExternal); @@ -344,7 +345,7 @@ function buildNav(members) { nav += buildMemberNav(members.events, 'Events', seen, linkto); nav += buildMemberNav(members.namespaces, 'Namespaces', seen, linkto); nav += buildMemberNav(members.mixins, 'Mixins', seen, linkto); - nav += buildMemberNav(members.tutorials, 'Tutorials', seen, linktoTutorial); + nav += buildMemberNav(members.tutorials, 'Tutorials', seenTutorials, linktoTutorial); nav += buildMemberNav(members.interfaces, 'Interfaces', seen, linkto); if (members.globals.length) { diff --git a/test/specs/jsdoc/tutorial.js b/test/specs/jsdoc/tutorial.js index 0ab8d98a..fbf90d1e 100644 --- a/test/specs/jsdoc/tutorial.js +++ b/test/specs/jsdoc/tutorial.js @@ -72,6 +72,11 @@ describe('jsdoc/tutorial', function() { expect(tute.name).toBe(name); }); + it('should have a "longname" property', function() { + expect(typeof tute.longname).toBe('string'); + expect(tute.longname).toBe(name); + }); + it("should have a 'title' property, by default set to to the tutorial's name", function() { expect(tute.title).toBeDefined(); expect(typeof tute.title).toBe('string');