Chú ý: Sau khi lưu thay đổi trang, bạn phải xóa bộ nhớ đệm của trình duyệt để nhìn thấy các thay đổi. Google Chrome, Firefox, Internet ExplorerSafari: Giữ phím ⇧ Shift và nhấn nút Reload/Tải lại trên thanh công cụ của trình duyệt. Để biết chi tiết và hướng dẫn cho các trình duyệt khác, xem Trợ giúp:Xóa bộ nhớ đệm.

// 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: [[User:DannyS712/Draft no cat.js]]			</nowiki></code> 
//
// Includes contributions by [[User:BrownHairedGirl]]
// If forking this script, please note our contributions / give us credit
$(() => {
const DraftNoCat = {};
window.DraftNoCat = DraftNoCat;
DraftNoCat.config = {
	name: '[[w:en:User:DannyS712/Draft no cat|Draft no cat]]',
	version: 1.6,
	debug: false
};

DraftNoCat.summary = "Theo [[:en:WP:DRAFTNOCAT|DRAFTNOCAT]]/[[:en:WP:USERNOCAT|USERNOCAT]], không xếp trang nháp vào các thể loại." + 
	" Thay thế: \"[[Thể loại:\" → \"[[:Thể loại:\"" + 
	' (sử dụng ' + DraftNoCat.config.name + " v" + DraftNoCat.config.version + ")."
	;
	
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 = '@[[Thành viên:' + username + '|' + 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*Category/gi, '\[\[\Thể loại' );
			
			newText = newText
				.replace( /\[\[\s*Thể loại/gi, '\[\[:Thể loại' ); // Replace categorization with links

			api.postWithEditToken( {
				action: 'edit',
				title: mw.config.get( 'wgPageName' ),
				text: newText,
				summary: editSummary
			} ).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', '#', 'DNC', 'ca-dnc', 'Draft no cats'); 
				$( link ).click( function ( event ) {
					event.preventDefault();
					mw.loader.using( 'mediawiki.api', window.DraftNoCat.run );
				} );
			}
		);
	}
} );