$( document ).ready(function() { // Shift nav in mobile when clicking the menu. $(document).on('click', "[data-toggle='wy-nav-top']", function() { $("[data-toggle='wy-nav-shift']").toggleClass("shift"); $("[data-toggle='rst-versions']").toggleClass("shift"); }); // Close menu when you click a link. $(document).on('click', ".wy-menu-vertical .current ul li a", function() { $("[data-toggle='wy-nav-shift']").removeClass("shift"); $("[data-toggle='rst-versions']").toggleClass("shift"); }); // Keyboard navigation document.addEventListener("keydown", function(e) { if ($(e.target).is(':input')) return true; var key = e.which || e.keyCode || window.event && window.event.keyCode; var page; switch (key) { case 78: // n page = $('[role="navigation"] a:contains(Next):first').prop('href'); break; case 80: // p page = $('[role="navigation"] a:contains(Previous):first').prop('href'); break; default: break; } if (page) window.location.href = page; }); $(document).on('click', "[data-toggle='rst-current-version']", function() { $("[data-toggle='rst-versions']").toggleClass("shift-up"); }); // Make tables responsive $("table.docutils:not(.field-list)").wrap("
"); $('table').addClass('docutils'); }); window.SphinxRtdTheme = (function (jquery) { var stickyNav = (function () { var navBar, win, stickyNavCssClass = 'stickynav', applyStickNav = function () { if (navBar.height() <= win.height()) { navBar.addClass(stickyNavCssClass); } else { navBar.removeClass(stickyNavCssClass); } }, enable = function () { applyStickNav(); win.on('resize', applyStickNav); }, init = function () { navBar = jquery('nav.wy-nav-side:first'); win = jquery(window); }; jquery(init); return { enable : enable }; }()); return { StickyNav : stickyNav }; }($)); // The code below is a copy of @seanmadsen code posted Jan 10, 2017 on issue 803. // https://github.com/mkdocs/mkdocs/issues/803 // This just incorporates the auto scroll into the theme itself without // the need for additional custom.js file. // $(function() { $.fn.isFullyWithinViewport = function(){ var viewport = {}; viewport.top = $(window).scrollTop(); viewport.bottom = viewport.top + $(window).height(); var bounds = {}; bounds.top = this.offset().top; bounds.bottom = bounds.top + this.outerHeight(); return ( ! ( (bounds.top <= viewport.top) || (bounds.bottom >= viewport.bottom) ) ); }; if( $('li.toctree-l1.current').length && !$('li.toctree-l1.current').isFullyWithinViewport() ) { $('.wy-nav-side') .scrollTop( $('li.toctree-l1.current').offset().top - $('.wy-nav-side').offset().top - 60 ); } });