/* Internal link topbar offest adjust Javascript Code provided by @makshh on GitHub Bug report on material-mkdocs https://github.com/squidfunk/mkdocs-material/issues/791 */ // Offset top helper function offsetY(elem) { if(!elem) elem = this; var y = elem.offsetTop; while (elem = elem.offsetParent) { y += elem.offsetTop; } return y; } // If a link on the same page is clicked, calculate the // correct offset and scroll to that part of the page. // var links = document.getElementsByTagName('a'); for(var i = 0; i < links.length; i++) { links[i].onclick = function (event) { if (this.pathname == window.location.pathname && this.protocol == window.location.protocol && this.host == window.location.host) { event.preventDefault(); if(this.hash.substr(1)){ var o = document.getElementById(this.hash.substr(1)); var sT = offsetY(o) - document.getElementsByClassName('md-header')[0].clientHeight; window.location.hash = this.hash; window.scrollTo(0, sT); } } } } // Slugify supplied text function slugify(text){ text = text.toLowerCase(); text = text.replace(" ", "-"); return text; } // If there is a hash in the url, slugify it // and replace if(window.location.hash) { // Fragment exists slug = slugify(window.location.hash); history.replaceState(undefined, undefined, slug) //window.location.hash = slug; document.location.replace(window.location.href); }