From 6a0d08eafdc7dac4e765c8865ad76ec4949f1409 Mon Sep 17 00:00:00 2001 From: Peter Robins Date: Wed, 16 Jul 2014 15:37:03 +0000 Subject: [PATCH] Docs sidebar in alphanumeric sequence --- apidoc/template/publish.js | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/apidoc/template/publish.js b/apidoc/template/publish.js index 6f630ccad8..eabc52e13a 100644 --- a/apidoc/template/publish.js +++ b/apidoc/template/publish.js @@ -190,11 +190,19 @@ function attachModuleSymbols(doclets, modules) { */ function buildNav(members) { var nav = []; - - if (members.namespaces.length) { - _.each(members.namespaces, function (v) { - // exclude 'olx' from sidebar - if (v.longname.indexOf('olx') !== 0) { + // merge namespaces and classes, then sort + var merged = members.namespaces.concat(members.classes); + merged.sort(function (a, b) { + if (a.longname > b.longname) + return 1; + if (a.longname < b.longname) + return -1; + return 0; + }); + _.each(merged, function (v) { + // exclude 'olx' and interfaces from sidebar + if (v.longname.indexOf('olx') !== 0 && v.interface !== true) { + if (v.kind == 'namespace') { nav.push({ type: 'namespace', longname: v.longname, @@ -217,13 +225,7 @@ function buildNav(members) { }) }); } - }); - } - - if (members.classes.length) { - _.each(members.classes, function (v) { - // ignore interfaces - if (v.interface !== true) { + if (v.kind == 'class') { nav.push({ type: 'class', longname: v.longname, @@ -247,9 +249,8 @@ function buildNav(members) { }) }); } - }); - } - + } + }); return nav; }