var tocData; var treeOutput = new Array(); function renderTree(tree) { for (var i=0; i < tree.length; i++) { if (tree[i].heading) { // render a heading } else { if (tree[i].sectiontitle) { treeOutput.push('
  • ' + tree[i].title + '
  • '); } } } } function hookupTOCEvents() { // do after tree render $('.expand-menu').on('click touchstart', function(elem) { // menu = elem.currentTarget.nextElementSibling menu = elem.currentTarget.parentElement if (menu.classList.contains("menu-closed")) { menu.classList.remove("menu-closed") menu.classList.add("menu-open") } else { menu.classList.add("menu-closed") menu.classList.remove("menu-open") } return false; }); $(".currentPage").each(function(){ $(this).parentsUntil($('.docsidebarnav_section')).addClass("active").removeClass("menu-closed").addClass("menu-open"); }); } jQuery(document).ready(function(){ $.getJSON( "/toc.txt", function( data ) { tocData = data; renderTree(data.toc); $(".nav-sub").html(treeOutput.join('')); hookupTOCEvents(); }); $("#TableOfContents ul").empty(); var prevH2Item = null; var prevH2List = null; var index = 0; var currentHeader = 0, lastHeader = 0; var output = ""; $("#TableOfContents").html(output); });