MediaWiki:Gadget-directLinkToCommons.js: различия между версиями

Материал из Буквицы
Перейти к навигации Перейти к поиску
(Новая страница: «/** * ВП:Гаджеты/Прямой переход на Викисклад * @source: http://www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons…»)
 
мНет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 7: Строка 7:
$( function() {
$( function() {
var commonsBase =  '//commons.wikimedia.org/wiki/File:',
var commonsBase =  '//commons.wikimedia.org/wiki/File:',
localBase = mw.util.wikiGetlink( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ),
localBase = mw.util.getUrl( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ),
commonsBaseScript =  '//commons.wikimedia.org/w/index.php?title=File:',
commonsBaseScript =  '//commons.wikimedia.org/w/index.php?title=File:',
localBaseScript = mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ),
localBaseScript = mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ),
uploadBaseRe = new RegExp( '^' + $.escapeRE( '//upload.wikimedia.org/wikipedia/commons/' ) );
uploadBaseRe = new RegExp( '^' + mw.util.escapeRegExp( '//upload.wikimedia.org/wikipedia/commons/' ) );


$( 'a.image' ).attr( 'href', function( i, currVal ) {
$( 'a.image' ).attr( 'href', function( i, currVal ) {

Текущая версия от 08:29, 3 ноября 2021

/**
 * [[ВП:Гаджеты/Прямой переход на Викисклад]]
 * @source: http://www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons
 */

if( mw.config.get( 'wgNamespaceNumber', 0 ) >= 0 ){
	$( function() {
		var	commonsBase =  '//commons.wikimedia.org/wiki/File:',
			localBase = mw.util.getUrl( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ),
			commonsBaseScript =  '//commons.wikimedia.org/w/index.php?title=File:',
			localBaseScript = mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ),
			uploadBaseRe = new RegExp( '^' + mw.util.escapeRegExp( '//upload.wikimedia.org/wikipedia/commons/' ) );

		$( 'a.image' ).attr( 'href', function( i, currVal ) {
			if ( uploadBaseRe.test( $(this).find( 'img' ).attr( 'src' ) ) ) {
				var url = currVal.replace( localBase, commonsBase ).replace( localBaseScript, commonsBaseScript );
				url += ( /\?/.test(url) ? '&' : '?' ) + 'uselang=ru';
				return url;
			}
		});
	});
}