Jump to content

User:Opencooper/templateScripts.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/**
 * TemplateScript adds configurable templates and scripts to the sidebar, and adds an example regex editor.
 * @see https://meta.wikimedia.org/wiki/TemplateScript
 * @update-token [[File:Pathoschild/templatescript.js]]
 */
// License: CC0
// <nowiki>
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {
	pathoschild.TemplateScript.add({
	name:'collapse lists',
	script: function(editor) {
		editor
			.replace(/\n\n;/g, '\n;')
			.replace(/\n\n:/g, '\n:')
			.replace(/\n\n\*/g, '\n*')
			.appendEditSummary('[[User:Opencooper/Wikitext gotchas#list_spaces|Delete spaces between list items so a single list is created]]')
			.options({ minor: true, watch: true })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'\'s italics fix',
	script: function(editor) {
		editor
			.replace(/'''s/g, "''{{'s}}")
			.appendEditSummary('[[User:Opencooper/Wikitext gotchas#italics_fix|Use template to space italics]]')
			.options({ minor: true, watch: true })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'nihongo',
	script: function(editor) {
		editor
			.replace(/'''''(.*?) \((.*?)\)/, "{{nihongo|'''''$1|$2}}")
			.appendEditSummary('Use template for Japanese text')
			.options({ minor: true, watch: true })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'curly quotes',
	script: function(editor) {
		editor
		    .replace(/(File:[^|\n]+)“/g, "$1<<€€")
		    .replace(/(File:[^|\n]+)”/g, "$1€€>>")
		    .replace(/(File:[^|\n]+)‘/g, "$1<€€")
		    .replace(/(File:[^|\n]+)’/g, "$1€€>")
			.replace(/“|”/g, "\"")
			.replace(/‘|’/g, "'")
			.replace(/<<€€/g, "“")
			.replace(/€€>>/g, "”")
			.replace(/<€€/g, "‘")
			.replace(/€€>/g, "’")
			.appendEditSummary('curly quotes to straight per [[MOS:CURLY]]')
			.options({ minor: true, watch: true })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'indentation formatting',
	script: function(editor) {
		editor
			.appendEditSummary('[[User:Opencooper/Proper indentation|Proper quote formatting]]')
			.options({ minor: false, watch: true });
	}
});
	pathoschild.TemplateScript.add({
	name:'math indentation',
	script: function(editor) {
		editor
			.replace(/\n:+[ \t]*<math>/g, "\n<math display=\"block\">")
			.appendEditSummary('[[User:Opencooper/Proper indentation|Proper indentation for accessibility]]')
			.options({ minor: false, watch: false })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'chem indentation',
	script: function(editor) {
		editor
			.replace(/^:/g, "{{in5}}")
			.appendEditSummary('[[User:Opencooper/Proper indentation|Proper indentation for accessibility]]')
			.options({ minor: false, watch: false })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'redundant quote marks',
	script: function(editor) {
		editor
			.appendEditSummary('quotation marks in a blockquote are redundant ([[MOS:BLOCKQUOTE]])');
	}
});
	pathoschild.TemplateScript.add({
	name:'noitalquote',
	script: function(editor) {
		editor
			.appendEditSummary('[[MOS:NOITALQUOTE]]');
	}
});
	pathoschild.TemplateScript.add({
	name:'external links',
	script: function(editor) {
		editor
			.replace(/([^>])\[http.*? (.*?)\]/g, "$1$2")
			.appendEditSummary('external links don\'t belong in the body ([[WP:EXT]])')
			.options({ minor: false, watch: false })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'lang tag',
	script: function(editor) {
		editor
			.appendEditSummary('use template for non-English text')
			.options({ minor: true, watch: false });
	}
});
/*
	pathoschild.TemplateScript.add({
	name:'nihongo errors',
	script: function(editor) {
		editor
			.replace(/\{\{nihongo4?\|([^|]*?)\|?\|?\|?\}\}/ig, "$1")
			.appendEditSummary('fix nihongo errors')
			.options({ minor: true, watch: false })
			.clickDiff();
	}
});
pathoschild.TemplateScript.add({
	name:'nihongo2 errors',
	script: function(editor) {
		editor
			.replace(/\{\{nihongo(3|4)?\|/ig, "{{nihongo2|")
			.appendEditSummary('fix nihongo errors')
			.options({ minor: true, watch: false })
			.clickDiff();
	}
});
*/
	pathoschild.TemplateScript.add({
	name:'see also',
	script: function(editor) {
		editor
			.appendEditSummary('already in body ([[MOS:SEEALSO]])')
			.options({ minor: false, watch: true });
	}
});
	pathoschild.TemplateScript.add({
	name:'endash',
	script: function(editor) {
		editor
			.appendEditSummary('dash to endash ([[MOS:ENDASH]])')
			.options({ minor: true, watch: true });
	}
});
	pathoschild.TemplateScript.add({
	name:'center tag',
	script: function(editor) {
		editor
		    .replace(/<\/?center>/g, "")
			.appendEditSummary('the center tag is deprecated ([[WP:HTML5#center]])')
			.options({ minor: true, watch: true })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'nobold',
	script: function(editor) {
		editor
		    .replace(/'''/g, "")
			.appendEditSummary('[[MOS:NOBOLD]]')
			.options({ minor: true, watch: true })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'interlanguage',
	script: function(editor) {
		editor
		    .replace(/\[\[:([a-z]{2}):(.*?)\|(.*?)\]\]/g, "{{ill|$3|$1|$2|lt=$3}}")
		    .replace(/\|([^|]+)\|lt=\1}}/g, "|$1}}")
		    .replace(/{{ill\|([^|]+)\|(\w+)\|\1}}/g, "{{ill|$1|$2}}")
			.appendEditSummary('converting interlanguage links per [[MOS:EGG]]')
			.options({ minor: false, watch: false })
			.clickDiff();
	}
});
	pathoschild.TemplateScript.add({
	name:'unbulleted list',
	script: function(editor) {
		editor
		    .replace(/(\|[^=]*=)(.*<br\/?>.*)/g, "$1{{ubl|$2}}")
		    .replace(/<br\/?>/g, " | ")
			.appendEditSummary('[[MOS:UBLIST]]')
			.options({ minor: false, watch: false })
			.clickDiff();
	}
});
});
// </nowiki>