MediaWiki talk:Gadget-ProjectSpecificLogos.js

From Wikimedia Incubator

Logo for Wy/eo[edit source]

Please, add 7/77/Wikivoyage-Logo-v3-eo.svg/135px-Wikivoyage-Logo-v3-eo.svg.png for Wy/eo. It is proposed in meta:Requests for new languages/Wikivoyage Esperanto so "kind of official". Thanks. --KuboF (talk) 09:57, 6 March 2016 (UTC)[reply]

Done.
Danny B. 20:33, 6 March 2016 (UTC)[reply]
Vďaka ;) --KuboF (talk) 21:42, 9 March 2016 (UTC)[reply]

Logo on Wp/jam[edit source]

Please, add //Wikipedia-logo-v2-jam.svg/135px-Wikipedia-logo-v2-jam.svg for Wp/jam. It is proposed in meta:Requests_for_new_languages/Wikipedia_Jamaican so. — The preceding unsigned comment was added by 45.124.64.155 (discussioncontribs).

Done.
Danny B. 23:54, 22 November 2016 (UTC)[reply]

Logo for Wy/bn[edit source]

Please, add f/fd/Wikivoyage-Logo-v3-bn.svg/135px-Wikivoyage-Logo-v3-bn.svg.png for Wy/bn. It is proposed in meta:Requests for new languages/Wikivoyage Bengali. --Aftabuzzaman (talk) 16:31, 27 December 2017 (UTC)[reply]

Be careful before you thank me. It doesn't seem to be working yet. I have no idea how long this takes. Ping me if it doesn't work in a day or so. StevenJ81 (talk) 16:53, 27 December 2017 (UTC)[reply]
Ah. There it goes. Enjoy. StevenJ81 (talk) 16:56, 27 December 2017 (UTC)[reply]
@Aftabuzzaman: How do you get the "f/fd" part of that address? There's a different project interested putting its logo here, but I don't know how to get that. StevenJ81 (talk) 18:10, 27 December 2017 (UTC) NM. Figured it out. StevenJ81 (talk) 18:19, 27 December 2017 (UTC)[reply]
@StevenJ81: This file is uploaded on commons. so go there. On file page, you will find this text: This image rendered as PNG in other widths: 200px, 500px, 1000px, 2000px. Click on 200px which will give you this https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Wikivoyage-Logo-v3-bn.svg/200px-Wikivoyage-Logo-v3-bn.svg.png, copy everything after https://upload.wikimedia.org/wikipedia/commons/thumb which is f/fd/Wikivoyage-Logo-v3-bn.svg/200px-Wikivoyage-Logo-v3-bn.svg.png & finally change 200px to 135px. --Aftabuzzaman (talk) 18:21, 27 December 2017 (UTC)[reply]
OK --Aftabuzzaman (talk) 18:21, 27 December 2017 (UTC)[reply]

Use CSS for not project-specific logos[edit source]

The gadget in current version displays the right logo after a few seconds due to the usage of JavaScript, which is annoying. Fortunately the test project can be determined with plain CSS:

/* Wikibooks */
body.ns-0.rootpage-Wb #p-logo a,
body.ns-1.rootpage-Wb #p-logo a,
body.ns-10.rootpage-Wb #p-logo a,
body.ns-11.rootpage-Wb #p-logo a,
body.ns-14.rootpage-Wb #p-logo a,
body.ns-15.rootpage-Wb #p-logo a,
/* Wikinews */
body.ns-0.rootpage-Wn #p-logo a,
body.ns-1.rootpage-Wn #p-logo a,
body.ns-10.rootpage-Wn #p-logo a,
body.ns-11.rootpage-Wn #p-logo a,
body.ns-14.rootpage-Wn #p-logo a,
body.ns-15.rootpage-Wn #p-logo a,
/* Wikipedia */
body.ns-0.rootpage-Wp #p-logo a,
body.ns-1.rootpage-Wp #p-logo a,
body.ns-10.rootpage-Wp #p-logo a,
body.ns-11.rootpage-Wp #p-logo a,
body.ns-14.rootpage-Wp #p-logo a,
body.ns-15.rootpage-Wp #p-logo a,
/* Wikiquote */
body.ns-0.rootpage-Wq #p-logo a,
body.ns-1.rootpage-Wq #p-logo a,
body.ns-10.rootpage-Wq #p-logo a,
body.ns-11.rootpage-Wq #p-logo a,
body.ns-14.rootpage-Wq #p-logo a,
body.ns-15.rootpage-Wq #p-logo a,
/* Wiktionary */
body.ns-0.rootpage-Wt #p-logo a,
body.ns-1.rootpage-Wt #p-logo a,
body.ns-10.rootpage-Wt #p-logo a,
body.ns-11.rootpage-Wt #p-logo a,
body.ns-14.rootpage-Wt #p-logo a,
body.ns-15.rootpage-Wt #p-logo a,
/* Wikiversity */
body.ns-0.rootpage-Wv #p-logo a,
body.ns-1.rootpage-Wv #p-logo a,
body.ns-10.rootpage-Wv #p-logo a,
body.ns-11.rootpage-Wv #p-logo a,
body.ns-14.rootpage-Wv #p-logo a,
body.ns-15.rootpage-Wv #p-logo a,
/* Wikivoyage */
body.ns-0.rootpage-Wy #p-logo a,
body.ns-1.rootpage-Wy #p-logo a,
body.ns-10.rootpage-Wy #p-logo a,
body.ns-11.rootpage-Wy #p-logo a,
body.ns-14.rootpage-Wy #p-logo a,
body.ns-15.rootpage-Wy #p-logo a {
	background: url(//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Incubator-logo.svg/24px-Incubator-logo.svg.png) 0 10px no-repeat;
}

/* Wikibooks */
body.ns-0.rootpage-Wb #p-logo,
body.ns-1.rootpage-Wb #p-logo,
body.ns-10.rootpage-Wb #p-logo,
body.ns-11.rootpage-Wb #p-logo,
body.ns-14.rootpage-Wb #p-logo,
body.ns-15.rootpage-Wb #p-logo {
	background: url(//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/125px-Wikibooks-logo.svg.png) center no-repeat;
}

/* Wikinews */
body.ns-0.rootpage-Wn #p-logo,
body.ns-1.rootpage-Wn #p-logo,
body.ns-10.rootpage-Wn #p-logo,
body.ns-11.rootpage-Wn #p-logo,
body.ns-14.rootpage-Wn #p-logo,
body.ns-15.rootpage-Wn #p-logo {
	background: url(//upload.wikimedia.org/wikipedia/commons/thumb/2/24/Wikinews-logo.svg/135px-Wikinews-logo.svg.png) center no-repeat;
}

/* Wikipedia */
body.ns-0.rootpage-Wp #p-logo,
body.ns-1.rootpage-Wp #p-logo,
body.ns-10.rootpage-Wp #p-logo,
body.ns-11.rootpage-Wp #p-logo,
body.ns-14.rootpage-Wp #p-logo,
body.ns-15.rootpage-Wp #p-logo {
	background: url(//upload.wikimedia.org/wikipedia/commons/thumb/8/80/Wikipedia-logo-v2.svg/125px-Wikipedia-logo-v2.svg.png) center no-repeat;
}

/* Wikiquote */
body.ns-0.rootpage-Wq #p-logo,
body.ns-1.rootpage-Wq #p-logo,
body.ns-10.rootpage-Wq #p-logo,
body.ns-11.rootpage-Wq #p-logo,
body.ns-14.rootpage-Wq #p-logo,
body.ns-15.rootpage-Wq #p-logo {
	background: url(//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/110px-Wikiquote-logo.svg.png) center no-repeat;
}

/* Wiktionary */
body.ns-0.rootpage-Wt #p-logo,
body.ns-1.rootpage-Wt #p-logo,
body.ns-10.rootpage-Wt #p-logo,
body.ns-11.rootpage-Wt #p-logo,
body.ns-14.rootpage-Wt #p-logo,
body.ns-15.rootpage-Wt #p-logo {
	background: url(//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Wiktionary-logo.svg/135px-Wiktionary-logo.svg.png) center no-repeat;
}

/* Wikiversity */
body.ns-0.rootpage-Wv #p-logo,
body.ns-1.rootpage-Wv #p-logo,
body.ns-10.rootpage-Wv #p-logo,
body.ns-11.rootpage-Wv #p-logo,
body.ns-14.rootpage-Wv #p-logo,
body.ns-15.rootpage-Wv #p-logo {
	background: url(//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikiversity-logo.svg/135px-Wikiversity-logo.svg.png) center no-repeat;
}

/* Wikivoyage */
body.ns-0.rootpage-Wy #p-logo,
body.ns-1.rootpage-Wy #p-logo,
body.ns-10.rootpage-Wy #p-logo,
body.ns-11.rootpage-Wy #p-logo,
body.ns-14.rootpage-Wy #p-logo,
body.ns-15.rootpage-Wy #p-logo {
	background: url(//upload.wikimedia.org/wikipedia/commons/thumb/d/d1/Wikivoyage-Logo-v3-en.svg/135px-Wikivoyage-Logo-v3-en.svg.png) center no-repeat;
}

This should go to a peer gadget. It’s quite long, but it will load noticeably faster than the current JavaScript solution. The project-specific logos cannot be implemented with .rootpage-xx, so the JavaScript part needs to remain for them, but can get shorter:

/**
 * @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 projectLogos = {
		// customizable list
		'Wp/cpx' : 'c/ca/Wikipedia-logo-v2-cpx(2).svg/135px-Wikipedia-logo-v2-cpx(2).svg.png',
		'Wp/jam' : 'd/d3/Wikipedia-logo-v2-jam.svg/135px-Wikipedia-logo-v2-jam.svg.png',
		'Wp/mnp' : '1/15/Wikipedia-logo-v2-mnp(4).svg/135px-Wikipedia-logo-v2-mnp(4).svg.png',
		'Wp/sdh' : 'b/be/Wikipedia-logo-v2-sdh.svg/135px-Wikipedia-logo-v2-sdh.svg.png',
		'Wy/ar' : '4/4c/Wikivoyage-Logo-v3-ar.svg/135px-Wikivoyage-Logo-v3-ar.svg.png',
		'Wy/bn' : 'f/fd/Wikivoyage-Logo-v3-bn.svg/135px-Wikivoyage-Logo-v3-bn.svg.png',
		'Wy/cs' : 'e/e3/Wikivoyage-Logo-v3-cs.svg/135px-Wikivoyage-Logo-v3-cs.svg.png',
		'Wy/eo' : '7/77/Wikivoyage-Logo-v3-eo.svg/135px-Wikivoyage-Logo-v3-eo.svg.png',
		'Wy/fa' : '0/0c/Wikivoyage-Logo-v3-fa.svg/135px-Wikivoyage-Logo-v3-fa.svg.png',
		'Wy/fi' : 'e/ed/Wikivoyage-Logo-fi.svg/135px-Wikivoyage-Logo-fi.svg.png',
		'Wy/ps' : '2/20/Wikivoyage-Logo-ps.svg/135px-Wikivoyage-Logo-ps.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/zh' : (function () {
			var variant = $( '[aria-labelledby=p-variants-label] .selected > a' ).attr( 'hreflang' ) || 'zh';
			if ( $.inArray( variant, ['zh-Hans', 'zh-CN', 'zh-MY', 'zh-SG'] ) >= 0 ) {
				return '8/8d/Wikivoyage-Logo-CHS-t2.svg/135px-Wikivoyage-Logo-CHS-t2.svg.png';
			} else {
				return '9/9d/Wikivoyage-Logo-CHT-t2-new.svg/135px-Wikivoyage-Logo-CHT-t2-new.svg.png';
			}
		}())
		// end of customizable list
	};

	var title = mw.config.get( 'wgTitle' ).split( '/' );
	var projectLogo = projectLogos[title[0] + '/' + title[1]];

	if ( projectLogo ) {
		$( function () {
			$( '#p-logo' ).css( 'background-image', 'url("//upload.wikimedia.org/wikipedia/commons/thumb/' + projectLogo + '")' );
		});
	}
}( mediaWiki, jQuery ) );

Can someone deploy this? Thanks in advance, —Tacsipacsi (talk) 16:22, 22 June 2020 (UTC)[reply]

So, the content of the page needs to be replaced with the second piece of code that you gave. What needs to be done with the first one? --MF-W {a, b} 23:44, 22 June 2020 (UTC)[reply]
@MF-Warburg: Put on an appropriately named new page, e.g. MediaWiki:Gadget-ProjectSpecificLogos.css. MediaWiki:Gadgets-definition also needs to be modified:
@@ -3,1 +3,2 @@
- * ProjectSpecificLogos [ ResourceLoader | default ] | ProjectSpecificLogos.js
+ * ProjectSpecificLogos [ ResourceLoader | default | peers=ProjectSpecificLogosStyles ] | ProjectSpecificLogos.js
+ * ProjectSpecificLogosStyles [ hidden ] | ProjectSpecificLogos.css
Tacsipacsi (talk) 23:43, 23 June 2020 (UTC)[reply]
User:Tacsipacsi: done, I hope everything works. Thanks for suggesting this! --MF-W {a, b} 11:56, 25 June 2020 (UTC)[reply]