Sort doc navigation properly and add missing modules

This commit is contained in:
Andreas Hocevar
2020-01-29 14:04:52 +01:00
parent c373a3eafd
commit e3f9e250ab

View File

@@ -188,6 +188,12 @@ function attachModuleSymbols(doclets, modules) {
});
}
function getPrettyName(longname) {
return longname
.split('~')[0]
.replace('module:', '');
}
/**
* Create the navigation sidebar.
* @param {object} members The members that will be used to create the sidebar.
@@ -206,10 +212,12 @@ function buildNav(members) {
// merge namespaces and classes, then sort
const merged = members.modules.concat(members.classes);
merged.sort(function(a, b) {
if (a.longname > b.longname) {
const prettyNameA = getPrettyName(a.longname).toLowerCase();
const prettyNameB = getPrettyName(b.longname).toLowerCase();
if (prettyNameA > prettyNameB) {
return 1;
}
if (a.longname < b.longname) {
if (prettyNameA < prettyNameB) {
return -1;
}
return 0;
@@ -221,9 +229,7 @@ function buildNav(members) {
nav.push({
type: 'class',
longname: v.longname,
prettyname: v.longname
.split('~')[0]
.replace('module:', ''),
prettyname: getPrettyName(v.longname),
name: v.name,
module: find({
kind: 'module',
@@ -269,13 +275,11 @@ function buildNav(members) {
memberof: v.longname
});
// only add modules that have more to show than just a single class
if (classes.length !== 1 && (classes.length + members.length + methods.length + typedefs.length + events.length > 0)) {
if (!classes.length || classes.length - 1 + members.length + methods.length + typedefs.length + events.length > 0) {
nav.push({
type: 'module',
longname: v.longname,
prettyname: v.longname
.split('~')[0]
.replace('module:', ''),
prettyname: getPrettyName(v.longname),
name: v.name,
members: members,
methods: methods,