diff --git a/.gitignore b/.gitignore index cece14dc..a1ba17e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/ -static/**/jaguar.* \ No newline at end of file +static/**/jaguar.* +.idea/ \ No newline at end of file diff --git a/package.json b/package.json index 65020807..43849b2b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jaguarjs-jsdoc", - "version": "1.0.2", + "version": "1.0.3", "description": "Jaguar.js template for JSDoc 3", "dependencies": {}, "devDependencies": { diff --git a/publish.js b/publish.js index 3e47a6d6..cf1fa6e7 100644 --- a/publish.js +++ b/publish.js @@ -44,7 +44,7 @@ function needsSignature(doclet) { needsSig = true; } // typedefs that contain functions get a signature, too - else if (doclet.kind === 'typedef' && doclet.type && doclet.type.names && + else if ((doclet.kind === 'typedef' || doclet.kind === 'interface') && doclet.type && doclet.type.names && doclet.type.names.length) { for (var i = 0, l = doclet.type.names.length; i < l; i++) { if (doclet.type.names[i].toLowerCase() === 'function') { @@ -196,6 +196,7 @@ function attachModuleSymbols(doclets, modules) { * @param {array} members.modules * @param {array} members.namespaces * @param {array} members.tutorials + * @param {array} members.interfaces * @param {array} members.events * @return {string} The HTML for the navigation sidebar. */ @@ -220,6 +221,10 @@ function buildNav(members) { kind: 'typedef', memberof: v.longname }), + interfaces: find({ + kind: 'interface', + memberof: v.longname + }), events: find({ kind: 'event', memberof: v.longname @@ -249,6 +254,10 @@ function buildNav(members) { typedefs: find({ kind: 'typedef', memberof: v.longname + }), + interfaces: find({ + kind: 'interface', + memberof: v.longname }), events: find({ kind: 'event', @@ -477,7 +486,8 @@ exports.publish = function(taffyData, opts, tutorials) { var namespaces = taffy(members.namespaces); var mixins = taffy(members.mixins); var externals = taffy(members.externals); - + var interfaces = taffy(members.interfaces); + for (var longname in helper.longnameToUrl) { if ( hasOwnProp.call(helper.longnameToUrl, longname) ) { var myClasses = helper.find(classes, {longname: longname}); @@ -504,6 +514,11 @@ exports.publish = function(taffyData, opts, tutorials) { if (myExternals.length) { generate('External: ' + myExternals[0].name, myExternals, helper.longnameToUrl[longname]); } + + var myInterfaces = helper.find(interfaces, {longname: longname}); + if (myInterfaces.length) { + generate('Interface: ' + myInterfaces[0].name, myInterfaces, helper.longnameToUrl[longname]); + } } } diff --git a/tmpl/container.tmpl b/tmpl/container.tmpl index cd3e5a65..1820f930 100644 --- a/tmpl/container.tmpl +++ b/tmpl/container.tmpl @@ -136,6 +136,26 @@ }); ?> + +

Interface Definitions

+ +
+ + + +
+ + +
    + + Interfaces + +
  • + +