Участник:KPu3uC B Poccuu/common.js: различия между версиями
Перейти к навигации
Перейти к поиску
Содержимое удалено Содержимое добавлено
migrated deprecated functions |
migrated obsolete regex menu framework to TemplateScript |
||
Строка 1: | Строка 1: | ||
/* global $, mw, pathoschild */ |
|||
// <nowiki> |
|||
/* global $, editbox, mw, regex, regexTool, setreason */ |
|||
NavigationBarHide = '[ скрыть ]'; |
NavigationBarHide = '[ скрыть ]'; |
||
Строка 9: | Строка 8: | ||
HighlightredirectsAll = true; |
HighlightredirectsAll = true; |
||
/** |
|||
function RegExCleanup() { |
|||
* TemplateScript adds configurable templates and scripts to the sidebar, and adds an example regex editor. |
|||
var tbox = $('#wpTextbox1').focus(); |
|||
* @see https://meta.wikimedia.org/wiki/TemplateScript |
|||
var oldText = tbox.textSelection('getSelection'); |
|||
* @update-token [[File:Pathoschild/templatescript.js]] |
|||
var noSelection = !oldText; |
|||
*/ |
|||
if (noSelection) |
|||
// <nowiki> |
|||
oldText = editbox.value; |
|||
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() { |
|||
var newText = regex(/(\.\.\.|…)/ig, '…', 1, oldText); |
|||
pathoschild.TemplateScript.add([ |
|||
newText = regex(/\{\{u\|([^][<>"\s]+)\}\}/ig, '[[User:$1|$1]]', 1, newText); |
|||
{ |
|||
newText = regex(/\[\{\{SERVER}}\{\{localurl:/ig, '[{{fullurl:', 1, newText); |
|||
name: 'Оформление', |
|||
newText = regex(/\[(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/(Category|Image|File|Категория|Файл|Изображение)\s*:\s*([^][<>"\s]+)[\s]+([^]]+)\]/ig, '[[:$1:$2|$3]]', 1, newText); |
|||
script: function RegexCleanup(editor) { |
|||
newText = regex(/\[?(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/(Category|Image|File|Категория|Файл|Изображение)\s*:\s*([^][<>"\s]+)(\s*)\]?/ig, '[[:$1:$2]]$3', 1, newText); |
|||
var replacer = function(text) { |
|||
newText = regex(/\[(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/([^][<>"\s]+)\s+([^]]+)\]/ig, '[[$1|$2]]', 1, newText); |
|||
return text |
|||
newText = regex(/\[?(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/([^][<>"\s]+)([\s]*)\]?/, '[[$1]]$2', 1, newText); |
|||
.replace(/(\.\.\.|…)/ig, '…') |
|||
newText = regex(/\[(?:https?:)?\/\/(\S{1,6})\.wikipedia\.org\/wiki\/([^][<>"\s]+)\s+([^]]+)\]/ig, '[[:$1:$2|$3]]', 1, newText); |
|||
.replace(/\{\{u\|([^][<>"\s]+)\}\}/ig, '[[User:$1|$1]]') |
|||
.replace(/\[\{\{SERVER}}\{\{localurl:/ig, '[{{fullurl:') |
|||
newText = regex(/\[(?:https?:)?\/\/([a-z0-9\-]{1,6})\.(?:(wikt)ionary|wiki(n)ews|wiki(b)ooks|wiki(q)uote|wiki(s)ource|wiki(v)ersity)\.(?:com|net|org)\/wiki\/([^][<>{|}\s"]*)\s+([^\n\]]+)\]/ig, '[[$2$3$4$5$6$7:$1:$8|$9]]', 1, newText); |
|||
.replace(/\[(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/(Category|Image|File|Категория|Файл|Изображение)\s*:\s*([^][<>"\s]+)[\s]+([^]]+)\]/ig, '[[:$1:$2|$3]]') |
|||
.replace(/\[?(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/(Category|Image|File|Категория|Файл|Изображение)\s*:\s*([^][<>"\s]+)(\s*)\]?/ig, '[[:$1:$2]]$3') |
|||
.replace(/\[(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/([^][<>"\s]+)\s+([^]]+)\]/ig, '[[$1|$2]]') |
|||
.replace(/\[?(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/([^][<>"\s]+)([\s]*)\]?/, '[[$1]]$2') |
|||
.replace(/\[(?:https?:)?\/\/(\S{1,6})\.wikipedia\.org\/wiki\/([^][<>"\s]+)\s+([^]]+)\]/ig, '[[:$1:$2|$3]]') |
|||
.replace(/\[?(?:https?:)?\/\/(\S{1,6})\.wikipedia\.org\/wiki\/([^][<>"\s]+)(\s*)\]?/ig, '[[:$1:$2]]$3') |
|||
.replace(/\[(?:https?:)?\/\/([a-z0-9\-]{1,6})\.(?:(wikt)ionary|wiki(n)ews|wiki(b)ooks|wiki(q)uote|wiki(s)ource|wiki(v)ersity)\.(?:com|net|org)\/wiki\/([^][<>{|}\s"]*)\s+([^\n\]]+)\]/ig, '[[$2$3$4$5$6$7:$1:$8|$9]]') |
|||
.replace(/\[?(?:https?:)?\/\/([a-z0-9\-]{1,6})\.(?:(wikt)ionary|wiki(n)ews|wiki(b)ooks|wiki(q)uote|wiki(s)ource|wiki(v)ersity)\.(?:com|net|org)\/wiki\/([^][<>"\s]+)(\s*)\]?/ig, '[[$2$3$4$5$6$7:$1:$8]]$9') |
|||
.replace(/\[(?:https?:)?\/\/(?:(m)eta|(commons)|(incubator)|(quality)|(species)|(strategy))\.wikimedia\.(?:com|net|org)\/wiki\/([^][<>{|}\s"]*)\s+([^\n\]]+)\]/ig, '[[$1$2$3$4$5$6:$7|$8]]') |
|||
//newText=regex(/\{\{Userpage/ig,'{{User:box/Страница участника',1,newText); |
|||
.replace(/\[?(?:https?:)?\/\/(?:(m)eta|(commons)|(incubator)|(quality)|(species)|(strategy))\.wikimedia\.(?:com|net|org)\/wiki\/([^][<>{|}\s"]*)(\s*)\]?/ig, '[[$1$2$3$4$5$6:$7]]$8') |
|||
if (noSelection) |
|||
.replace(/\[(?:https?:)?\/\/(?:www\.)?(toolserver\.org|tools\.wikimedia\.org|tools\.wikimedia\.de)\/([^][<>\s";?]*)\??\s+([^]\n]+)\s*\]/ig, '[[tools:$2|$3]]') |
|||
editbox.value = newText; |
|||
.replace(/\[?(?:https?:)?\/\/(?:www\.)?(toolserver\.org|tools\.wikimedia\.org|tools\.wikimedia\.de)\/([^][<>\s";?]*)\??(\s*)\]?/ig, '[[tools:$2]]$3') |
|||
else |
|||
.replace(/\[(?:https?:)?\/\/(?:www\.)?bugzilla\.wikimedia\.org\/show_bug\.cgi\?id=([0-9]+)\s+([^]\n]+)\]/ig, '[[mediazilla:$1|$2]]') |
|||
editbox.value = editbox.value.substring(0, editbox.selectionStart) + newText + editbox.value.substring(editbox.selectionEnd, editbox.value.length); |
|||
.replace(/\[?(?:https?:)?\/\/(?:www\.)?bugzilla\.wikimedia\.org\/show_bug\.cgi\?id=([0-9]+)\s*\]?/ig, '[[mediazilla:$1]]') |
|||
.replace(/\[?(?:https?:)?\/\/(www\.)?(\S*\.)(wiki(?:m|p)edia|wikimediafoundation|mediawiki)(\.org.*)\]?/ig, '[//$1$2$3$4]'); |
|||
}; |
|||
var oldText = editor.get(); |
|||
if(editor.hasSelection()) |
|||
setreason('оформление', 'appendonce'); |
|||
editor.replaceSelection(replacer); |
|||
} |
|||
else |
|||
editor.set(replacer(editor.get())); |
|||
if(editor.get() != oldText) |
|||
function RemoveListBold() { |
|||
editor.appendEditSummary('оформление'); |
|||
var tbox = $('#wpTextbox1').focus(); |
|||
} |
|||
var oldText = tbox.textSelection('getSelection'); |
|||
}, |
|||
var noSelection = !oldText; |
|||
{ |
|||
if (noSelection) |
|||
name: 'Девикификация', |
|||
oldText = editbox.value; |
|||
script: function WikiLinksCleanup(editor) { |
|||
var newText = regex(/^([\*:\#])+\s*(?:'''(.+?)'''|(\[\[.+?\|)\s*'''(.+?)'''\s*(\]\]))/igm, '$1 $2$3$4', 1, oldText); |
|||
var replacer = function(text) { |
|||
if (noSelection) |
|||
return text |
|||
editbox.value = newText; |
|||
.replace(/\[\[([^:\|\[\]\{\}\n]+?)\]\]/ig, '$1') |
|||
else |
|||
.replace(/\[\[([^:\|\[\]\{\}\n]+?)\|([^\n\[\]]+?)\]\]/ig, '$2'); |
|||
editbox.value = editbox.value.substring(0, editbox.selectionStart) + newText + editbox.value.substring(editbox.selectionEnd, editbox.value.length); |
|||
}; |
|||
var oldText = editor.get(); |
|||
if(editor.hasSelection()) |
|||
setreason('оформление', 'appendonce'); |
|||
editor.replaceSelection(replacer); |
|||
} |
|||
else |
|||
editor.set(replacer(editor.get())); |
|||
if (editor.get() != oldText) |
|||
function WikiLinksCleanup() { |
|||
editor.appendEditSummary('оформление'); |
|||
var tbox = $('#wpTextbox1').focus(); |
|||
} |
|||
var oldText = tbox.textSelection('getSelection'); |
|||
}, |
|||
var noSelection = !oldText; |
|||
{ |
|||
if (noSelection) |
|||
name: 'Убрать жирный шрифт в списках', |
|||
oldText = editbox.value; |
|||
script: function RemoveListBold(editor) { |
|||
var newText = regex(/\[\[([^:\|\[\]\{\}\n]+?)\]\]/ig, '$1', 1, oldText); |
|||
var replacer = function(text) { |
|||
newText = regex(/\[\[([^:\|\[\]\{\}\n]+?)\|([^\n\[\]]+?)\]\]/ig, '$2', 1, newText); |
|||
return text.replace(/^([\*:\#])+\s*(?:'''(.+?)'''|(\[\[.+?\|)\s*'''(.+?)'''\s*(\]\]))/igm, '$1 $2$3$4'); |
|||
if (noSelection) |
|||
}; |
|||
editbox.value = newText; |
|||
else |
|||
editbox.value = editbox.value.substring(0, editbox.selectionStart) + newText + editbox.value.substring(editbox.selectionEnd, editbox.value.length); |
|||
var oldText = editor.get(); |
|||
if(editor.hasSelection()) |
|||
setreason('оформление', 'appendonce'); |
|||
editor.replaceSelection(replacer); |
|||
} |
|||
else |
|||
editor.set(replacer(editor.get())); |
|||
if (editor.get() != oldText) |
|||
// default menu links |
|||
editor.appendEditSummary('оформление'); |
|||
function gadget_rmflinks() { |
|||
} |
|||
regexTool('Замена по регулярным выражениям', 'custom()'); // a default tool which performs regex input in a dynamic form |
|||
} |
|||
regexTool('Оформление', 'RegExCleanup()'); |
|||
]); |
|||
regexTool('Девикификация', 'WikiLinksCleanup()'); |
|||
}); |
|||
regexTool('Убрать жирный шрифт в списках', 'RemoveListBold()'); |
|||
// </nowiki> |
|||
} |
|||
// <nowiki> |
|||
addTemplatesList = function() { |
|||
var addTemplatesList = function() { |
|||
if (!window.addTemplatesListperformed) { |
if (!window.addTemplatesListperformed) { |
||
var block = document.getElementById('editpage-specialchars'); |
var block = document.getElementById('editpage-specialchars'); |
||
Строка 95: | Строка 103: | ||
addTemplatesListperformed = true; |
addTemplatesListperformed = true; |
||
}; |
}; |
||
// </nowiki> |
|||
function insertSel(sel) { |
function insertSel(sel) { |
Версия от 17:00, 16 января 2016
/* global $, mw, pathoschild */
NavigationBarHide = '[ скрыть ]';
popupDelay = 1;
popupPreviewKillTemplates = false;
highlightMessagesAfterLastVisit = true;
messagesHighlightTimeout = 5;
HighlightredirectsAll = true;
/**
* 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]]
*/
// <nowiki>
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {
pathoschild.TemplateScript.add([
{
name: 'Оформление',
script: function RegexCleanup(editor) {
var replacer = function(text) {
return text
.replace(/(\.\.\.|…)/ig, '…')
.replace(/\{\{u\|([^][<>"\s]+)\}\}/ig, '[[User:$1|$1]]')
.replace(/\[\{\{SERVER}}\{\{localurl:/ig, '[{{fullurl:')
.replace(/\[(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/(Category|Image|File|Категория|Файл|Изображение)\s*:\s*([^][<>"\s]+)[\s]+([^]]+)\]/ig, '[[:$1:$2|$3]]')
.replace(/\[?(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/(Category|Image|File|Категория|Файл|Изображение)\s*:\s*([^][<>"\s]+)(\s*)\]?/ig, '[[:$1:$2]]$3')
.replace(/\[(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/([^][<>"\s]+)\s+([^]]+)\]/ig, '[[$1|$2]]')
.replace(/\[?(?:https?:)?\/\/ru\.wikipedia\.org\/wiki\/([^][<>"\s]+)([\s]*)\]?/, '[[$1]]$2')
.replace(/\[(?:https?:)?\/\/(\S{1,6})\.wikipedia\.org\/wiki\/([^][<>"\s]+)\s+([^]]+)\]/ig, '[[:$1:$2|$3]]')
.replace(/\[?(?:https?:)?\/\/(\S{1,6})\.wikipedia\.org\/wiki\/([^][<>"\s]+)(\s*)\]?/ig, '[[:$1:$2]]$3')
.replace(/\[(?:https?:)?\/\/([a-z0-9\-]{1,6})\.(?:(wikt)ionary|wiki(n)ews|wiki(b)ooks|wiki(q)uote|wiki(s)ource|wiki(v)ersity)\.(?:com|net|org)\/wiki\/([^][<>{|}\s"]*)\s+([^\n\]]+)\]/ig, '[[$2$3$4$5$6$7:$1:$8|$9]]')
.replace(/\[?(?:https?:)?\/\/([a-z0-9\-]{1,6})\.(?:(wikt)ionary|wiki(n)ews|wiki(b)ooks|wiki(q)uote|wiki(s)ource|wiki(v)ersity)\.(?:com|net|org)\/wiki\/([^][<>"\s]+)(\s*)\]?/ig, '[[$2$3$4$5$6$7:$1:$8]]$9')
.replace(/\[(?:https?:)?\/\/(?:(m)eta|(commons)|(incubator)|(quality)|(species)|(strategy))\.wikimedia\.(?:com|net|org)\/wiki\/([^][<>{|}\s"]*)\s+([^\n\]]+)\]/ig, '[[$1$2$3$4$5$6:$7|$8]]')
.replace(/\[?(?:https?:)?\/\/(?:(m)eta|(commons)|(incubator)|(quality)|(species)|(strategy))\.wikimedia\.(?:com|net|org)\/wiki\/([^][<>{|}\s"]*)(\s*)\]?/ig, '[[$1$2$3$4$5$6:$7]]$8')
.replace(/\[(?:https?:)?\/\/(?:www\.)?(toolserver\.org|tools\.wikimedia\.org|tools\.wikimedia\.de)\/([^][<>\s";?]*)\??\s+([^]\n]+)\s*\]/ig, '[[tools:$2|$3]]')
.replace(/\[?(?:https?:)?\/\/(?:www\.)?(toolserver\.org|tools\.wikimedia\.org|tools\.wikimedia\.de)\/([^][<>\s";?]*)\??(\s*)\]?/ig, '[[tools:$2]]$3')
.replace(/\[(?:https?:)?\/\/(?:www\.)?bugzilla\.wikimedia\.org\/show_bug\.cgi\?id=([0-9]+)\s+([^]\n]+)\]/ig, '[[mediazilla:$1|$2]]')
.replace(/\[?(?:https?:)?\/\/(?:www\.)?bugzilla\.wikimedia\.org\/show_bug\.cgi\?id=([0-9]+)\s*\]?/ig, '[[mediazilla:$1]]')
.replace(/\[?(?:https?:)?\/\/(www\.)?(\S*\.)(wiki(?:m|p)edia|wikimediafoundation|mediawiki)(\.org.*)\]?/ig, '[//$1$2$3$4]');
};
var oldText = editor.get();
if(editor.hasSelection())
editor.replaceSelection(replacer);
else
editor.set(replacer(editor.get()));
if(editor.get() != oldText)
editor.appendEditSummary('оформление');
}
},
{
name: 'Девикификация',
script: function WikiLinksCleanup(editor) {
var replacer = function(text) {
return text
.replace(/\[\[([^:\|\[\]\{\}\n]+?)\]\]/ig, '$1')
.replace(/\[\[([^:\|\[\]\{\}\n]+?)\|([^\n\[\]]+?)\]\]/ig, '$2');
};
var oldText = editor.get();
if(editor.hasSelection())
editor.replaceSelection(replacer);
else
editor.set(replacer(editor.get()));
if (editor.get() != oldText)
editor.appendEditSummary('оформление');
}
},
{
name: 'Убрать жирный шрифт в списках',
script: function RemoveListBold(editor) {
var replacer = function(text) {
return text.replace(/^([\*:\#])+\s*(?:'''(.+?)'''|(\[\[.+?\|)\s*'''(.+?)'''\s*(\]\]))/igm, '$1 $2$3$4');
};
var oldText = editor.get();
if(editor.hasSelection())
editor.replaceSelection(replacer);
else
editor.set(replacer(editor.get()));
if (editor.get() != oldText)
editor.appendEditSummary('оформление');
}
}
]);
});
// </nowiki>
// <nowiki>
var addTemplatesList = function() {
if (!window.addTemplatesListperformed) {
var block = document.getElementById('editpage-specialchars');
if (!block) return;
block.innerHTML =
'<a href=\'javascript:mw.util.insertTags("|","","")\'>|</a> ' + '<select onchange=insertSel(this)>' + '<option>Шаблоны:</option>' + '<option value="subst:Вандализм">{{подст:Вандализм}}~~~~</option>' + '<option value="subst:Спам">{{подст:Спам}} ~~~~</option>' + '<option value="db-empty">{{db-empty}}</option>' + '<option value="не переведено 3|статья|текст|язык|">{{не переведено 3|}}</option>' + '<option value="переведённая статья|en|">{{переведённая статья|en|}}</option>' + '<option value="основная статья по теме категории">{{основная статья по теме категории|}}</option>' + '</select>' + '<a href=\'javascript:mw.util.insertTags("<div>","</div>","")\'><div></a> ' + '<a href=\'javascript:mw.util.insertTags("<span>","</span>","")\'><span></a> ' + '<a href=\'javascript:mw.util.insertTags("~~~~","","")\'>~~~~</a> ' + '<a href=\'javascript:mw.util.insertTags("[[:Категория:","|]]","")\'>[[:Категория:|]]</a> ' + '<a href=\'javascript:mw.util.insertTags("{{#if:{{{nocat|}}}||[[Категория:","]]}}","")\'>{{#if:{{{nocat|}}}||[[Категория:]]}}</a> '
//+'<a href=\'javascript:mw.util.insertTags("<sup>[''[[ВП:Ссылки на источники|источник?]]'']</sup>","","")\'>[''[[ВП:Ссылки на источники|источник?]]'']</a> '
+ block.innerHTML;
}
addTemplatesListperformed = true;
};
// </nowiki>
function insertSel(sel) {
if (sel.selectedIndex <= 0) return;
var insertion = sel.options[sel.selectedIndex].value;
mw.util.insertTags('{{' + insertion, '}}', '');
}
rcp_enabled = false;
rcp_num_pages = 50;
rcp_refresh = 360;
rcp_str_box_title_updating = "Свежие правки";
$(function() {
if (mw.config.get('wgPageName') == 'Участник:KPu3uC_B_Poccuu/rcl.js' && mw.config.get('wgAction') != 'submit')
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:KPu3uC_B_Poccuu/rcl.js&action=raw&ctype=text/javascript');
//mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:KPu3uC_B_Poccuu/collapsible-replace.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:KPu3uC_B_Poccuu/RegExFramework.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Lockal/strings-ru.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Js/summary.js&action=raw&ctype=text/javascript');
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Js/diffs.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Js/rcUnreviewedRows.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Dibot/pat.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Dhārmikatva/hate.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Absconditus/reporter.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Absconditus/rfd.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Absconditus/rfsd.js&action=raw&ctype=text/javascript');
//mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Saint_Johann/withoutiw.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Track13/archiveurl.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Js/rcUnreviewedRows.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Кикан/highlightLastMessages.js&action=raw&ctype=text/javascript');
//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Equazcion/Floater.js&action=raw&ctype=text/javascript');
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Ucucha/duplinks.js&action=raw&ctype=text/javascript');
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Anomie/previewtemplatelastmod.js&action=raw&ctype=text/javascript');
mw.loader.load('//de.wikipedia.org/w/index.php?title=User:TMg/cleanDiff.js&action=raw&ctype=text/javascript');
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Equazcion/link_intermediate_revisions.js&action=raw&ctype=text/javascript');
//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Theopolisme/Scripts/ajaxWatchlist.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Ignatus/discussion.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Track13/archiveurl.js&action=raw&ctype=text/javascript');
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/AWB.js&action=raw&ctype=text/javascript');
if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') {
mw.loader.load('//de.wikipedia.org/w/index.php?title=User:TMg/autoFormatter.js&action=raw&ctype=text/javascript');
//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Cameltrader/Advisor.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:OneLittleMouse/warnings.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Js/editsuggest.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Js/checklinks.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Js/linkcomplete.js&action=raw&ctype=text/javascript');
//mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Js/instable.js&action=raw&ctype=text/javascript');
//mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:Js/dabfixer.js&action=raw&ctype=text/javascript');
mw.loader.load('//ru.wikipedia.org/w/index.php?title=User:KPu3uC_B_Poccuu/rqedit.js&action=raw&ctype=text/javascript');
addTemplatesList();
var x = setInterval(function() {
if (!mw.libs.autoFormatter) return;
clearInterval(x);
mw.libs.autoFormatter.cleanDates = function(t) {
/* Unspaced dashes in "1850–14 January" are bad style in German and English */
separator = this.lang === 'de' ? ' bis ' : ' – ';
t = t.replace(
/(\b +[12]\d{3}'*) *[–—−-] *('*(?:3[01]|[12]\d|0?[1-9])\.?) *([A-S][a-zä]{2,}\b)/g,
function($0, $1, $2, $3) {
for (var i = months.length; --i;) {
if ($3 === months[i]) {
return $1 + separator + $2 + ' ' + $3;
}
}
return $0;
}
);
/* Bis-Striche in 4-stellige Jahreszahlenbereiche einsetzen */
t = t.replace(
/([\s!'(>|„])(?:\[\[ *([12]\d{3}) *\]\]|([12]\d{3})) *[–—-] *(?:\[\[ *([12]\d{3}) *\]\]|([12]\d{3}))(?=[!,.:;?]?[\s!')\/<\]|}“])/g,
function($0, $1, $2, $3, $4, $5) {
return ($2 || $3) < ($4 || $5) ? $1 + ($2 || $3) + '–' + ($4 || $5) : $0;
}
);
/* Bis-Striche in 2-stellige Jahreszahlenbereiche einsetzen */
t = t.replace(
/([\s!'(>|„][12]\d(\d\d)) *[—-] *(?=(1[3-9]|[2-9]\d)[!,.:;?]?(?:[\s!')\/<\]|“]|$)|\?)/g,
function($0, $1, $2, $3) {
return !$3 || $2 < $3 ? $1 + '–' : $0;
}
);
/* "1980 – 90" becomes "1980–1990" in the German Wikipedia, "1980–90" otherwise */
var full = typeof window.autoFormatShortYearRanges !== 'undefined' ? window.autoFormatShortYearRanges : this.localisation === 'de';
t = t.replace(
/([\s!'(>|„]([12]\d)(\d\d)) *– *(?!(?:3[01]|[12]\d|0[1-9])\.? [A-S][a-zä]{2,}\b)(?=(\d\d)[!,.:;?]?(?:[\s!')\/<|“]|$))/g,
function($0, $1, $2, $3, $4) {
return $3 < $4 ? $1 + '–' + (full ? $2 : '') : $0;
}
);
/* ISSNs aber ohne Bis-Striche, wichtig nach den Jahreszahlen */
return t.replace(/(IS\wN\W*\d+)–(?=\d)/g, '$1-');
};
}, 1000);
}
});