MediaWiki:Gadget-CollegamentoWikidata.js

Da Semi del Verbo, l'enciclopedia dell'influenza del Vangelo sulla cultura

Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.

  • Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
  • Opera: premi Ctrl-F5.
/**
 * Sotto il titolo di ogni voce, categoria o template, crea un link
 * all'elemento Wikidata se collegato, altrimenti alla pagina per permetterne la creazione.
 *
 * Bug noti:
 * * [[phab:T185437]]
 * 
 * Author: --[[Utente:Valerio Bozzolan]] 19:06, 31 lug 2018 (CEST)
 */
( function ( $, config ) {
	// human labels
	var L10n = {
		existing:   'Elemento Wikidata',
		unexisting: 'Crea elemento Wikidata',
	};

	// allowed namespaces
	var nsWhitelist = [
		 0, // <main>
		10, // Template
		14, // Category
	];

	var ns    = config.get( 'wgNamespaceNumber' );
	var item  = config.get( 'wgWikibaseItemId'  );
	var title = config.get( 'wgPageName'        ).replace( /_/g, ' ' );

	if( nsWhitelist.indexOf( ns ) === -1 ) {
		return;
	}

	var text = item
		? L10n.existing
		: L10n.unexisting;

	var url  = item
		? '//en.seminaverbi.bibleget.io/wiki/Special:EntityPage/' + item
		: '//en.seminaverbi.bibleget.io/wiki/Special:NewItem?label=' + encodeURIComponent( title );

	var $url = $( '<a>' )
		.text( text )
		.prop( 'href', url );

	var $container = $( '<div>' ).append( $url );

	if( item ) {
		$container
			.append( ' ' )
			.append( $( '<code>' ).text( item ) );
	}

	$( '#contentSub' ).append( $container );
} )( $, mw.config );