MediaWiki:Gadget-MobileCategories.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
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 = data[0], response2Data = data[1]; if( !response1Data.query.pages[0].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.pages[0].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 ) ) ); } ); } );