/* When in mobile layout, the anchor navigation for submenus * doesn't work due to fixed body height when menu is toggled. * This script intercepts clicks on links, toggles the menu off * and performs the anchor navigation. */ window.addEventListener("load", function () { let href = window.location.pathname; const hash = window.location.hash; if (hash !== "") { href = hash } const sidebar = document.querySelector('.sidebar .toctree'); const selector = function (href) { return `a[href="${href}"]` }; let element = sidebar.querySelector(selector(href)); if (!element) { href = window.location.pathname; element = document.querySelector(selector(href)); } if (element) { element.scrollIntoView({behavior: "smooth", block: "center", inline: "nearest"}); } addNewDocsButton() }); function addNewDocsButton() { let navigationBox = document.querySelector(".navigation-top"); if (navigationBox) { let newDocsButton = document.createElement('a'); newDocsButton.appendChild(document.createTextNode("Try New Docs")); newDocsButton.className = "btn"; newDocsButton.title = "Try New Docs"; newDocsButton.href = "https://new.docs.victoriametrics.com"; let lastA = document.querySelector(".navigation-top > a"); if (lastA) { lastA.parentNode.insertBefore(newDocsButton, lastA); } } } $(document).on("click", '.shift li.toc a', function (e) { let segments = this.href.split('#'); if (segments.length < 2) { /* ignore links without anchor */ return true; } e.preventDefault(); $("#toggle").click(); setTimeout(function () { location.hash = segments.pop(); }, 1) }); /* Clipboard-copy snippet from https://github.com/marcoaugustoandrade/jekyll-clipboardjs/blob/master/copy.js */ let codes = document.querySelectorAll('.with-copy .highlight > pre > code'); let countID = 0; codes.forEach((code) => { code.setAttribute("id", "code" + countID); let btn = document.createElement('button'); btn.innerHTML = "Copy"; btn.className = "btn-copy"; btn.setAttribute("data-clipboard-action", "copy"); btn.setAttribute("data-clipboard-target", "#code" + countID); code.before(btn); countID++; }); let clipboard = new ClipboardJS('.btn-copy');