MediaWiki:Common.js: Difference between revisions

From Fantasipedia
Jump to navigation Jump to search
Content added Content deleted
No edit summary
No edit summary
Line 18: Line 18:
if (featured.length > 0) {
if (featured.length > 0) {
artistStr += " feat. "+createArtistString(link, featured);
artistStr += ' feat. '+createArtistString(link, featured);
}
}
Line 24: Line 24:
}
}


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


/** CONTEST RESULTS **/
/** CONTEST RESULTS **/
Line 36: Line 36:
m.forEach((match, groupIndex) => {
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
console.log('Found match, group ${groupIndex}: ${match}');
});
});
}
}

Revision as of 15:26, 30 December 2019

/* 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++;
    }
    
    m.forEach((match, groupIndex) => {
        console.log('Found match, group ${groupIndex}: ${match}');
    });
}