MediaWiki:Gadget-RegexMenuFramework-Cleanup.js
Jump to navigation
Jump to search
Note: After saving, changes may not occur immediately. Click here to learn how to bypass your browser's cache.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Cmd-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (Cmd-Shift-R on a Mac)
- Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Clear the cache in Tools → Preferences
For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/* global $, pathoschild */
/**
* 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]]
*/
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {
pathoschild.TemplateScript.add([
{
name: 'clean up',
script: function(editor) {
editor
// remove trailing whitespace at the end of each line
.replace(/ \n/g, '\n')
// remove trailing whitespace at the end of input
.replace(/\s+$/g, '')
// convert double-hyphen to mdash
.replace(/--/g, '—')
// remove spacing around mdash, but only if it has spaces on both sides
// (we don't want to remove the trailing space from "...as follows:— "
.replace(/ +— +/g, '—')
// join words that are hyphenated across a line break
.replace(/-\n/g, '');
// stuff to do only if the page doesn't contain a <poem> tag:
if (editor.get().indexOf("<poem>") != -1) {
editor
// remove single line breaks; preserve multiple.
.replace(/([^>\n])\n([^<\n])/g, '$1 $2')
// collapse sequences of spaces into a single space
.replace(/ +/g, ' ');
}
editor
// remove unwanted spaces around punctuation marks
.replace(/ ([;:\?!,])/g, '$1')
// OCR fixes: convert i9 to 19, etc.
.replace(/[il]([0-9])/g, '1$1')
// OCR fixes: "the", "them", "their", etcetera
.replace(/tlie/g, 'the');
}
}
]);
});