mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Lenore/autolink.js&action=raw&ctype=text/javascript' );

// Mark all pages on Special:Shortpages that are candidates for (speedy) (un)deletion, stubs, set indices or redirects to wiktionary.
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Shortpages' ) {
	mw.loader.using(  ).then( function() {
		var api = new mw.Api();

		function markLogicalShortPages( continueParams ) {
			var requestParameters = {
				action: 'query',
				format: 'json',
				prop: 'categories',
				generator: 'querypage',
				formatversion: 'latest',
				clcategories: [
					'Category:Candidates for speedy deletion',
					'Category:Candidates for undeletion',
					'Category:All set index articles',
					'Category:All stub articles',
					'Category:All articles proposed for deletion',
					'Category:Redirects to Wiktionary',
					'Category:Redirects to Wikispecies',
					'Category:Redirects to Wikimedia Commons',
					'Category:Wikipedia soft redirects'
				],
				gqppage: 'Shortpages',
				gqplimit: 50,
				maxlag: 5
			};

			for ( var continueParameter in continueParams ) {
				requestParameters = continueParams;
			}

			api.get( requestParameters ).done( function ( data ) {
				if ( data.error ) {
					console.log( 'Special:Shortpages query failed.', data.error );
					return;
				} else if ( data.batchcomplete !== true && data.continue ) {
					markLogicalShortPages( data.continue );
				}

				for ( var i = 0; i < data.query.pages.length; i++ ) {
					var page = data.query.pages;

					if ( !page.categories ) {
						continue;
					}

					var url = mw.Title.makeTitle( page.ns, page.title ).getUrl();

					$( 'a' ).css( {
						'text-decoration': 'line-through'
					} );
				}
			} );
		}

		markLogicalShortPages( {} );
	} );
}