MediaWiki:Gadget-Site.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
/ | // This gadget contains code that will run unconditionally for everyone - both on mobile and desktop. | ||
/ | // Consider instead adding your code to [[MediaWiki:Common.js]], [[MediaWiki:Mobile.js]], or a gadget. | ||
// <nowiki> | // <nowiki> | ||
const pageName = mw.config.get("wgPageName"); | |||
const ns = mw.config.get("wgNamespaceNumber"); | |||
/* ***** Page-specific code ***** */ | |||
switch (pageName) { | |||
case "MediaWiki:Gadgets-definition": // [[MediaWiki:Gadgets-definition]] | |||
importScript("MediaWiki:BetterGadgetsDefinition.js"); // [[MediaWiki:BetterGadgetsDefinition.js]] | |||
break; | |||
case "Special:Search": // [[Special:Search]] | |||
importScript("MediaWiki:FindTrans.js"); // [[MediaWiki:FindTrans.js]] | |||
break; | |||
} | |||
if ( | |||
document.querySelector(".mw-parser-output p:first-of-type") && [ | |||
"Module:languages/code_to_canonical_name", | |||
"Module:languages/canonical_names", | |||
"Module:etymology_languages/code_to_canonical_name", | |||
"Module:etymology_languages/canonical_names", | |||
"Module:families/code_to_canonical_name", | |||
"Module:families/canonical_names", | |||
"Module:scripts/code_to_canonical_name", | |||
"Module:scripts/canonical_names", | |||
].some(title => pageName.startsWith(title)) | |||
) | |||
importScript("MediaWiki:UpdateLanguageNameAndCode.js"); // [[MediaWiki:UpdateLanguageNameAndCode.js]] | |||
/* ***** Clean up category pages showing "0 c" or "0 e", e.g. [[Category:Pages with entries]] ***** */ | |||
for (const elem of document.querySelectorAll(".CategoryTreeItem bdi + span")) | |||
elem.textContent = elem.textContent | |||
.replace(/\b0 c, /, "") | |||
.replace(/, 0 [ep]\b/, "") | |||
.replace(/\(0 c\)/, "(0 e)"); | |||
/* ***** Template gadget for [[Module:UnitTests]]: e.g. [[Module:vi/testcases]] ***** */ | |||
for (const corner of document.querySelectorAll(".unit-tests .unit-tests-img-corner")) | |||
corner.addEventListener("click", () => corner.closest(".unit-tests").classList.toggle("unit-tests-hide-passing")); | |||
// </nowiki> | // </nowiki> | ||
Latest revision as of 12:16, 13 May 2026
// This gadget contains code that will run unconditionally for everyone - both on mobile and desktop.
// Consider instead adding your code to [[MediaWiki:Common.js]], [[MediaWiki:Mobile.js]], or a gadget.
// <nowiki>
const pageName = mw.config.get("wgPageName");
const ns = mw.config.get("wgNamespaceNumber");
/* ***** Page-specific code ***** */
switch (pageName) {
case "MediaWiki:Gadgets-definition": // [[MediaWiki:Gadgets-definition]]
importScript("MediaWiki:BetterGadgetsDefinition.js"); // [[MediaWiki:BetterGadgetsDefinition.js]]
break;
case "Special:Search": // [[Special:Search]]
importScript("MediaWiki:FindTrans.js"); // [[MediaWiki:FindTrans.js]]
break;
}
if (
document.querySelector(".mw-parser-output p:first-of-type") && [
"Module:languages/code_to_canonical_name",
"Module:languages/canonical_names",
"Module:etymology_languages/code_to_canonical_name",
"Module:etymology_languages/canonical_names",
"Module:families/code_to_canonical_name",
"Module:families/canonical_names",
"Module:scripts/code_to_canonical_name",
"Module:scripts/canonical_names",
].some(title => pageName.startsWith(title))
)
importScript("MediaWiki:UpdateLanguageNameAndCode.js"); // [[MediaWiki:UpdateLanguageNameAndCode.js]]
/* ***** Clean up category pages showing "0 c" or "0 e", e.g. [[Category:Pages with entries]] ***** */
for (const elem of document.querySelectorAll(".CategoryTreeItem bdi + span"))
elem.textContent = elem.textContent
.replace(/\b0 c, /, "")
.replace(/, 0 [ep]\b/, "")
.replace(/\(0 c\)/, "(0 e)");
/* ***** Template gadget for [[Module:UnitTests]]: e.g. [[Module:vi/testcases]] ***** */
for (const corner of document.querySelectorAll(".unit-tests .unit-tests-img-corner"))
corner.addEventListener("click", () => corner.closest(".unit-tests").classList.toggle("unit-tests-hide-passing"));
// </nowiki>