MediaWiki:Gadget-CollegamentoWikidata.js
Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere 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
? '//www.wikidata.org/wiki/Special:EntityPage/' + item
: '//www.wikidata.org/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 ) );
}
// TODO: Valutare eventualmente un posizionamento alternativo, non è chiaro se
// il link a WD si possa considerare un sottotitolo.
mw.util.addSubtitle( $container.get( 0 ) );
} )( $, mw.config );