MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
mw.loader.using(['mediawiki.util']).then(function () { | mw.loader.using(['mediawiki.util']).then(function () { | ||
function | function applyFormatting() { | ||
const container = document.querySelector("#ns-tree"); | const container = document.querySelector("#ns-tree"); | ||
if (!container) return; | if (!container) return; | ||
| Line 9: | Line 8: | ||
const items = container.querySelectorAll("li"); | const items = container.querySelectorAll("li"); | ||
// If nothing found, try again | |||
if (items.length === 0) { | if (items.length === 0) { | ||
setTimeout(applyFormatting, 300); | |||
setTimeout( | |||
return; | return; | ||
} | } | ||
| Line 21: | Line 20: | ||
const full = link.textContent; | const full = link.textContent; | ||
// Remove namespace | |||
let clean = full.replace(/^Drupal:/, ""); | let clean = full.replace(/^Drupal:/, ""); | ||
// Count depth | |||
const depth = (clean.match(/\//g) || []).length; | const depth = (clean.match(/\//g) || []).length; | ||
const | // Get last part | ||
const label = clean.split("/").pop(); | |||
// Apply label | |||
link.textContent = label; | link.textContent = label; | ||
// Apply indentation | |||
li.style.marginLeft = (depth * 20) + "px"; | li.style.marginLeft = (depth * 20) + "px"; | ||
// Style top level | |||
if (depth === 0) { | if (depth === 0) { | ||
link.style.fontWeight = "bold"; | link.style.fontWeight = "bold"; | ||
li.style.marginTop = "8px"; | |||
} | } | ||
}); | }); | ||
} | } | ||
// | // Start after page load | ||
$( | $(applyFormatting); | ||
}); | }); | ||
Latest revision as of 13:45, 12 April 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);
});