Jump to content

MediaWiki:Common.js: Difference between revisions

From Costa Sano KB
No edit summary
No edit summary
Line 50: Line 50:


$(function() {
$(function() {
    // Wait until MediaWiki's hook ensures the page is fully ready
     mw.hook('wikipage.content').add(function() {
     mw.hook('wikipage.content').add(function() {
         var pageId = mw.config.get('wgArticleId');
         var pageId = mw.config.get('wgArticleId');
          
          
         // Ensure we are on a valid page and the element hasn't already been added
        // Target the standard "This page was last edited..." line
         if (pageId && pageId > 0 && $('#mw-print-pageid').length === 0) {
        var $lastMod = $('#footer-info-lastmod');
             var $printId = $('<div>')
       
         // Ensure the element exists, we have a valid ID, and it isn't already added
         if ($lastMod.length && pageId && pageId > 0 && $('#mw-print-pageid').length === 0) {
            // Append a small separator space followed by the Page ID
             var $printId = $('<span>')
                 .attr('id', 'mw-print-pageid')
                 .attr('id', 'mw-print-pageid')
                 .text('Page ID: ' + pageId);
                 .text(' (Page ID: ' + pageId + ')');
 
              
            // Universal fallback positioning strategy:
             $lastMod.append($printId);
            if ($('#footer').length) {
                $('#footer').append($printId); // Vector Legacy / Monobook
             } else if ($('.mw-footer').length) {
                $('.mw-footer').append($printId); // Vector 2022 Skin
             } else {
                $('#mw-content-text').append($printId); // Hard fallback at the text bottom
            }
         }
         }
     });
     });
});
});

Revision as of 13:38, 10 August 2026

/* Any JavaScript here will be loaded for all users on every page load. */
mw.loader.using(['mediawiki.util']).then(function () {

    function applyFormatting() {
        const container = document.querySelector("#ns-tree");
        if (!container) return;

        const items = container.querySelectorAll("li");

        // If nothing found, try again
        if (items.length === 0) {
            setTimeout(applyFormatting, 300);
            return;
        }

        items.forEach(function (li) {
            const link = li.querySelector("a");
            if (!link) return;

            const full = link.textContent;

            // Remove namespace
            let clean = full.replace(/^Drupal:/, "");

            // Count depth
            const depth = (clean.match(/\//g) || []).length;

            // Get last part
            const label = clean.split("/").pop();

            // Apply label
            link.textContent = label;

            // Apply indentation
            li.style.marginLeft = (depth * 20) + "px";

            // Style top level
            if (depth === 0) {
                link.style.fontWeight = "bold";
                li.style.marginTop = "8px";
            }
        });
    }

    // Start after page load
    $(applyFormatting);

});


$(function() {
    mw.hook('wikipage.content').add(function() {
        var pageId = mw.config.get('wgArticleId');
        
        // Target the standard "This page was last edited..." line
        var $lastMod = $('#footer-info-lastmod');
        
        // Ensure the element exists, we have a valid ID, and it isn't already added
        if ($lastMod.length && pageId && pageId > 0 && $('#mw-print-pageid').length === 0) {
            // Append a small separator space followed by the Page ID
            var $printId = $('<span>')
                .attr('id', 'mw-print-pageid')
                .text(' (Page ID: ' + pageId + ')');
            
            $lastMod.append($printId);
        }
    });
});