Участник:And-r/symbols.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.

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

/* <source lang="javascript">
*/

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

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('&#945;', '', '');
specialLetter['beta'] = new Array('&#946;', '', '');
specialLetter['gamma'] = new Array('&#947;', '', '');
specialLetter['delta'] = new Array('&#948;', '', '');
specialLetter['epsilon'] = new Array('&#949;', '', '');
specialLetter['zeta'] = new Array('&#950;', '', '');
specialLetter['eta'] = new Array('&#951;', '', '');
specialLetter['theta'] = new Array('&#952;', '', '');
specialLetter['iota'] = new Array('&#953;', '', '');
specialLetter['kappa'] = new Array('&#954;', '', '');
specialLetter['lambda'] = new Array('&#955;', '', '');
specialLetter['mu'] = new Array('&#956;', '', '');
specialLetter['nu'] = new Array('&#957;', '', '');
specialLetter['xi'] = new Array('&#958;', '', '');
specialLetter['omikron'] = new Array('&#959;', '', '');
specialLetter['pi'] = new Array('&#960;', '', '');
specialLetter['rho'] = new Array('&#961;', '', '');
specialLetter['sigma'] = new Array('&#963;', '', '');
specialLetter['sigma-end'] = new Array('&#962;', '', '');
specialLetter['tau'] = new Array('&#964;', '', '');
specialLetter['upsilon'] = new Array('&#965;', '', '');
specialLetter['phi'] = new Array('&#966;', '', '');
specialLetter['chi'] = new Array('&#967;', '', '');
specialLetter['psi'] = new Array('&#968;', '', '');
specialLetter['omega'] = new Array('&#969;', '', '');
specialLetter['a-ud'] = new Array('&#940;', '', '');
specialLetter['e-ud'] = new Array('&#941;', '', '');
specialLetter['eta-ud'] = new Array('&#942;', '', '');
specialLetter['i-ud'] = new Array('&#943;', '', '');
specialLetter['o-ud'] = new Array('&#972;', '', '');
specialLetter['u-ud'] = new Array('&#973;', '', '');
specialLetter['omega-ud'] = new Array('&#974;', '', '');
specialLetter['i-um'] = new Array('&#970;', '', '');
specialLetter['u-um'] = new Array('&#971;', '', '');


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

var t = new Array();
t['stub'] = new Array("{"+"{stub", "", "}}");
t['bio-info'] = new Array("{"+"{Персона|\n  ФИО= \n| портрет= dot.png\n| описание= \n| "+
                          "ФИО-оригинал= \n| дата рождения=[[]] [[]] \n| "+
                          "место рождения=[[]], [[]] \n| дата смерти=[[]] [[]] \n| "+
                          "место смерти=[[]], [[]]\n", "", "}}");
t['razdelitel'] = new Array("<FONT style=\"position:relative;top:-5pt\">"+
"\n:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<FONT style=\"position:relative;top:-5pt\">", "", "</FONT></FONT>");
t['pyateritsa'] = new Array("{"+"| class=\"standard\""+
"\n| "+
"\n{| class=\"standard\""+
"\n| width=18pt |"+
"\n| "+
"\n18.<br />"+
"\n<br />"+
"\n<br />"+
"\n| "+
"\n1) <br />"+
"\n2) <br />"+
"\n3) "+
"\n| <font style=\"FONT-SIZE:48px;position:relative;top:-5pt\">{{oldrus|}&#847;}}</FONT>"+
"\n| "+
"\n|}"+
"\n|-----"+
"\n{| class=\"standard\""+
"\n| width=46pt |"+
"\n| 4)<br />"+
"\n5) "+
"\n| <font style=\"FONT-SIZE:68px;position:relative;top:-44pt\">{{oldrus|}&#847;}}</FONT>"+
"\n| <font style=\"position:relative;top:-40pt\"></FONT>"+
"\n|}"+
"\n", "", "|}");
t['no br'] = new Array("{{nobr\|", "", "}}");
t['no source'] = new Array("{"+"{нет источника", "", "}}");


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

function addSpecialCharPanelCode() {
   var specialCharRef = wgServer + wgArticlePath.replace("$1", "Traditio:Специальные_символы");
   var specialCharPanelCode = '<span id="my-buttons"><tt><small>'+
'<a href="javascript:insertTags(\'\[\[Участник:And r\|\&amp;\#8238;<FONT style=\&quot;FONT-SIZE:7px;position:relative;top:-6.5pt;right:31.5pt;z-index:3\&quot;>\&\#215;</FONT><FONT style=\&quot;FONT-SIZE:15px;position:relative;top:-5pt;right:26pt;z-index:4\&quot;>\&\#8853</FONT><FONT color=white style=\&quot;FONT-SIZE:28px;position:relative;top:-2.7pt;right:14.5pt;z-index:2\&quot;>\&\#9679</FONT><FONT color=red style=\&quot;FONT-SIZE:22px;position:relative;top:-7.3pt;z-index:1\&quot;>\&\#9605</FONT> мидаВ\&amp;\#8237;\]\] —\&amp;nbsp;\', \'\', \'\');" title="Подпись">Подп.</a> '+
'<a href="javascript:insertTags(\'\«\', \'\»\', \'\');" '+
'title="Выделите текст и щёлкните, чтобы поставить кавычки-ёлочки">«»</a> '+
'<a href="javascript:insertTags(\'\&amp;\#769\;\', \'\', \'\');" title="Ударение">\́</a> '+
'<a href="javascript:insertTags(\'—\', \'\', \'\');" title="Тире">&mdash;</a> '+
'<a href="javascript:insertTags(\'\&lt\;br \/\>\', \'\', \'\');" title="Перевод строки">\&lt\;br\></a> '+
'<a href="javascript:insertTags(\'\&amp;nbsp\;\', \'\', \'\');" title="Неразрывный пробел">&amp;nbsp</a> '+
'<a href="javascript:insertTags(\'…\', \'\', \'\');" title="Многоточие">...</a> '+
'<a href="javascript:insertTags(\'\[\[\', \'\]\]\', \'\');" title="Внутренняя ссылка">[[]]</a> '+
'<a href="javascript:insertTags(\'\[\[\|\', \'\]\]\', \'\');" title="Ссылка с описанием">[[|]]</a> '+
'<a href="javascript:insertTags(\'\<FONT style=\&quot\;position:relative;left:3pt\&quot\;\>\&nbsp\;\&amp;\#819\;\<\/FONT\>\', \'\', \'\');" title="Двойное подчёркивание начальное" '+
'style="font-weight: bold;">&#819;н</a> '+
'<a href="javascript:insertTags(\'\&amp;\#819\;\', \'\', \'\');" title="Двойное подчёркивание" '+
'style="font-weight: bold;">&nbsp;&#819;</a> '+
'<a href="javascript:insertTags(\'\<FONT style=\&quot\;letter-spacing:-1.5pt\&quot\;\>\', \'\&amp;\#819;\<\/FONT\>\&amp;\#819;\&nbsp;\', \'\');" title="Двойное подчёркивание (заполнить пробел)" '+
'style="font-weight: bold;">&#819;щ&#819;</a> '+
'<a href="javascript:insertTags(\'\<FONT style=\&quot\;position:relative;left:-6pt\&quot\;\>\&nbsp\;\&amp;\#819\;\<\/FONT\>\', \'\', \'\');" title="Двойное подчёркивание концевое" '+
'style="font-weight: bold;">к&#819;</a> '+
'<a href="javascript:insertTags(\'\&amp;\#819;\&amp;\#818;\', \'\', \'\');" title="Тройное подчёркивание" '+
'style="font-weight: bold;">&nbsp;&#819;&#818;</a> '+
'<a href="javascript:insertTags(\'\<FONT style=\&quot\;letter-spacing:-1.5pt\&quot\;\>\', \'\&amp;\#819;\&amp;\#818;\&nbsp;\<\/FONT\>\&amp;\#819;\&amp;\#818;\&nbsp;\', \'\');" title="Тройное подчёркивание (заполнить пробел)" '+
'style="font-weight: bold;">&#819;&#818;щ&#819;&#818;</a> '+
'<a href="javascript:insertTags(\'\<ref\>\', \'\<\/ref\>\', \'текст сноски\');" '+
'title="добавить сноску">&lt;ref&gt;</a> '+
'<a href="javascript:insertTags(\'\<FONT style=&quot;FONT-SIZE:28px;position:relative;top:-2pt&quot;\>{{oldrus\|}\&amp;\#847;}}\<\/FONT\>\', \'\', \'\', \'\');" '+
'title="фигурная скобка для таблицы">}</a> '+
'<a href="javascript:insertTags(\'{{oldrus\|\', \'\}}\', \'день\');" '+
'title="старорусский текст">ѣ</a> '+
'<a href="javascript:insertTags(\'<FONT style=&quot;position:relative;top:-5pt;left:0pt&quot;>\', \'<\/FONT\>\', \'\');" '+
'title="смещение текста">&#9547;</a> '+
'<a href="javascript:insertTags(\'{\|\n\| width=18px \|\n\| &lt;br \/&gt;&lt;br \/&gt;&lt;br \/&gt;\n\| \n\| \', \'\n\|}\', \'\');" '+
'title="простейшая таблица">Tab</a></small>'+
'&nbsp;</tt><select id="letter-selector" name="letter-selector" onchange="insertSpecialLetter(this);">' +
'<option value="0">Буквы...</option>' +
'<optgroup label="Русские">' +
'<option value="oldrus">{{oldrus|...}}</option>' +
'<option value="yat">Ять (ѣ)</option>' +
'<option value="thita">Фита (ѳ)</option>' +
'<option value="izhitsa">Ижица (ѵ)</option>' +
'</optgroup><optgroup label="Греческие">' +
'<option value="alpha">α</option>' +
'<option value="beta">β</option>' +
'<option value="gamma">γ</option>' +
'<option value="delta">δ</option>' +
'<option value="epsilon">ε</option>' +
'<option value="zeta">ζ</option>' +
'<option value="eta">η</option>' +
'<option value="theta">θ</option>' +
'<option value="iota">ι</option>' +
'<option value="kappa">κ</option>' +
'<option value="lambda">λ</option>' +
'<option value="mu">μ</option>' +
'<option value="nu">ν</option>' +
'<option value="xi">ξ</option>' +
'<option value="omikron">ο</option>' +
'<option value="pi">π</option>' +
'<option value="rho">ρ</option>' +
'<option value="sigma">σ</option>' +
'<option value="sigma-end">ς</option>' +
'<option value="tau">τ</option>' +
'<option value="upsilon">υ</option>' +
'<option value="phi">φ</option>' +
'<option value="chi">χ</option>' +
'<option value="psi">ψ</option>' +
'<option value="omega">ω</option>' +
'<option value="a-ud">ά</option>' +
'<option value="e-ud">έ</option>' +
'<option value="eta-ud">ή</option>' +
'<option value="i-ud">ί</option>' +
'<option value="o-ud">ό</option>' +
'<option value="u-ud">ύ</option>' +
'<option value="omega-ud">ώ</option>' +
'<option value="i-um">ϊ</option>' +
'<option value="u-um">ϋ</option>' +
'</optgroup></select> '+
'<select id="template-selector" name="template-selector" onchange="insertSpecialStub(this);">' +
'<option value="0">Шаблоны...</option>' +
'<option value="pyateritsa">Таблица</option>' +
'<option value="razdelitel">Разделитель</option>' +
'<option value="no br">nobr</option>' +
'</optgroup><optgroup label="Статус статьи:">' +
'<option value="stub">Заготовка</option>' +
'</optgroup><optgroup label="Пути доработки:">' +
'<option value="no source">Нет источника</option>' +
'</optgroup><optgroup label="Сведения:">' +
'<option value="bio-info">Персона</option>' +
'</optgroup></select></span><br/>';

   var modifContent = document.getElementById('editpage-copywarn');
   if (modifContent) {
      var specialCharPanelCodeElement = document.createElement('div');
      specialCharPanelCodeElement.style.padding = '0';
      specialCharPanelCodeElement.style.margin = '0';
      specialCharPanelCodeElement.innerHTML = specialCharPanelCode;

      modifContent.insertBefore(specialCharPanelCodeElement, modifContent.firstChild);
   } 

   oldSel = document.getElementById('specialchars');
   if (oldSel) oldSel.innerHTML = '';
}



// Эта функция вставляет букву, выбранную из списка:
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;
}

addLoadEvent(addSpecialCharPanelCode);

/* </source> */