MediaWiki:Gadget-ProjectSpecificLogos.js

From Wikimedia Incubator

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.
/**
 * @brief Project specific logos
 * 
 * @details
 * Changes the site logo according to the project (if exists)
 * or family (if exists), otherwise keeps the default one.
 * 
 * @author [[meta:User:Danny B.]]
 */

/*global mediaWiki, jQuery */
/*jslint browser: true, plusplus: true, white: true */
/*jshint browser:true, laxbreak:false, plusplus:false, white:false, undef:true, unused:true */

( function ( mw, $ ) {
	'use strict';

	if ( $.inArray( mw.config.get( 'wgNamespaceNumber' ), [0, 1, 10, 11, 14, 15] ) === -1 ) {
		return;
	}

	var icons = {
		'Wt': '/static/images/mobile/copyright/wiktionary.svg',
		'Wp' : '/static/images/mobile/copyright/wikipedia.png',
		'Wy': '/static/images/mobile/copyright/wikivoyage.svg',
		'Wq': '/static/images/mobile/copyright/wikiquote.svg',
		'Wb': '/static/images/mobile/copyright/wikibooks.svg',
		'Ws': '/static/images/mobile/copyright/wikisource.png',
		'Wn': '/static/images/mobile/copyright/wikinews.svg',
		'Wv': '/static/images/mobile/copyright/wikiversity.png'
	};
	var INCUBATOR_LOGO_URL = '//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Incubator-logo.svg/24px-Incubator-logo.svg.png';

	var projectLogos1x = {
		// customizable list
		'Wb/shn': 'c/ce/Wikibooks-logo-shn.svg/135px-Wikibooks-logo-shn.svg.png',
		'Wn/lt': 'f/fc/Wikinews-logo-lt.svg/135px-Wikinews-logo-lt.svg.png',
		'Wn/ms': '2/21/WikiNews-Logo-ms.svg/135px-WikiNews-Logo-ms.svg.png',
		'Wn/si': 'a/a3/Wikinews-logo-si.svg/135px-Wikinews-logo-si.svg.png',
		'Wn/sk': '9/9e/Wikinews-logo-sk.svg/135px-Wikinews-logo-sk.svg.png',
		'Wp/ann': 'd/d4/Wikipedia-logo-v2-ann.svg/135px-Wikipedia-logo-v2-ann.svg.png',
		'Wp/cpx': 'c/ca/Wikipedia-logo-v2-cpx(2).svg/135px-Wikipedia-logo-v2-cpx(2).svg.png',
		'Wp/dcr': 'd/d7/Wikipedia-logo-v2-dcr.svg/135px-Wikipedia-logo-v2-dcr.svg.png',
		'Wp/fat': '9/99/Wikipedia-logo-v2-fat.svg/135px-Wikipedia-logo-v2-fat.svg.png',
		'Wp/fon': '9/92/Wikipedia-logo-v2-fon.svg/135px-Wikipedia-logo-v2-fon.svg.png',
		'Wp/khw': 'd/d4/Wikipedia-logo-v2-khw.svg/135px-Wikipedia-logo-v2-khw.svg.png',
		'Wp/kjp': '4/41/Wikipedia-logo-v2-kjp.svg/135px-Wikipedia-logo-v2-kjp.svg.png',
		'Wp/ksf': 'c/cd/Wikipedia-logo-v2-ksf.svg/135px-Wikipedia-logo-v2-ksf.svg.png',
		'Wp/ksw': 'd/d2/Wikipedia-logo-v2-ksw.svg/135px-Wikipedia-logo-v2-ksw.svg.png',
		'Wp/mak': '4/47/Wikipedia-logo-v2-mak.svg/135px-Wikipedia-logo-v2-mak.svg.png',
		'Wp/mkn': 'b/b2/Wikipedia-logo-v2-mkn.svg/135px-Wikipedia-logo-v2-mkn.svg.png',
		'Wp/mnp': '1/15/Wikipedia-logo-v2-mnp(4).svg/135px-Wikipedia-logo-v2-mnp(4).svg.png',
		'Wp/otq': '4/4b/Wikipedia-logo-v2-otq.svg/135px-Wikipedia-logo-v2-otq.svg.png',
		'Wp/qwh': 'd/d3/Wikipedia-logo-v2-qwh.svg/135px-Wikipedia-logo-v2-qwh.svg.png',
		'Wp/sdh': 'b/be/Wikipedia-logo-v2-sdh.svg/135px-Wikipedia-logo-v2-sdh.svg.png',
		'Wp/ses': 'b/b8/Wikipedia-logo-v2-ses.svg/135px-Wikipedia-logo-v2-ses.svg.png',
		'Wp/sli': '7/74/Wikipedia-logo-v2-sli.svg/135px-Wikipedia-logo-v2-sli.svg.png',
		'Wp/sma': 'd/d8/Wikipedia-logo-v2-sma.svg/135px-Wikipedia-logo-v2-sma.svg.png',
		'Wp/syl': '2/2a/Wikipedia-logo-v2-syl.svg/135px-Wikipedia-logo-v2-syl.svg.png',
		'Wp/tly': '2/2c/Wikipedia-logo-v2-tly.svg/135px-Wikipedia-logo-v2-tly.svg.png',
		'Wp/vai': '5/58/Wikipedia-logo-v2-vai.svg/135px-Wikipedia-logo-v2-vai.svg.png',
		'Wp/zgh': '0/03/Wikipedia-logo-v2-zgh.svg/135px-Wikipedia-logo-v2-zgh.svg.png',
		'Wq/bn': '7/74/Wikiquote-logo-bn.svg/135px-Wikiquote-logo-bn.svg.png',
		'Wq/ig': '1/1c/Wikiquote-logo-ig.svg/135px-Wikiquote-logo-ig.svg.png',
		'Wq/or': '7/74/Wikiquote-logo-bn.svg/135px-Wikiquote-logo-bn.svg.png',
		'Wy/ar': '4/4c/Wikivoyage-Logo-v3-ar.svg/135px-Wikivoyage-Logo-v3-ar.svg.png',
		'Wy/cs': 'e/e3/Wikivoyage-Logo-v3-cs.svg/135px-Wikivoyage-Logo-v3-cs.svg.png',
		'Wy/id': 'e/e5/Wikivoyage-logo-id-new.svg/135px-Wikivoyage-logo-id-new.svg.png',
		'Wy/ka': '9/9f/Wikivoyage-Logo-v3-ka.svg/135px-Wikivoyage-Logo-v3-ka.svg.png',
		'Wy/ko': '3/36/Wikivoyage-Logo-v3-ko.svg/135px-Wikivoyage-Logo-v3-ko.svg.png',
		'Wy/sk': 'e/e3/Wikivoyage-Logo-v3-cs.svg/135px-Wikivoyage-Logo-v3-cs.svg.png',
		'Wy/th': '5/59/Wikivoyage-logo-v3-th.svg/135px-Wikivoyage-logo-v3-th.svg.png',
		// end of customizable list
	};

	function getWgLogo() {
		var project = 'W' + mw.config.get( 'wgWmincTestwikiProject' ),
			key = mw.config.get( 'wgWmincTestwikiPrefix' );

		return {
			icon: icons[ project ],
			'1x': projectLogos1x[ key ] ? '//upload.wikimedia.org/wikipedia/commons/thumb/' + projectLogos1x[ key ] : undefined
		};
	}
	var projectLogo = getWgLogo();

	$( function () {
		var skin = mw.config.get( 'skin' );
		if ( mw.config.get( 'wgWmincTestwikiProject' ) ) {
			if ( skin === 'vector-2022' ) {
				$( '.mw-logo' ).addClass('logo-switched');
				$( '.mw-logo .mw-logo-icon' ).attr( 'src', projectLogo.icon || INCUBATOR_LOGO_URL );
			} else {
				if ( projectLogo['1x'] ) {
					$( '#p-logo' ).css( 'background-image', 'url("' + projectLogo['1x'] + '")' );
				}
			}
		}
	});
}( mediaWiki, jQuery ) );