MediaWiki:Gadget-Site.js: Difference between revisions
Jump to navigation
Jump to search
m 1 revision imported |
No edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
/* ***** Page-specific code ***** */ | /* ***** Page-specific code ***** */ | ||
switch (pageName) { | switch (pageName) { | ||
case "MediaWiki:Gadgets-definition": // [[MediaWiki:Gadgets-definition]] | case "MediaWiki:Gadgets-definition": // [[MediaWiki:Gadgets-definition]] | ||
importScript("MediaWiki:BetterGadgetsDefinition.js"); // [[MediaWiki:BetterGadgetsDefinition.js]] | importScript("MediaWiki:BetterGadgetsDefinition.js"); // [[MediaWiki:BetterGadgetsDefinition.js]] | ||
| Line 22: | Line 14: | ||
importScript("MediaWiki:FindTrans.js"); // [[MediaWiki:FindTrans.js]] | importScript("MediaWiki:FindTrans.js"); // [[MediaWiki:FindTrans.js]] | ||
break; | break; | ||
} | } | ||
| Line 40: | Line 26: | ||
"Module:scripts/code_to_canonical_name", | "Module:scripts/code_to_canonical_name", | ||
"Module:scripts/canonical_names", | "Module:scripts/canonical_names", | ||
].some(title => pageName.startsWith(title)) | ].some(title => pageName.startsWith(title)) | ||
) | ) | ||
importScript("MediaWiki:UpdateLanguageNameAndCode.js"); // [[MediaWiki:UpdateLanguageNameAndCode.js]] | importScript("MediaWiki:UpdateLanguageNameAndCode.js"); // [[MediaWiki:UpdateLanguageNameAndCode.js]] | ||
/* ***** Clean up category pages showing "0 c" or "0 e", e.g. [[Category:Pages with entries]] ***** */ | /* ***** 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")) | for (const elem of document.querySelectorAll(".CategoryTreeItem bdi + span")) | ||
elem.textContent = elem.textContent.replace( | 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]] ***** */ | /* ***** Template gadget for [[Module:UnitTests]]: e.g. [[Module:vi/testcases]] ***** */ | ||
for (const corner of document.querySelectorAll(".unit-tests .unit-tests-img-corner")) | 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")); | 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>