_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

User:DannyS712/Draft no cat.js

User:DannyS712/Draft no cat.js is a topic that has captured the interest of many people over time. Its relevance is manifested in different aspects of daily life, from popular culture to politics and economics. As we explore its implications, we discover a universe of possibilities that awaken our curiosity and invite us to reflect on human nature. In this article, we will delve into the depths of User:DannyS712/Draft no cat.js, exploring its origins, impact, and evolution throughout history. Through a detailed analysis, we will seek to better understand this phenomenon and its influence on the modern world.
// Install with:
// <code><nowiki>		{{subst:Iusc|User:DannyS712/Draft no cat.js}}																</nowiki></code>
// or with
// <code><nowiki>		importScript( 'User:DannyS712/Draft no cat.js' ); // Backlink: ]			</nowiki></code> 
//
// Includes contributions by ]
// If forking this script, please note our contributions / give us credit
$(() => {
const DraftNoCat = {};
window.DraftNoCat = DraftNoCat;
DraftNoCat.config = {
	name: ']',
	version: 1.8,
	debug: false
};

DraftNoCat.summary = "Disable the categories on this page while it is still a draft, per ]/]" +
	' (using ' + DraftNoCat.config.name + " v" + DraftNoCat.config.version + ")." +
	" The easiest way to do this is by converting them to links, by adding a colon: \"[[Category:\" → \"[[:Category:\"";
	
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 = '@]: ' + 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.revisions.slots.main.content;
			var newText = text
				.replace( /\[\[\s*Category:/gi, '\[\[:Category:' ); // 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(
			,
			function () {
				var link = mw.util.addPortletLink( 'p-cactions', '#', 'DNC', 'ca-dnc', 'Draft no cats'); 
				$( link ).click( function ( event ) {
					event.preventDefault();
					mw.loader.using( 'mediawiki.api', window.DraftNoCat.run );
				} );
			}
		);
	}
} );