From 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.

/*

	Wikicup Viewer

	

	TODO Highlight cells based on who has the most for each type.

*/

function wikicupSorter()

{

	if (mw.config.get('wgPageName') != 'Wikipedia:WikiCup') return false;



	mw.util.addCSS('.wikicup-failing td { background-color: #fee; }\

		.wikicup-passing td { background-color: #efe; }\

		.wikicup-self td { background-color: #ffe; }\

		.key-table { float: left; }\

		.viewer-information { float: left; margin-left: 2.5em; background-color: #eee; padding: 10px; }\

		.viewer-information-header { font-weight: bold; font-size: 1.25em; }\

	');

	

	// Script might be broken during the transition periods between rounds

	var today = new Date();

	var thisYear = today.getFullYear();

	

	// Round 1

	var topContestants = 64;

	var topWildcards = 0;

	

	function setCutoff(date, contestants, wildcards)

	{

		if (today >= new Date(thisYear + '-' + date)) topContestants = contestants, topWildcards = wildcards;

	}

	

	setCutoff('03-01', 2, 16); // Round 2

	setCutoff('05-01', 2, 8); // Round 3

	setCutoff('07-01', 2, 4); // Round 4

	setCutoff('09-01', 1, 0); // Round 5

	

	var score = $('.headerSort[abbr=Score]').click().click();

	var username = mw.config.get('wgUserName');

	

	// Self: #ffe, passing: #efe, failing: #fee

	score.each(function()

	{

		var contestantCount = 0;

		$(this).parent().parent().next().children().each(function()

		{

			var contestant = $(this);

			contestant.addClass('wikicup-contestant');

			if (contestant.text().match(username)) contestant.addClass('wikicup-self');

			

			if (contestantCount < topContestants) contestant.addClass('wikicup-passing'); // Passing

			else contestant.addClass('wikicup-failing'); // Failing



			contestantCount++;

		});

	});



	// Now do the wildcards

	var failingScores = [];

	$('.wikicup-failing').each(function()

	{

		failingScores.push([$(this), $(this).children(':last').text()]);

	});



	// Sort failing scores by score

	failingScores.sort(function (a, b)

	{

		if (parseInt(a1]) < parseInt(b1])) return 1;

		else if (parseInt(a1]) == parseInt(b1])) return 0;

		else return -1;

	});

	

	var wildcards = failingScores.slice(0, topWildcards);

	var minWildcardScore;

	

	if (wildcards.length >= 1) minWildcardScore = parseInt(wildcardswildcards.length - 1][1]);

	else minWildcardScore = 'Unknown';

	

	for (var i = 0; i < wildcards.length; i++)

	{

		wildcardsi][0].addClass('wikicup-passing');

	}

	

	/*

		Extra data to add next to the Key for the page

	*/

	var keyTable = $('#Key').parent().next();

	keyTable.addClass('key-table');

	keyTable.after('<div class="viewer-information"><span class="viewer-information-header">WikiCup Viewer information</span><ul><li><strong>Minimum score required as a wildcard:</strong> ' + minWildcardScore + ' points</li></ul></div><div style="clear: left;"></div>');

}



addOnloadHook(wikicupSorter); // addOnloadHook necessary to allow table to be sortable first
From 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.

/*

	Wikicup Viewer

	

	TODO Highlight cells based on who has the most for each type.

*/

function wikicupSorter()

{

	if (mw.config.get('wgPageName') != 'Wikipedia:WikiCup') return false;



	mw.util.addCSS('.wikicup-failing td { background-color: #fee; }\

		.wikicup-passing td { background-color: #efe; }\

		.wikicup-self td { background-color: #ffe; }\

		.key-table { float: left; }\

		.viewer-information { float: left; margin-left: 2.5em; background-color: #eee; padding: 10px; }\

		.viewer-information-header { font-weight: bold; font-size: 1.25em; }\

	');

	

	// Script might be broken during the transition periods between rounds

	var today = new Date();

	var thisYear = today.getFullYear();

	

	// Round 1

	var topContestants = 64;

	var topWildcards = 0;

	

	function setCutoff(date, contestants, wildcards)

	{

		if (today >= new Date(thisYear + '-' + date)) topContestants = contestants, topWildcards = wildcards;

	}

	

	setCutoff('03-01', 2, 16); // Round 2

	setCutoff('05-01', 2, 8); // Round 3

	setCutoff('07-01', 2, 4); // Round 4

	setCutoff('09-01', 1, 0); // Round 5

	

	var score = $('.headerSort[abbr=Score]').click().click();

	var username = mw.config.get('wgUserName');

	

	// Self: #ffe, passing: #efe, failing: #fee

	score.each(function()

	{

		var contestantCount = 0;

		$(this).parent().parent().next().children().each(function()

		{

			var contestant = $(this);

			contestant.addClass('wikicup-contestant');

			if (contestant.text().match(username)) contestant.addClass('wikicup-self');

			

			if (contestantCount < topContestants) contestant.addClass('wikicup-passing'); // Passing

			else contestant.addClass('wikicup-failing'); // Failing



			contestantCount++;

		});

	});



	// Now do the wildcards

	var failingScores = [];

	$('.wikicup-failing').each(function()

	{

		failingScores.push([$(this), $(this).children(':last').text()]);

	});



	// Sort failing scores by score

	failingScores.sort(function (a, b)

	{

		if (parseInt(a1]) < parseInt(b1])) return 1;

		else if (parseInt(a1]) == parseInt(b1])) return 0;

		else return -1;

	});

	

	var wildcards = failingScores.slice(0, topWildcards);

	var minWildcardScore;

	

	if (wildcards.length >= 1) minWildcardScore = parseInt(wildcardswildcards.length - 1][1]);

	else minWildcardScore = 'Unknown';

	

	for (var i = 0; i < wildcards.length; i++)

	{

		wildcardsi][0].addClass('wikicup-passing');

	}

	

	/*

		Extra data to add next to the Key for the page

	*/

	var keyTable = $('#Key').parent().next();

	keyTable.addClass('key-table');

	keyTable.after('<div class="viewer-information"><span class="viewer-information-header">WikiCup Viewer information</span><ul><li><strong>Minimum score required as a wildcard:</strong> ' + minWildcardScore + ' points</li></ul></div><div style="clear: left;"></div>');

}



addOnloadHook(wikicupSorter); // addOnloadHook necessary to allow table to be sortable first

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook