MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
Line 86: Line 86:


(function () {
(function () {
    function stripHeaderLines(text) {
        return text
            // Remove standalone short lines that look like section headers
            .replace(/(?:^|\n)\s*[A-Z][A-Za-z0-9'’\- ,()]{0,50}\s*(?=\n)/g, '\n')
            // Clean up excess blank lines
            .replace(/\n{2,}/g, '\n')
            .trim();
    }
     function cleanAdarisPopups() {
     function cleanAdarisPopups() {
         document.querySelectorAll(
         document.querySelectorAll(
Line 94: Line 103:
             }
             }


            // Remove leading generated section labels from popup extracts.
             el.textContent = stripHeaderLines(el.textContent);
             el.textContent = el.textContent.replace(/^\s*Introduction\s*/i, '');
 
             el.dataset.adarisCleaned = '1';
             el.dataset.adarisCleaned = '1';
         });
         });
Line 102: Line 109:


     const observer = new MutationObserver(function () {
     const observer = new MutationObserver(function () {
        // Run immediately, then once more after Popups finishes filling text.
         cleanAdarisPopups();
         cleanAdarisPopups();
         setTimeout(cleanAdarisPopups, 100);
         setTimeout(cleanAdarisPopups, 100);