User:He7d3r/Tools/ImproveGadgetsDefinition.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// [[File:User:He7d3r/Tools/ImproveGadgetsDefinition.js]] (workaround for [[phab:T35355]])
/**
 * Creates links to the JS and CSS pages of each gadget defined at [[MediaWiki:Gadgets-definition]]
 * @author: Helder (https://github.com/he7d3r)
 * @license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
 */
// <nowiki>
(function(i,t){"use strict";function e(e){var n=e.find("li"),a=function(e,n){var a="MediaWiki:Gadget-"+t.trim(n);return'|<a href="'+i.util.getUrl(a)+'" title="'+a+'">'+n+"</a>"};n.each(function(){var i=t(this),e=i.text(),n=/^\s*([a-zA-Z](?:[-_:.\w\d ]*[a-zA-Z0-9])?)(\s*\[.*?\])?\s*((\|[^|]*)+)\s*$/;return n.test(e)?(i.html(e.replace(/\|([^|]+?\.(?:js|css)(?=\||$))/g,a)),void 0):!0})}i.config.get("wgNamespaceNumber")===8&&i.config.get("wgTitle")==="Gadgets-definition"&&i.loader.using("mediawiki.util",function(){i.hook("wikipage.content").add(e)})})(mediaWiki,jQuery);
// </nowiki>