// Link tabs, as per https://facelessuser.github.io/pymdown-extensions/extensions/tabbed/#linked-tabs const savedTab = localStorage.getItem('savedTab') const tabs = document.querySelectorAll(".tabbed-set > input") for (const tab of tabs) { tab.addEventListener("click", () => { const current = document.querySelector(`label[for=${tab.id}]`) const pos = current.getBoundingClientRect().top const labelContent = current.innerHTML const labels = document.querySelectorAll('.tabbed-set > label, .tabbed-alternate > .tabbed-labels > label') for (const label of labels) { if (label.innerHTML === labelContent) { document.querySelector(`input[id=${label.getAttribute('for')}]`).checked = true } } // Preserve scroll position const delta = (current.getBoundingClientRect().top) - pos window.scrollBy(0, delta) // Save localStorage.setItem('savedTab', labelContent) }) // Select saved tab const current = document.querySelector(`label[for=${tab.id}]`) const labelContent = current.innerHTML if (savedTab === labelContent) { tab.checked = true } }