MediaWiki:Gadget-wikidataHeaderLink.js
Перейти к навигации
Перейти к поиску
JS-код ниже относится к гаджету «Ссылка на связанный элемент Викиданных в заголовке страницы» (править описание). Его использует около 600 учётных записей.
После сохранения или недавних изменений очистите кэш браузера.
/**
* Ссылка на связанный элемент Викиданных в заголовке.
* Если элемента нет, то ссылка на создание нового.
*/
( function ( mw, $ ) {
var i18n = {
createLabel: 'создать элемент'
};
$( function () {
mw.util.addCSS( '\
.wikibase-title-id { padding:0 0.6em; -webkit-user-select:none; user-select:none; unicode-bidi:embed; font-size:.6em; color:#72777d; }\
.wikibase-title-id:hover, .wikibase-title-id:focus, .wikibase-title-id:active { -webkit-user-select:text; user-select:text; }\
.wikibase-title-id a { color:inherit; }\
' );
// [[phab:T185437]]
var itemId = mw.config.get( 'wgWikibaseItemId' );
if ( !itemId ) {
var $wdLink = $( '#t-wikibase a' );
if ( $wdLink.length ) {
itemId = $wdLink.attr( 'href' ).replace( /^.*\//, '' );
}
}
var $wdInfo;
if ( itemId ) {
$wdInfo = $( '<a>' )
.text( itemId )
.attr( 'href', '//www.wikidata.org/wiki/Special:EntityPage/' + itemId );
} else {
var namespaces = [ 0, 4, 10, 12, 14, 100, 102, 104, 446, 828 ];
if ( $.inArray( mw.config.get( 'wgNamespaceNumber' ), namespaces ) === -1 ) {
return;
}
var page = encodeURIComponent( mw.config.get( 'wgPageName' ).replace( /_/g, ' ' ) );
var url = '//www.wikidata.org/w/index.php?title=Special:NewItem'
+ '&site=' + mw.config.get( 'wgDBname' )
+ '&lang=' + mw.config.get( 'wgPageContentLanguage' )
+ '&page=' + page
+ '&label=' + page;
$wdInfo = $( '<a>' )
.text( i18n.createLabel )
.attr( 'href', url );
}
$( '<small>' )
.addClass( [ 'wikibase-title-id ', 'noprint' ] )
.append( ' (' )
.append( $wdInfo )
.append( ')' )
.appendTo( $( '#firstHeading' ) );
} );
}( mediaWiki, jQuery ) );