Content deleted Content added
DemonDays64 (talk | contribs) Formatting |
DemonDays64 (talk | contribs) Add note about regex |
||
(48 intermediate revisions by 2 users not shown) | |||
Line 1:
// See the documentation! Hope you like the script :-)
// NOTE: Uses a regex feature implemented fairly recently in some browsers (https://caniuse.com/?search=Lookbehind):
// Chrome: 10/2017 | Firefx: 6/2020 | Edge: 1/2020 | Safari: 3/2023 | Opera: 11/2017
// If running older browsers I believe it will work normally except that it will modify File links. The previous versions did not have this feature and used widely-supported Regex.
mw.loader.using('mediawiki.util', function () {
$(document).ready(function () {
var pageBeforeEdit;
var previousSummary;
//add a tab on the left
var dumbQuotesLink = mw.util.addPortletLink("p-tb", "#", "Dumb quotes", "t-dumb-quotes", "Convert curly to straight quotes");
$(dumbQuotesLink).click(function (event) {
event.preventDefault();
});
function
modifiedPage =
document.editform.wpMinoredit.checked = true;▼
}
function setDumbQuotes() {▼
var singleQuoteRegex = {▼
replace: "'"▼
}▼
function makeAndRunRegex(findRegex, replace) {
};
runRegex(regexObject, modifiedPage);
}
document.editform.wpTextbox1.value = modifiedPage;▼
}
function setEditSummary(summary, isMinor) {
if (previousSummary !== "") {
if (!previousSummary.includes(summary)) {
document.editform.wpSummary.value = document.editform.wpSummary.value + " | " + summary;
}
}
else {
▲ }
}
function showDiff() {
▲ var originalPage = document.editform.wpTextbox1.value;
if(typeof doaction !== 'undefined') doaction("diff");
▲ var modifiedPage = originalPage;
}
function editPage() {
▲ modifiedPage = modifiedPage.replace(singleQuoteRegex.find, singleQuoteRegex.replace);
pageBeforeEdit = document.editform.wpTextbox1.value;
modifiedPage = pageBeforeEdit;
▲ document.editform.wpTextbox1.value = modifiedPage;
makeAndRunRegex(/(?<!File:[^\]]*[^\]]*)(‘|’)/g, "'");
▲ document.editform.diff();
makeAndRunRegex(/(?<!File:[^\]]*[^\]]*)(“|”)/g, '"');
doEdit();
setEditSummary("Replaced curly quotes with straight with [[User:DemonDays64/Scripts/Dumb quotes.js|script]] per [[MOS:CQ]].", true);
showDiff();
}
});
});
|