in redback/core/apidocs/assets/doclava-developer-docs.js [179:231]
function highlightNav(fullPageName) {
var lastSlashPos = fullPageName.lastIndexOf("/");
var firstSlashPos;
if (fullPageName.indexOf("/guide/") != -1) {
firstSlashPos = fullPageName.indexOf("/guide/");
} else if (fullPageName.indexOf("/sdk/") != -1) {
firstSlashPos = fullPageName.indexOf("/sdk/");
} else {
firstSlashPos = fullPageName.indexOf("/resources/");
}
if (lastSlashPos == (fullPageName.length - 1)) { // if the url ends in slash (add 'index.html')
fullPageName = fullPageName + "index.html";
}
// First check if the exact URL, with query string and all, is in the navigation menu
var pathPageName = fullPageName.substr(firstSlashPos);
var link = $("#devdoc-nav a[href$='"+ pathPageName+"']");
if (link.length == 0) {
var htmlPos = fullPageName.lastIndexOf(".html", fullPageName.length);
pathPageName = fullPageName.slice(firstSlashPos, htmlPos + 5); // +5 advances past ".html"
link = $("#devdoc-nav a[href$='"+ pathPageName+"']");
if ((link.length == 0) && ((fullPageName.indexOf("/guide/") != -1) || (fullPageName.indexOf("/resources/") != -1))) {
// if there's no match, then let's backstep through the directory until we find an index.html page
// that matches our ancestor directories (only for dev guide and resources)
lastBackstep = pathPageName.lastIndexOf("/");
while (link.length == 0) {
backstepDirectory = pathPageName.lastIndexOf("/", lastBackstep);
link = $("#devdoc-nav a[href$='"+ pathPageName.slice(0, backstepDirectory + 1)+"index.html']");
lastBackstep = pathPageName.lastIndexOf("/", lastBackstep - 1);
if (lastBackstep == 0) break;
}
}
}
// add 'selected' to the <li> or <div> that wraps this <a>
link.parent().addClass('selected');
// if we're in a toggleable root link (<li class=toggle-list><div><a>)
if (link.parent().parent().hasClass('toggle-list')) {
toggle(link.parent().parent(), false); // open our own list
// then also check if we're in a third-level nested list that's toggleable
if (link.parent().parent().parent().is(':hidden')) {
toggle(link.parent().parent().parent().parent(), false); // open the super parent list
}
}
// if we're in a normal nav link (<li><a>) and the parent <ul> is hidden
else if (link.parent().parent().is(':hidden')) {
toggle(link.parent().parent().parent(), false); // open the parent list
// then also check if the parent list is also nested in a hidden list
if (link.parent().parent().parent().parent().is(':hidden')) {
toggle(link.parent().parent().parent().parent().parent(), false); // open the super parent list
}
}
}