MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| 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 () { | |||
const | function applyFormatting() { | ||
const container = document.querySelector("#ns-tree"); | |||
if (!container) return; | |||
const items = container.querySelectorAll("li"); | |||
const | |||
const full = link.textContent; | // 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); | |||
}); | }); | ||
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);
});