MediaWiki:Common.js

From Fantasipedia
Revision as of 15:29, 30 December 2019 by Sixteenpsyche (talk | contribs)
Jump to navigation Jump to search

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.
/* Any JavaScript here will be loaded for all users on every page load. */

function createArtistString(link, artists, featured) {
	featured = (featured === undefined) ? [] : featured;
	var linkStart = (link === true) ? '[[' : '';
	var linkEnd = (link === true) ? ']]' : '';
	
	var artistStr = '';
	
	if (artists.length == 1) {
		artistStr += linkStart+artists[0]+linkEnd;
	} else if (artists.length == 2) {
		artistStr += linkStart+artists.join(linkEnd+' & '+linkStart)+linkEnd;
	} else {
		var last_artist = artists.pop();
		artistStr += linkStart+artists.join(linkEnd+', '+linkStart)+linkEnd+' & '+linkStart+last_artist+linkEnd;
	}
	
	if (featured.length > 0) {
		artistStr += ' feat. '+createArtistString(link, featured);
	}
	
	return artistStr;
}

var pageHTML = $('.mw-parser-output').html();

/** CONTEST RESULTS **/
var resultsRegex = /{{#ContestResults:([1-9](?:[0-9]{1,})?)\|(SF[1-3]|GF)}}/gm;
let m;

while ((m = resultsRegex.exec(pageHTML)) !== null) {
	if (m.index === resultsRegex.lastIndex) {
		resultsRegex.lastIndex++;
    }
    
    var edition = m[1];
    var show = m[2];
    
    $.getJSON('https://fantasiacontest.miraheze.org/wiki/EditionData:'+edition+'?action=raw', function(data) {
    	var editionData = JSON.parse(data);
	});
}