MediaWiki:Gadget-a-commons-directo.js
Nota: Después de guardar, debes refrescar la caché de tu navegador para ver los cambios. Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar. Firefox: mientras presionas Mayús pulsas el botón Actualizar, (o presiona Ctrl-Shift-R). Los usuarios de Google Chrome y Safari pueden simplemente pulsar el botón Recargar. Para más detalles e instrucciones acerca de otros exploradores, véase Ayuda:Cómo limpiar la caché.
/**
* Direct imagelinks to Commons
*
* @fuente: //www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons
* @autor: [[commons:User:Krinkle]]
* @versión: 9
*/
if ( mw.config.get( 'wgNamespaceNumber', 0 ) >= 0 ) {
mw.loader.using( [ 'mediawiki.RegExp', 'mediawiki.util' ] ).done( function () {
mw.hook( 'wikipage.content' ).add( function ( $content ) {
var
uploadBaseRe = /^\/\/upload\.wikimedia\.org\/wikipedia\/commons/,
localFileNSString = mw.config.get( 'wgFormattedNamespaces' )['6'] + ':',
localBasePath = new RegExp(
'^' + mw.RegExp.escapeRegExp( mw.util.getUrl( localFileNSString ) )
),
localBaseScript = new RegExp(
'^' + mw.RegExp.escapeRegExp(
mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode( localFileNSString )
)
),
commonsBasePath = '//commons.wikimedia.org/wiki/File:',
commonsBaseScript = '//commons.wikimedia.org/w/index.php?title=File:';
$content.find( 'a.image, a.mw-file-description' ).attr( 'href', function ( i, currVal ) {
if ( uploadBaseRe.test( $( this ).find( 'img' ).attr( 'src' ) ) ) {
return currVal
.replace( localBasePath, commonsBasePath )
.replace( localBaseScript, commonsBaseScript );
}
} );
} );
} );
}