MediaWiki:Gadget-Page descriptions.js

if ( mw.config.get( 'wgNamespaceNumber' ) === 0 && mw.config.get( 'wgAction' ) === 'view' ) { mw.loader.using( 'mediawiki.api' ).then( function {		// Adds a page description just below the "page title"		// Behaves a lot like the mobile version		var wgQid = mw.config.get( 'wgWikibaseItemId' ),			api = new mw.Api,			callPromise = api.get( { action: 'query', titles: mw.config.get( 'wgTitle' ), prop: 'description', formatversion: 2 } ),			isEditor = mw.config.get( 'wgUserGroups' ).indexOf( 'autoconfirmed' ) !== -1;

$.when( callPromise, $.ready ).then( function ( results ) {			var pageDescription, $description,				response = results[ 0 ];			if ( response.query && response.query.pages && response.query.pages[ 0 ].description ) {				pageDescription = response.query.pages[ 0 ].description;				$description = $( ' ' )					.addClass( 'mw-page-description' )					.text( pageDescription );				if ( response.query.pages[ 0 ].descriptionsource !== 'local' && isEditor ) {					$description.append( ' (',						$( '' )							.attr( 'href', 'https://www.wikidata.org/wiki/Special:SetLabelDescriptionAliases/' + wgQid + '/' + mw.config.get( 'wgContentLanguage' ) )							.css( 'color', 'darkorange' )							.text( 'Wikidata' ),						')' );				}				$description.append( '. ' );			} else if ( isEditor ) {				$description = $( ' ' )					.css( 'color', 'red' )					.append( 'Missing ', $( '' ) .attr( 'href', '/wiki/Template:Short_description' ) .text( 'page description' ), '. '					);			}			if ( $description ) {				$( '#siteSub' ).prepend( $description );			}		} ); } ); }