User:MusikAnimal/previewUserboxes.js

Source: Wikipedia, the free encyclopedia.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/*
 * Script:	PreviewUserboxes.js
 * Author:	en:User:MusikAnimal
 * 
 * Notes:	This script only shows userboxes that are less than 2500 bytes in size
 *			This is because some users frustratingly put userboxes categories on their user page (many times unintentional)
 *
 */

if(mw.config.get('wgCategories').indexOf("Userboxes") > -1 || mw.config.get('wgPageName') === "Category:Userboxes") {
	// showUserboxes = function() {
		var boxes = $("#mw-pages").find(".mw-content-ltr").find("a");
		$.each(boxes,function(i,box){
			$.get(mw.config.get('wgScriptPath')+"/api.php?format=json&action=parse&prop=text&page="+box.text,function(data){
				// if(box.text === "Template:User old") debugger;
				if(data.parse) {
					var $userbox = $(data.parse.text["*"]).eq(0);
					if($userbox.html().length < 2500 && $userbox.hasClass("wikipediauserbox")) {
						$html = "<div>" + $(data.parse.text["*"]).eq(0).html() + "</div>" +
								"<div style='clear:both;margin-bottom:10px'>{{<a href='"+mw.config.get('wgScriptPath')+"/index.php?title="+box.text+"'>"+box.text+"</a>}}</div>";
						$(box).parent().html($html);
					}
				}
			});
		});
	// }
}