MediaWiki:Gadget-QuickTagsAndTemplates.js

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

Замечание: Чтобы после сохранения вступили в силу изменения стилей, перезагрузите файл //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=styles&skin=vector&*, если используете скин Vector, или //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=styles&skin=common&*, если используете скин Common.

Чтобы вступили в силу изменения скриптов, перезагрузите файл //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=scripts&skin=vector&*, если используете скин Vector, или //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=scripts&skin=common&*, если используете скин Common.

Гаджеты и импортируемые скрипты загружаются отдельными файлами.

// массив букв, которые можно вставлять:

var specialLetter = new Array();

// Русские:
specialLetter['yat'] = new Array('ѣ', '', '');
specialLetter['thita'] = new Array('ѳ', '', '');
specialLetter['izhitsa'] = new Array('ѵ', '', '');
specialLetter['oldrus'] = new Array('{{oldrus|', '', '}}');

// Греческие:
specialLetter['alpha'] = new Array('α', '', '');
specialLetter['beta'] = new Array('β', '', '');
specialLetter['gamma'] = new Array('γ', '', '');
specialLetter['delta'] = new Array('δ', '', '');


// массив шаблонов, которые можно вставлять:

var t = new Array();
t['wikify'] = new Array("{"+"{wikify", "", "}}");
t['stub'] = new Array("{"+"{stub", "", "}}");
t['delete'] = new Array("{"+"{d|причина", "", "}}");
t['vfd'] = new Array("{"+"{vfd|дата", "", "}}");
t['bio-info'] = new Array("{"+"{Персона|\n  ФИО= \n| портрет= dot.png\n| описание= \n| "+
                          "ФИО-оригинал= \n| дата рождения=[[]] [[]] \n| "+
                          "место рождения=[[]], [[]] \n| дата смерти=[[]] [[]] \n| "+
                          "место смерти=[[]], [[]]\n", "", "}}");
t['film-info'] = new Array("{"+"{Фильм"+
"\n| РусНаз      = "+
"\n| ОригНаз     = "+
"\n| Изображение = .jpg"+
"\n| Жанр        = [[]]"+
"\n| Режиссёр    = [[|]]"+
"\n| Продюсер    = [[|]]"+
"\n| Сценарист   = [[|]]"+
"\n| Актёры      = [[|]]<br />[[|]]<br />[[|]]<br />[[|]]"+
"\n| Оператор    = [[|]]"+
"\n| Композитор  = [[|]]"+
"\n| Компания    = [[]]"+
"\n| Бюджет      = 00 млн [[доллар США|$]]"+
"\n| Страна      = [[]]"+
"\n| Время       = 00 мин."+
"\n| Год         = [[0000 год в кино|0000]]"+
"\n| imdb_id     = 0000000"+
"\n", "", "}}");
t['disambig'] = new Array("{"+"{disambig", "", "}}");
t['no iwiki'] = new Array("{"+"{no iwiki", "", "}}");
t['no pics'] = new Array("{"+"{нет иллюстраций", "", "}}");
t['no source'] = new Array("{"+"{нет источника", "", "}}");

// Далее следует JS-обёрнутый HTML-код панели специальных символов.
// Стиль оформления этого кода задаётся на [[MediaWiki:Gadget-QuickTagsAndTemplates.css]]

function addSpecialCharPanelCode() {
   var specialCharRef = mw.config.get( 'wgServer' ) + wgArticlePath.replace("$1", "Традиция:Специальные_символы");
   var specialCharPanelCode = '<tt><a href="' + specialCharRef +
                                          '" title="Традиция:Специальные символы">Символы:</a></tt>'+
'<span id="my-buttons"><tt><small><a href="javascript:insertTags(\'́\', \'\', \'\');" title="ударение">\'</a> '+
'<a href="javascript:insertTags(\'—\', \'\', \'\');" title="тире">&mdash;</a> '+
'<a href="javascript:insertTags(\'\«\', \'\»\', \'\');" '+
'title="кавычки-ёлочки вокруг выделенного текста">«»</a> '+
'<a href="javascript:insertTags(\'…\', \'\', \'\');" title="многоточие">...</a> '+
'<a href="javascript:insertTags(\'°\', \'\', \'\');" title="знак градуса" '+
'style="font-weight: bold;">&deg;</a> '+
'<a href="javascript:insertTags(\'€\', \'\', \'\');" title="знак евро">&euro;</a> '+
'<a href="javascript:insertTags(\'×\', \'\', \'\');" title="знак умножения">&#215;</a> '+
( (typeof edit_aliases === 'undefined')?
'<a href="javascript:insertTags(\'\&amp;nbsp\;\', \'\', \'\');" title="неразрывный пробел">&amp;nbsp;</a> ' :
'<a href="javascript:insertTags(\'\u00B7\', \'\', \'\');" title="видимый неразрывный пробел">\u00B7</a> '
)+
'<a href="javascript:insertTags(\'{{nobr\|\', \'}}\', \'\');" title="шаблон неразрывности">{{nobr|}}</a> '+
'<a href="javascript:insertTags(\'{{тчк}}\', \'\', \'\');" title="точка перед сноскою">{{тчк}}</a> '+
'<a href="javascript:insertTags(\'\[\[\|\', \'\]\]\', \'\');" title="вики-ссылка с описанием">[[|]]</a> '+
'<a href="javascript:insertTags(\'\<ref\>\', \'\<\/ref\>\', \'текст сноски\');" '+
'title="добавить сноску">&darr;</a> '+
'&nbsp;</tt><select id="letter-selector" name="letter-selector" onchange="insertSpecialLetter(this);">' +
'<option value="0">Буквы...</option>' +
'<optgroup label="Русские буквы:">' +
'<option value="yat">Ять (ѣ)</option>' +
'<option value="thita">Фита (ѳ)</option>' +
'<option value="izhitsa">Ижица (ѵ)</option>' +
'</optgroup><optgroup label="Старорусский текст:">' +
'<option value="oldrus">{{oldrus|...}}</option>' +
'</optgroup><optgroup label="Греческие буквы:">' +
'<option value="alpha">Альфа (α)</option>' +
'<option value="beta">Бета (β)</option>' +
'<option value="gamma">Гамма (γ)</option>' +
'<option value="delta">Дельта (δ)</option>' +
'</optgroup></select> '+
'<select id="template-selector" name="template-selector" onchange="insertSpecialStub(this);">' +
'<option value="0">Шаблоны...</option>' +
'<optgroup label="К удалению:">' +
'<option value="delete">Быстрое удаление</option>' +
'<option value="vfd">К удалению</option>' +
'</optgroup><optgroup label="Статус статьи:">' +
'<option value="stub">Заготовка</option>' +
'<option value="disambig">Disambig</option>' +
'</optgroup><optgroup label="Пути доработки:">' +
'<option value="no iwiki">Нет интервики</option>' +
'<option value="no pics">Нет иллюстраций</option>' +
'<option value="no source">Нет источника</option>' +
'<option value="wikify">Викифицировать</option>' +
'</optgroup><optgroup label="Сведения:">' +
'<option value="bio-info">Персона</option>' +
'<option value="film-info">Фильм</option>' +
'</optgroup></select></span><br/>';

   $('#editpage-copywarn').before(
      '<div style="margin: 0; padding: 0;">' + specialCharPanelCode + '</div>'
   );

   $('#specialchars').html('');
}

// Эта функция вставляет букву, выбранную из списка:
function insertSpecialLetter(obj) {
  var id = obj.options[obj.selectedIndex].value; 
  if (id != '0') insertTags(specialLetter[id][0], specialLetter[id][2], specialLetter[id][1]); 
  obj.selectedIndex=0;
}

// Эта функция вставляет стаб, выбранный из списка:
function insertSpecialStub(obj) {
  var id = obj.options[obj.selectedIndex].value; 
  if (id != '0') insertTags(t[id][0], t[id][2], t[id][1]); 
  obj.selectedIndex=0;
}

$(addSpecialCharPanelCode);