Користувач:Oleandr/poem.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
$(function(){
    mw.loader.using( 'ext.wikiEditor', function() {
        if ($('#editform').length) {
            $('#wpTextbox1' ).wikiEditor( 'addToToolbar', {
                'section': 'main',
                'groups': {
                    'oleandr': {
                        'label': 'Oleandr'
                        }
                    }
                });
 
            $('#wpTextbox1').wikiEditor('addToToolbar', {
                'section': 'main',
                'group': 'oleandr',
                'tools': {
                    id: {
                        type:'button',
                        action: {type:'callback', execute: poemMain},
                        label:'проза',
                        icon: 'http://upload.wikimedia.org/wikipedia/commons/2/27/Japanese_Map_symbol_%28Library%29.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);
}