Mattur/common.js

Материал из Циклопедии
Перейти к навигации Перейти к поиску

(function() {

   mw.loader.using(['mediawiki.util', 'jquery.textSelection'], function () {
       // Скрипт 1: Девикификация выделенного текста
       (function() {
           function dewikify() {
               var focus = $(document.activeElement);
               if (focus) {
                   var oldText = focus.textSelection('getSelection');
                   if (oldText) {
                       var newText = "";
                       var regexp_links_text = /\[\[([^\]\[]*)\|([^\]\[]*)\]\]/g; // ссылки с текстом bb
                       var regexp_links = /\[\[([^\]\[\|]*)\]\]/g; // ссылки без текста aa
                       newText = oldText.replace(regexp_links_text, '$2').replace(regexp_links, '$1');
                       focus.textSelection('encapsulateSelection', {
                           replace: true,
                           peri: newText
                       });
                   }
               }
           }
           var customizeToolbar = function() {
               $('#wpTextbox1').wikiEditor('addToToolbar', {
                   'section': 'main',
                   'group': 'insert',
                   'tools': {
                       'dewikify': {
                           label: 'Девикифицировать выделенное',
                           type: 'button',
                           icon: '//upload.ruwiki.ru/commonswiki/files/9/9d/OOjs_UI_icon_noWikiText-ltr-progressive.svg',
                           action: {
                               type: 'callback',
                               execute: dewikify
                           }
                       }
                   }
               });
           };
           if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
               if (mw.user.options.get('usebetatoolbar') === 1) {
                   $.when(mw.loader.using('ext.wikiEditor'), $.ready).then(customizeToolbar);
               }
           }
       })();
       // Скрипт 2: Загрузка другого скрипта (например, yoficator.js)
       mw.loader.load('https://ru.wikipedia.org/w/index.php?title=Участник:Дима74/yoficator.js&action=raw&ctype=text/javascript');
   });
   // Скрипт 3: Преобразование текста в нижний регистр
   (function() {
       function lowerFunc() {
           var focus = $(document.activeElement);
           if (focus) {
               if (focus.hasClass('CodeMirror-code')) {
                   focus = $('#wpTextbox1');
               }
               if (focus.is('textarea, input')) {
                   var oldText = focus.textSelection('getSelection');
                   if (oldText) {
                       var newText = oldText.toLocaleLowerCase();
                       focus.textSelection('encapsulateSelection', {
                           replace: true,
                           peri: newText
                       });
                   }
               }
           }
       }
       var customizeToolbar = function() {
           if ($('#wpTextbox1').length > 0) {
               $('#wpTextbox1').wikiEditor('addToToolbar', {
                   section: 'main',
                   group: 'format',
                   tools: {
                       lowercase: {
                           label: 'Lowercase',
                           type: 'button',
                           icon: '//upload.ruwiki.ru/commonswiki/files/1/10/Toolbar_Format_small.png',
                           action: {
                               type: 'callback',
                               execute: lowerFunc
                           }
                       },
                       insertPreamble: {
                           label: 'Вставить преамбулу',
                           type: 'button',
                           icon: '//upload.ruwiki.ru/commonswiki/files/b/be/Wikidata_CheckUser.svg',
                           action: {
                               type: 'callback',
                               execute: function() {
                                   var focus = $(document.activeElement);
                                   if (focus) {
                                       if (focus.hasClass('CodeMirror-code')) {
                                           focus = $('#wpTextbox1');
                                       }
                                       if (focus.is('textarea, input')) {
                                           var preambleText = "[Нет даты!]";
                                           focus.textSelection('encapsulateSelection', {
                                               replace: false,
                                               peri: preambleText
                                           });
                                       }
                                   }
                               }
                           }
                       }
                   }
               });
           }
       };
       if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
           mw.loader.using(['user.options', 'jquery.textSelection'], function() {
               if (mw.user.options.get('usebetatoolbar') === 1) {
                   $.when(mw.loader.using('ext.wikiEditor'), $.ready).then(customizeToolbar);
               }
           });
       }
   })();

})();

// Добавление кнопок описания правок mw.hook('summaryButtons').add(function () { addSummaryButton('ёфикация', 'ёфикация','group1'); }); mw.loader.load('https://ru.ruwiki.ru/w/index.php?title=Участник:Дима/summaryButtons.js&action=raw&ctype=text/javascript');

Рувики

Одним из источников, использованных при создании данной статьи, является статья из википроекта «Рувики» («ruwiki.ru») под названием «Mattur/common.js», расположенная по адресу:

Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC-BY-SA 4.0 и более поздних версий.

Всем участникам Рувики предлагается прочитать материал «Почему Циклопедия?».