MediaWiki:Prose.js
Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.
- Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
- Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
- Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
- Opera: натисніть Ctrl-F5
/* Взято у [https://uk.wikisource.org/w/index.php?title=Користувач:Oleandr/poem.js&oldid=60078|Користувача Oleandr] ( [[Користувач:Oleandr/poem.js]] ) та змінено */
$(function(){
mw.loader.using( 'ext.wikiEditor', function() {
if ($('#editform').length) {
$('#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'main',
'groups': {
'oleandr': {
'label': ''
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
'section': 'main',
'group': 'oleandr',
'tools': {
id: {
type:'button',
action: {type:'callback', execute: poemMain},
label:'Проза',
icon: 'https://upload.wikimedia.org/wikipedia/commons/2/2e/Text_align_full.svg'
}
}
})
}
});
});
function poemMain()
{
var text = $('#wpTextbox1').val();
// remove space before ? ! . , e.t.c
text = text.replace(/\s([\.\!\?\:\;\,])/g, '$1');
// (?=шаблон) Позитивний перегляд уперед, Заміна '"' на '“' якщо після символа є крапка, пробільний символ, або кома
text = text.replace(/"(?=[\.\s\,])/g, '“');
// Заміна —t ¬ на —
text = text.replace(/—t/g, '—');
text = text.replace(/¬/g, '\-');
// Додати додатковий пустий рядок, якщо є символ нового рядка.
text = text.replace(/([\.\!\?\:\;])\s?\n/g, '$1\n\n');
// прибрати символ переносу рядка і з'єднати рядки
text = text.replace(/([А-яІіЇїҐґЄє\,])\-\s?\n([А-яІіЇїҐґЄє])/g, '$1$2');
// прибрати подвійні пусті символи
text = text.replace(/([А-яІіЇїҐґЄє\,])\s? \n([А-яІіЇїҐґЄє])/g, '$1 $2');
text = text.replace(/([А-яІіЇїҐґЄє\,])\n([А-яІіЇїҐґЄє])/g, '$1 $2');
// заміна — на {{—}}
// замість \s використовуємо [\f\r\t\v] щоб не символ \n не прибирати
text = text.replace(/[ \f\r\t\v]?\{*—\}*\s?/g, '{{—}}');
$('#wpTextbox1').val(text);
}