MediaWiki:Gadget-wfTyposUpdate.js: различия между версиями
Перейти к навигации
Перейти к поиску
Содержимое удалено Содержимое добавлено
Putnik (обсуждение | вклад) м fix |
Putnik (обсуждение | вклад) удалять замены, где строка поиска начинается на \b, но мы не смогли его сэмулировать |
||
Строка 28: | Строка 28: | ||
r(/^\\b\((.+?)\|(.+?)\)([*+?])/gm, '((?:^|\\s)(?:$1|$2)$3)'); |
r(/^\\b\((.+?)\|(.+?)\)([*+?])/gm, '((?:^|\\s)(?:$1|$2)$3)'); |
||
r(/^\\b\((.+?)\|(.+?)\)/gm, '((?:^|\\s)(?:$1|$2))'); |
r(/^\\b\((.+?)\|(.+?)\)/gm, '((?:^|\\s)(?:$1|$2))'); |
||
⚫ | |||
// clear all that we can't emulate |
|||
⚫ | |||
r(/^\\b.*$/gm, ''); |
|||
r(/\)\?\\b\x01/gm, '|)(?=[^A-ZА-ЯЁa-zа-яё]|$)\x01'); |
r(/\)\?\\b\x01/gm, '|)(?=[^A-ZА-ЯЁa-zа-яё]|$)\x01'); |
||
r(/\\b(.*\x01)/gm, '(?=[^A-ZА-ЯЁa-zа-яё]|$)$1'); |
r(/\\b(.*\x01)/gm, '(?=[^A-ZА-ЯЁa-zа-яё]|$)$1'); |
Версия от 09:55, 26 марта 2013
function TyposToJs () {
'use strict';
var wpTextbox1 = document.editform.wpTextbox1,
txt = wpTextbox1.value;
function r (r1, r2) {
txt = txt.replace(r1, r2);
}
// Clear
r(/^(.|\n)+?<source lang="xml">/, '');
//r(/<\/source>(?!(.|\n)+<\/source>)(.|\n)+?$/, ''); // for all replaces
r(/\n=+\s*Сокращения(.|\n)+?$/, '');
r(/<source lang="xml">/g, '');
r(/<\/source>/g, '');
r(/<pre>(.|\n)*?<\/pre>/g, '');
r(/^=+.*=+$/gm, '');
r(/^<Typo word=".+?" find="/gm, '');
r(/" replace="/g, '\x01');
r(/" \/>\s*?(<!--.*?-->)?/g, '');
// \b conversion
r(/^\\b\((.)\|(.)\)([*+?])/gm, '((?:^|\\s)[$1$2]$3)');
r(/^\\b\((.)\|(.)\)/gm, '((?:^|\\s)[$1$2])');
r(/^\\b\((.+?)\|(.+?)\)([*+?])/gm, '((?:^|\\s)(?:$1|$2)$3)');
r(/^\\b\((.+?)\|(.+?)\)/gm, '((?:^|\\s)(?:$1|$2))');
// clear all that we can't emulate
r(/^(.*\\b\(*([A-ZА-ЯЁa-zа-яё]|\\w).*)$/gm, '');
r(/^\\b.*$/gm, '');
r(/\)\?\\b\x01/gm, '|)(?=[^A-ZА-ЯЁa-zа-яё]|$)\x01');
r(/\\b(.*\x01)/gm, '(?=[^A-ZА-ЯЁa-zа-яё]|$)$1');
r(/\\b(.*\x01)/gm, '(?=[^A-ZА-ЯЁa-zа-яё]|$)$1');
// Wrap into function r()
r(/^(.+)/gm, 'r(/$1');
r(/\x01/g, '/g, \'');
r(/(.+)$/gm, '$1\');');
// Empty lines
r(/\n+/g, '\n');
r(/^[\n\r]+/, '');
wpTextbox1.value = txt;
}
if (wgPageName === 'Википедия:AutoWikiBrowser/Typos' && (wgAction === 'edit' || wgAction === 'submit')) {
mwCustomEditButtons['typostojs'] = [
function () { TyposToJs(); },
'commons/a/a2/TrFlameButton.png',
'Конвертер орфографических правил из формата AWB в JS'
];
}