User:DemonDays64/Scripts/Quick scripts.js

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.
/*
                                [[User:DemonDays64/Scripts/Quick scripts]]
* A rudimentary thing to copy and paste to make a regex find and replace script.
* To edit, go to editArticle() and edit makeAndRunRegex(). Call it again to add another search.
* Remember to set portledId, linkURL, linkText, and tooltip (along with the others if you want)

*/
mw.loader.using('mediawiki.util', function () {

	$(document).ready(function () {
		var pageBeforeEdit;
		var modifiedPage;
		var previousSummary;

		//add a tab on the left
		var dumbQuotesLink = mw.util.addPortletLink("p-tb", "#", "Example script", "t-example-script", "add example");
		$(dumbQuotesLink).click(function (event) {
			event.preventDefault();
			editPage();
		});
		function runRegex(regex) {
			modifiedPage = modifiedPage.replace(regex.find, regex.replace);
		}

		function makeAndRunRegex(findRegex, replace) {
			var regexObject = {
				find: findRegex,
				replace: replace
			};
			runRegex(regexObject);
		}
		function doEdit() {
			document.editform.wpTextbox1.value = modifiedPage;
		}
		function setEditSummary(summary, isMinor) {
			document.editform.wpMinoredit.checked = isMinor;
			previousSummary = document.editform.wpSummary.value;
			if (previousSummary !== "") {
				if (!previousSummary.includes(summary)) {
					document.editform.wpSummary.value = document.editform.wpSummary.value + " | " + summary;
				}
			}
			else {
				document.editform.wpSummary.value = summary;
			}
		}
		function showDiff() {
			doaction("diff");
		}
		function editPage() {
			pageBeforeEdit = document.editform.wpTextbox1.value;
			modifiedPage = pageBeforeEdit;

			makeAndRunRegex(/find/g, "replace");
			doEdit();
			setEditSummary("type summary here", true);
			showDiff();
		}
	});
});