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 | * @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 ); } } ); } ); } ); }