document.addEventListener("DOMContentLoaded", function () { if (!document.querySelector(".enable-heading-numbering")) return; const headingTags = ["H2", "H3", "H4", "H5", "H6"]; const selector = headingTags.map(tag => `.enable-heading-numbering ${tag}`).join(","); const observer = new MutationObserver(function (mutations, obs) { const headings = document.querySelectorAll(selector); if (headings.length) { const numbers = [0, 0, 0, 0, 0]; headings.forEach(h => { const level = parseInt(h.tagName.substring(1)) - 2; numbers[level]++; for (let i = level + 1; i < numbers.length; i++) { numbers[i] = 0; } h.innerHTML = `${numbers.slice(0, level + 1).join(".")}. ` + h.innerHTML; }); obs.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true }); });