Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
aktuelle Version
Zeile 6: Zeile 6:
* @source https://www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons
* @source https://www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons
* @author Krinkle
* @author Krinkle
* @version 2019-09-14
* @version 2022-09-06
*/
*/
if ( mw.config.get( 'wgNamespaceNumber', 0 ) >= 0 ) {
if ( mw.config.get( 'wgNamespaceNumber', 0 ) >= 0 ) {
Zeile 20: Zeile 20:
commonsBaseScript = 'https://commons.wikimedia.org/w/index.php?title=File:';
commonsBaseScript = 'https://commons.wikimedia.org/w/index.php?title=File:';


$content.find( 'a.image' ).attr( 'href', function ( i, currVal ) {
$content.find( 'a.image, a.mw-file-description' ).attr( 'href', function ( i, currVal ) {
if ( uploadBaseRe.test( $( this ).find( 'img' ).attr( 'src' ) ) ) {
if ( uploadBaseRe.test( $( this ).find( 'img' ).attr( 'src' ) ) ) {
return currVal
return currVal

Version vom 11. Februar 2023, 17:00 Uhr

/**  * Direct imagelinks to Commons  *  * Required modules: mediawiki.util  *  * @source https://www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons  * @author Krinkle  * @version 2022-09-06  */ if ( mw.config.get( 'wgNamespaceNumber', 0 ) >= 0 ) { 	mw.loader.using( [ 'mediawiki.util' ] ).then( function () { 		mw.hook( 'wikipage.content' ).add( function ( $content ) { 			var uploadBaseRe = /^(https:)?\/\/upload\.wikimedia\.org\/wikipedia\/commons/, 				localFileNSString = mw.config.get( 'wgFormattedNamespaces' )['6'] + ':', 				localBasePath = new RegExp( '^' + mw.util.escapeRegExp( mw.util.getUrl( localFileNSString ) ) ), 				localBaseScript = new RegExp( '^' + mw.util.escapeRegExp( 					mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode( localFileNSString ) 				) ), 				commonsBasePath = 'https://commons.wikimedia.org/wiki/File:', 				commonsBaseScript = 'https://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 ); 				} 			} ); 		} ); 	} ); }