User:DreamRimmer/DraftNoCat.js

// Install with: // // or with //  // // Includes contributions by User:BrownHairedGirl // Original script by User:DannyS712 $( => { const DraftNoCat = {}; window.DraftNoCat = DraftNoCat; DraftNoCat.config = {	name: 'DraftNoCat',	version: 1.8,	debug: false };

DraftNoCat.summary = "WP:DRAFTNOCAT"; DraftNoCat.run = function { var editSummary = DraftNoCat.summary; // if this is user page, add a ping to the user if ( mw.config.get( 'wgNamespaceNumber' ) === 2) { var username = mw.config.get( 'wgRelevantUserName' ); editSummary = '@' + username + ': ' + editSummary; }	if ( DraftNoCat.config.debug ) { console.log ( editSummary ); }	var api = new mw.Api; api.get( {		action: 'query',		titles: mw.config.get( 'wgPageName' ),		prop: 'revisions',		rvprop: 'content',		rvslots: 'main',		formatversion: 2	} ).done(		function ( response ) {			console.log( response );			var text = response.query.pages[0].revisions[0].slots.main.content;			var newText = text				.replace( /((\[\[:?\s*[Cc]ategory\s*:[^\]]*\]\]\s*)+)/gm, '\n' ); // Replace categorization with links

api.postWithEditToken( {				action: 'edit',				title: mw.config.get( 'wgPageName' ),				text: newText,				summary: editSummary,				minor: true			} ).done(				function {					location.reload;				}			); }	); };

});

$( document ).ready( => {	if ( mw.config.get( 'wgNamespaceNumber' ) === 2 || mw.config.get( 'wgNamespaceNumber' ) === 118 ) {		mw.loader.using( [ 'mediawiki.util' ], function { var link = mw.util.addPortletLink( 'p-cactions', '#', 'DraftNoCat', 'ca-dnc', 'Draft no cats'); $( link ).click( function ( event ) {					event.preventDefault;					mw.loader.using( 'mediawiki.api', window.DraftNoCat.run );				} ); }		);	} } );