Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/*
* This gadget shows redirects with their categories below of the categories of the article.
*
* @author Fomafix, 2015-2023
* dependencies=mediawiki.api,mediawiki.jqueryMsg,mediawiki.Title,mediawiki.util
*global mw, $
*/
( function () {
if ( !mw.config.get( 'wgArticleId' ) ) {
return;
}
mw.loader.using( [ 'mediawiki.api', 'mediawiki.jqueryMsg', 'mediawiki.Title', 'mediawiki.util' ] )
.then( function () {
var api = new mw.Api(), apiPromise;
function getRedirectCategories( titles ) {
return api.get( {
formatversion: 2,
action: 'query',
generator: 'redirects',
prop: 'categories|pageprops|redirects',
grdlimit: 500,
cllimit: 500,
rdlimit: 500,
titles: titles,
'continue': null
} );
}
mw.messages.set( {
'redirectcategories-redirect': '{{PLURAL:$1|Weiterleitung|Weiterleitungen}}'
} );
apiPromise = getRedirectCategories( mw.config.get( 'wgPageName' ) );
mw.hook( 'wikipage.categories' ).add( function ( $categories ) {
apiPromise.then( function ( data ) {
if ( !data.query ) {
return;
}
var $redirects = $( '<ul>' );
data.query.pages.forEach( function ( page ) {
var displaytitle = page.pageprops && page.pageprops.displaytitle,
wikibase_item = page.pageprops && page.pageprops.wikibase_item,
intentional = page.pageprops && [ '', '1' ].includes( page.pageprops['wikibase-badge-Q70894304'] ),
$list,
$redirect = $( '<li>' )
.append(
$( '<a>' )
.attr( {
href: mw.util.getUrl(
page.title,
{ redirect: 'no' }
),
title: page.title
} )
.addClass( 'mw-redirect' )
.html( displaytitle || mw.html.escape( page.title ) )
);
if ( wikibase_item ) {
var $link = $( '<a>' )
.attr( {
href: 'https://www.wikidata.org/wiki/' + wikibase_item,
title: wikibase_item
} )
.text( wikibase_item );
if ( !intentional ) {
$link.css( 'color', 'red' );
}
$redirect.append( ' (', $link, ')' );
}
if ( page.categories ) {
$list = $( '<ul>' );
page.categories.forEach( function ( category ) {
var title = new mw.Title( category.title );
$list.append(
$( '<li>' ).append(
$( '<a>' )
.attr( {
href: title.getUrl(),
title: title.getPrefixedText()
} )
.text( title.getMainText() )
)
);
} );
$redirect.append( ': ', $list );
}
if ( page.redirects ) {
$list = $( '<ul>' );
page.redirects.forEach( function ( redirect ) {
$list.append(
$( '<li>' ).append(
$( '<a>' )
.attr( {
href: mw.util.getUrl(
redirect.title,
{ redirect: 'no' }
),
title: redirect.title
} )
.addClass( 'mw-redirect' )
.text( redirect.title )
)
);
} );
$redirect.append(
' (',
mw.message( 'redirectcategories-redirect', page.redirects.length ).escaped(),
': ',
$list,
')'
);
}
$redirects.append( $redirect );
} );
if ( data[ 'continue' ] ) {
$redirects.append(
$( '<li>' )
.text( '…' )
);
}
$categories
.removeClass( 'catlinks-allhidden' ) // Show catlinks box
.append(
$( '<div>' )
.attr( 'id', 'redirects' )
.append(
$( '<a>' )
.attr( {
href: mw.util.getUrl( 'Wikipedia:Weiterleitung' ),
title: 'Wikipedia:Weiterleitung'
} )
.text( mw.msg( 'redirectcategories-redirect', $redirects.children().length ) ),
': ',
$redirects
)
);
} );
} );
} );
}() );