From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

mw.hook( 'wikipage.content' ).add( function() {

	var api = new mw.Api();

	

	var apiRequest = api.get( {

		'action':'query',

		'titles': mw.config.get('wgPageName'),

		'prop': 'categories',

		'clprop': 'sortkey|hidden',

		'cllimit': 50,

		'indexpageids': true,

		'formatversion': 2

	} );

	var apiRequest2 = api.loadMessagesIfMissing(  'pagecategories', 'colon-separator'  );



	$.when( apiRequest, apiRequest2 ).done( function( data ) {

		var categories = [],

			response1Data = data0],

			response2Data = data1];

		

		if( !response1Data.query.pages0].categories ) {

			return;

		}

		function categoryHtmlGenerator(element, index, array) {

			if( element.hidden ) {

				return;

			}

			var title = new mw.Title( element.title, mw.config.get( 'wgNamespaceIds' ).file );

  			categories.push(

  				$( '<a>' ).attr( {

  					'href': mw.util.getUrl( element.title )

  				} ).append(

  					document.createTextNode( title.getMainText() ) 

  				).get( 0 )

  			);

			categories.push( ', ' );

		}

		response1Data.query.pages0].categories.forEach( categoryHtmlGenerator );



		if( categories.length === 0 ) {

			return;

		}

		categories.pop(); //remove the last comma

		categories.unshift( document.createTextNode(

			mw.message( 'pagecategories' ).escaped() + mw.message( 'colon-separator' ).escaped() + ' '

		) );

		

		$('.printfooter')

			.after( $( '<div>' )

				.addClass( 'catlinks' )

				.attr( 'id', 'catlinks' )

				.data( 'mw', 'interface' )

				.append( $( '<div>' )

						.attr( 'id', 'mw-normal-catlink' )

						.append( categories )

				)

			);

	} );

} );