MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 50: | Line 50: | ||
$(function() { | $(function() { | ||
var pageId = mw.config.get('wgArticleId'); | // Wait until MediaWiki's hook ensures the page is fully ready | ||
mw.hook('wikipage.content').add(function() { | |||
var pageId = mw.config.get('wgArticleId'); | |||
// Ensure we are on a valid page and the element hasn't already been added | |||
if (pageId && pageId > 0 && $('#mw-print-pageid').length === 0) { | |||
} | var $printId = $('<div>') | ||
.attr('id', 'mw-print-pageid') | |||
.text('Page ID: ' + pageId); | |||
// Universal fallback positioning strategy: | |||
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:34, 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() {
// Wait until MediaWiki's hook ensures the page is fully ready
mw.hook('wikipage.content').add(function() {
var pageId = mw.config.get('wgArticleId');
// Ensure we are on a valid page and the element hasn't already been added
if (pageId && pageId > 0 && $('#mw-print-pageid').length === 0) {
var $printId = $('<div>')
.attr('id', 'mw-print-pageid')
.text('Page ID: ' + pageId);
// Universal fallback positioning strategy:
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
}
}
});
});