// Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. /*jslint browser: true, es5: true */ /*globals $: true, rootPath: true */ document.addEventListener('DOMContentLoaded', function() { 'use strict'; document.getElementById('toggle-nav').onclick = function(e) { var toc = document.getElementById('toc'); var pagewrapper = document.getElementById('page-wrapper'); toggleClass(toc, 'mobile-hidden'); toggleClass(pagewrapper, 'mobile-hidden'); }; function toggleClass(el, className) { // from http://youmightnotneedjquery.com/ if (el.classList) { el.classList.toggle(className); } else { var classes = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) { classes.splice(existingIndex, 1); } else { classes.push(className); } el.className = classes.join(' '); } } // The below code is used to add prev and next navigation links to the // bottom of each of the sections. // It works by extracting the current page based on the url and iterates // over the menu links until it finds the menu item for the current page. We // then create a copy of the preceding and following menu links and add the // correct css class and insert them into the bottom of the page. var toc = document.getElementById('toc').getElementsByTagName('a'); var href = document.location.pathname.split('/').pop(); if (href === 'index.html' || href === '') { href = 'README.html'; } for (var i = 0; i < toc.length; i++) { if (toc[i].attributes.href.value.split('/').pop() === href) { var nav = document.createElement('p'); if (i > 0) { var prevNode = toc[i-1].cloneNode(true); prevNode.className = 'left'; prevNode.setAttribute('rel', 'prev'); nav.appendChild(prevNode); } if (i < toc.length - 1) { var nextNode = toc[i+1].cloneNode(true); nextNode.className = 'right'; nextNode.setAttribute('rel', 'next'); nav.appendChild(nextNode); } document.getElementById('page').appendChild(nav); break; } } });