User:Alien333/clean.js

// WARNING: changes content of edit boxes automatically. Might mess up very badly. /* global $, mw */ "use strict"; mw.loader.using(['mediawiki.util'], => {

$( => {    if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) < 0) { // if not editing        return;    }    if (mw.config.get('wgCanonicalNamespace') == 'Page' && mw.config.get('wgPageContentModel') == 'proofread-page') { // Page:	    var cleanbtn = mw.util.addPortletLink("p-tb", "#", "Clean", "clean", "Do a little bit of formatting.");	    $(cleanbtn).click(event => { event.preventDefault; doclean; });	   doclean;    }  }); }); var err = [ // formatting to do	"", "__COMM_END__",	" ———", "__SP_LD__", // keep the spaces for toc links	" = ", "__SP_EQ_DBSP__", // prevent the usual double space crushing, I use those double spaces in headers to prevent auto link start by my commons.js	"“","\"",    "”", "\"",    " ;",";",    " !","!",    " ?", "?",    "’","'",    " ;", ";",    "‘","'",    "---","—",    "--","—",    "–","—",    "―","—",    " — ", "—",    "— ", "—",    " —", "—",    '—" ', '—"',    ' "—', '"—',    "—' ","—'",    " '—","'—",    " :",":",    "  ", " ",    " 0 ", " O ",    "\n0 ", "\nO ",    ":0 ", ":O ",    '"0 ', '"O ',    "'0 ", "'O ",    "—0 ", "—O ",    "\n0, ", "\nO, ",    ' " \n', '" \n',    " ' \n", "' \n",    ' \n" \n', '"\n',    '\n" ', '\n"',    " \n' \n", "\n'\n",    "\n' ", "\n'",    "__SP_EQ_DBSP__", " =  ",    "__SP_LD__", " ———",    "__COMM_BEGIN__", "", ]; function clean(s) { // use err for (var i = 0; i < err.length; i+=2) { s = s.replaceAll(err[i], err[i+1]); }   return s.split("\n").map((ss) => ss.trim).join("\n"); }

function doclean { // clean var l = $('#wpTextbox1').val; l = clean(l); $('#wpTextbox1').val(l); }