'
+ nav += '
'
+
+
+
+
if (title) {
- nav += '
' + title + '
'
+ var titleRef = "'" + title + "'"
+ var titleRefMenuIcon = "'" + title +"_arrow" + "'"
+ nav += '
'
+
+//
view
}
+
+ // nav += '
'+members.shortFilename+'
'
+
+ nav += '
'
nav += buildMemberNav(members.tutorials || [], 'Tutorials', seenTutorials, linktoTutorial)
nav += buildMemberNav(members.modules || [], 'Modules', {}, linkto)
nav += buildMemberNav(members.externals || [], 'Externals', seen, linktoExternal)
@@ -405,25 +432,29 @@ function buildGroupNav (members, title) {
nav += buildMemberNav(members.events || [], 'Events', seen, linkto)
nav += buildMemberNav(members.mixins || [], 'Mixins', seen, linkto)
nav += buildMemberNav(members.components || [], 'Components', seen, linkto)
-
- if (members.globals && members.globals.length) {
- globalNav = ''
- members.globals.forEach(function(g) {
- if ( g.kind !== 'typedef' && !hasOwnProp.call(seen, g.longname) ) {
- globalNav += '
' + linkto(g.longname, g.name) + ''
- }
- seen[g.longname] = true
- })
+
- if (!globalNav) {
- // turn the heading into a link so you can actually get to the global page
- nav += '
' + linkto('global', 'Global') + '
'
- }
- else {
- nav += '
Global
'
+ if (members.globals && members.globals.length) {
+ globalNav = ''
+
+ members.globals.forEach(function(g) {
+ var filename = g.filename
+ if ( g.kind !== 'typedef' && !hasOwnProp.call(seen, g.longname) ) {
+ globalNav += '
' + linkto(g.longname, g.name) + ''+ ''
+ }
+ seen[g.longname] = true
+ })
+
+ if (!globalNav) {
+ // turn the heading into a link so you can actually get to the global page
+ nav += ''
+ }
+ else {
+ nav += '' + globalNav
+ }
}
- }
+ nav += '
'
nav += '
'
return nav
}
@@ -445,37 +476,164 @@ function buildGroupNav (members, title) {
*/
function buildNav(members, navTypes = null, betterDocs) {
const href = betterDocs.landing ? 'docs.html' : 'index.html'
- var nav = navTypes ? '' : `
`
+ var nav = navTypes ? '' : ''
+ // var nav = navTypes ? '' : `
`
- var categorised = {}
+ var fileCategories = {}
+ var categories = {}
var rootScope = {}
+ // var experiment = { }
+
var types = navTypes || ['modules', 'externals', 'namespaces', 'classes',
'components', 'interfaces', 'events', 'mixins', 'globals']
types.forEach(function(type) {
if (!members[type]) { return }
members[type].forEach(function(element) {
+
if (element.access && element.access === 'private') {
return
}
- if (element.category) {
- if (!categorised[element.category]){ categorised[element.category] = [] }
- if (!categorised[element.category][type]){ categorised[element.category][type] = [] }
- categorised[element.category][type].push(element)
+
+ // if (element.category) {
+ // if (!categorised[element.category]){ categorised[element.category] = [] }
+ // if (!categorised[element.category][type]){ categorised[element.category][type] = [] }
+ // categorised[element.category][type].push(element)
+ // } else {
+ // rootScope[type] ? rootScope[type].push(element) : rootScope[type] = [element]
+ // }
+
+ if(element.shortFilename) {
+ if (!fileCategories[element.shortFilename]){ fileCategories[element.shortFilename] = [] }
+ if (!fileCategories[element.shortFilename][type]){ fileCategories[element.shortFilename][type] = [] }
+ fileCategories[element.shortFilename][type].push(element)
} else {
rootScope[type] ? rootScope[type].push(element) : rootScope[type] = [element]
}
+
+ if(element.category) {
+ if (!categories[element.category]){ categories[element.category] = [] }
+ if (!categories[element.category][type]){ categories[element.category][type] = [] }
+ categories[element.category][type].push(element)
+ }
+
+ // if (element.category) {
+ // if (!categorised[element.category]){ categorised[element.category] = [] }
+ // if (!categorised[element.category][type]){ categorised[element.category][type] = [] }
+ // categorised[element.category][type].push(element)
+ // } else {
+ // rootScope[type] ? rootScope[type].push(element) : rootScope[type] = [element]
+ // }
+
+ // {
+ // "demo.js" : {
+ // "class" : []
+ // }
+ // }
+ // {
+ // "root" : {
+ // "demo.js" : {
+ // "class" : []
+ // }
+ // "core" : {
+ // "demo2.js" : {
+ // "class" : []
+ // }
+ // }
+ // }
+ // }
+
+ // // Build file path
+ // if(element.filename) {
+ // var spiltedStr = element.filename.split('/');
+ // if(Array.isArray(spiltedStr)) {
+ // // Is in files.
+ // if(spiltedStr.length > 1) {
+ // for(let i = 0; i < spiltedStr.length; i++) {
+
+ // if (!experiment[spiltedStr[i]]){ experiment[spiltedStr[i]] = [] }
+
+ // }
+ // spiltedStr.forEach(function(path) {
+
+ // if (!experiment[element.path]){ experiment[element.path] = [] }
+
+
+ // if (!experiment[element.fileName][type]){ experiment[element.fileName][type] = [] }
+ // experiment[element.fileName][type].push(element)
+
+ // })
+ // }
+
+ // }
+
+ // }
+
})
})
+
+ Object.keys(categories).length
+
+ // nav += '
Total files '+ Object.keys(categories).length+' documented
'
+
+ nav += '
'
+
+ if(Object.keys(categories).length > 0) {
+ nav += ''
+ }
+
+ nav += '
'
+
+ nav += '
'
+
+
+ // Object.keys(categorised).sort().forEach(function (category) {
+ // nav += buildGroupNav(categorised[category], category)
+ // })
+
+ Object.keys(fileCategories).sort().forEach(function (category) {
- nav += buildGroupNav(rootScope)
- Object.keys(categorised).sort().forEach(function (category) {
- nav += buildGroupNav(categorised[category], category)
+ nav += buildGroupNav(fileCategories[category], category)
+
})
+ nav += buildGroupNav(rootScope, 'Unlisted')
+
+ nav += '
'
+
+ Object.keys(categories).sort().forEach(function (category) {
+ nav += '
'
+
+ nav += buildGroupNav(categories[category], category)
+
+ nav += '
'
+
+ })
+
+
return nav
}
+function addFilename (f, filename) {
+ f.filename = filename
+
+ // var types = f.type ? buildItemTypeStrings(f) : []
+
+ // f.signature = (f.signature || '') + '
' +
+ // (types.length ? ' :' + types.join('|') : '') + ''
+
+}
+
+function addShortFilename (f, filename) {
+ f.shortFilename = filename
+
+ // var types = f.type ? buildItemTypeStrings(f) : []
+
+ // f.signature = (f.signature || '') + '
' +
+ // (types.length ? ' :' + types.join('|') : '') + ''
+
+}
+
/**
@param {TAFFY} taffyData See
.
@param {object} opts
@@ -557,6 +715,7 @@ exports.publish = function(taffyData, opts, tutorials) {
}
})
}
+
if (doclet.see) {
doclet.see.forEach(function(seeItem, i) {
doclet.see[i] = hashToLink(doclet, seeItem)
@@ -654,6 +813,15 @@ exports.publish = function(taffyData, opts, tutorials) {
addSignatureReturns(doclet)
addAttribs(doclet)
}
+ if(doclet.meta) {
+ var filename = getPathFromDoclet(doclet)
+
+ filename = sourceFiles[filename].shortened
+ var shortFilename = doclet.meta.filename
+ addFilename(doclet, filename)
+ addShortFilename(doclet, shortFilename)
+ }
+
})
// do this after the urls have all been generated
@@ -675,6 +843,7 @@ exports.publish = function(taffyData, opts, tutorials) {
view.smallHeader = !conf.betterDocs.navButtons
members = helper.getMembers(data)
+
if (opts.tutorials) {
// sort tutorials
try {
@@ -688,7 +857,6 @@ exports.publish = function(taffyData, opts, tutorials) {
}
members.tutorials = tutorials.children
}
-
} else {
members.tutorials = tutorials.children
}
@@ -707,8 +875,8 @@ exports.publish = function(taffyData, opts, tutorials) {
view.tutoriallink = tutoriallink;
view.htmlsafe = htmlsafe
view.outputSourceFiles = outputSourceFiles
-
// once for all
+ // console.log(members)
view.nav = buildNav(members, null, conf.betterDocs)
view.tutorialsNav = buildNav(members, ['tutorials'], conf.betterDocs)