Benutzer:$traight-$hoota/Gadget-redirectcategories.js
aus Wikipedia, der freien Enzyklopädie
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
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/*
* Basiert auf [[Benutzer:Fomafix/Gadget-redirectcategories.js]]
* This gadget shows redirects with their categories below of the categories of the article.
*
* @author Fomafix, 2015
* dependencies=mediawiki.api,mediawiki.jqueryMsg,mediawiki.Title,mediawiki.util
*/
( function ( mw, $ ) {
var api = new mw.Api(),
pageId = mw.config.get( 'wgArticleId' );
if ( !pageId || mw.config.get( 'wgAction' ) !== 'view' ) {
return;
}
mw.messages.set( {
'redirectcategories-redirect': '{{PLURAL:$1|Weiterleitung|Weiterleitungen}}'
} );
mw.loader.load("//de.wikipedia.org/w/index.php?title=Benutzer:$traight-$hoota/Gadget-redirectcategories.css&action=raw&ctype=text/css",
"text/css");
function getRedirectCategories( pageId ) {
return api.get( {
action: 'query',
generator: 'redirects',
prop: 'categories|pageprops|redirects',
grdlimit: 50,
cllimit: 50,
rdlimit: 50,
pageids: pageId,
'continue': null
} );
}
$( function () {
getRedirectCategories( pageId )
.done( function ( data ) {
if ( !data.query ) {
return;
}
var $redirects = $( '<div>' );
$.each( data.query.pages, function () {
var displaytitle = this.pageprops && this.pageprops.displaytitle,
wikibase_item = this.pageprops && this.pageprops.wikibase_item,
$list,
$redirect = $( '<div>' )
//.addClass('redirect')
.append(
$( '<a>' )
.attr( {
href: mw.util.getUrl(
this.title,
{ redirect: 'no' }
),
title: this.title
} )
.addClass( 'mw-redirect' )
.html( displaytitle || mw.html.escape( this.title ) )
);
if ( wikibase_item ) {
$redirect.append(
' ',
$('<span>')
.addClass('wikibase-item')
.append(
'(',
$( '<a>' )
.attr( {
href: '//www.wikidata.org/wiki/' + wikibase_item,
title: this.prefix + ':' + wikibase_item
} )
.text( wikibase_item ),
')'
)
);
}
if ( this.categories ) {
$list = $( '<ul>' );
$.each( this.categories, function () {
var title = new mw.Title( this.title );
$list.append(
$( '<li>' ).append(
$( '<a>' )
.attr( {
href: title.getUrl(),
title: title.getPrefixedText()
} )
.text( title.getMainText() )
)
);
} );
$redirect.append( ': ', $list );
}
if ( this.redirects ) {
$list = $( '<ul>' );
$.each( this.redirects, function () {
$list.append(
$( '<li>' ).append(
$( '<a>' )
.attr( {
href: mw.util.getUrl(
this.title,
{ redirect: 'no' }
),
title: this.title
} )
.addClass( 'mw-redirect' )
.text( this.title )
)
);
} );
$redirect.append(
$('<div>').addClass('redirects').append($list)
);
}
$redirects.append( $redirect );
} );
if ( data['continue'] ) {
$redirects.append(
$( '<li>' )
.text( '…' )
);
}
$( '#catlinks' )
.after(
$( '<div>' )
.attr( 'id', 'redirect-catlinks-wrapper' )
.attr('class', 'redirect-catlinks-wrapper')
.append(
$( '<a>' )
.attr( {
href: mw.util.getUrl( 'Wikipedia:Weiterleitung' ),
title: 'Wikipedia:Weiterleitung'
} )
.text( mw.msg( 'redirectcategories-redirect', $redirects.children().length ) ),
$( '<div>' )
.attr('class', 'redirect-catlinks catlinks')
.append(
$redirects
)
)
);
} );
} );
}( mediaWiki, jQuery ) );