MediaWiki:Onlyifediting.js
Версия от 23:39, 7 октября 2011; Данил Фоменко (обсуждение | вклад) (Новая страница: «// Edit Tools loader: //Prevent the static edittools from flashing before the compact edittools below is loaded. appendCSS('div.edittools-text { display:none; }'); ...»)
Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
- Opera: Перейдите в Menu → Настройки (Opera → Настройки на Mac), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
// Edit Tools loader:
//Prevent the static edittools from flashing before the compact edittools below is loaded.
appendCSS('div.edittools-text { display:none; }');
addOnloadHook(function () {
// needs to be deferred until the DOM has fully loaded
var placeholder = document.getElementById("editpage-specialchars");
if (!placeholder || window.noDefaultEdittools) {
//Show the static edittools again for users with "window.noDefaultEdittools=true".
appendCSS('div.edittools-text { display:block; }');
return;
}
var match = /(?:^| )edittools-version-(\d+)(?: |$)/.exec(placeholder.className);
// set window.testJsEdittools = true to enable testing before full deployment
if (!match && window.testJsEdittools)
match = /(?:^| )edittools-version-(test\d+)(?: |$)/.exec(placeholder.className);
if (!match) return;
var url = wgScript + '?title=MediaWiki:Edittools.js&action=raw&ctype=text/javascript&nocache=' + match[1];
importScriptURI(url);
});
/* Fixed by Dream */
//Edit Summary buttons
function SummaryButtons(){
var wpSummary = document.getElementById('wpSummary');
if (!wpSummary || (wpSummary.form.wpSection && wpSummary.form.wpSection.value == 'new')) return;
wpSummaryBtn = document.createElement('span'); //global var
wpSummaryBtn.id = 'userSummaryButtonsA';
wpSummary.parentNode.insertBefore(wpSummaryBtn, wpSummary.nextSibling);
wpSummary.parentNode.insertBefore(document.createElement('br'), wpSummary.nextSibling);
addSumButton('викиф.', 'викификация', 'Произведена викификация');
addSumButton('оформл.', 'оформление', 'Улучшено оформление');
addSumButton('стиль', 'стилистические правки', 'Переменён стиль изложения');
addSumButton('орфогр.', 'орфография', 'Поправлена орфография');
addSumButton('опеч.', 'зачистка опечаток', 'Исправлена опечатка');
addSumButton('типогр.', 'типографика', 'Поправлена типографика');
addSumButton('пункт.', 'пунктуация', 'Изменена пунктуация');
addSumButton('сноски', '[[Справка:Сноски|сноски]]', 'Оформлены сноски');
addSumButton('кат.', 'категория', 'Исправлена категоризация');
addSumButton('шаб.', 'шаблон', 'Добавлен / изменён шаблон');
addSumButton('к удал.', 'к удалению', 'Страница предложена к удалению');
addSumButton('доп.', 'дополнение', 'Добавлены новые сведения');
addSumButton('иллюстрация', 'иллюстрация', 'Размещена иллюстрация');
addSumButton('обнов.', 'обновление данных', 'Обновлены устаревшие данные');
addSumButton('семант.', 'семантика', 'Добавлены аннотации');
}
function addSumButton(name, text, title) {
var btn = document.createElement('a');
btn.appendChild(document.createTextNode(name));
btn.title = title;
btn.onclick = function(){insertSummary(text)};
wpSummaryBtn.appendChild(btn);
}
function insertSummary(text) {
var wpSummary = document.getElementById('wpSummary');
if (wpSummary.value.indexOf(text) != -1) return;
if (wpSummary.value.match(/[^,;: \/]$/)) wpSummary.value += ',';
if (wpSummary.value.match(/[^ ]$/)) wpSummary.value += ' ';
wpSummary.value += text;
}
addOnloadHook(SummaryButtons);
/*
</source>
==== Викификатор ====
<source lang="JavaScript">
*/
importScript ("MediaWiki:Wikificator.js");
/*
</source>
==== Дополнительные кнопки на панель инструментов ====
<source lang="JavaScript">
*/
//============================================================
// Extra toolbar options
//============================================================
//********WRITTEN BY User:MarkS********
//This is a modified copy of a script by User:MarkS for extra features added by User:Voice of All.
// This is based on the original code on Wikipedia:Tools/Editing tools
// Новые панели инструментов. Пока закомментирован:
/*
importScript ('MediaWiki:Toolbar'
+ (!window.wgWikiEditorEnabledModules ? 'None' :
(wgWikiEditorEnabledModules.toolbar ? 'New' : 'Old')) + '.js');
*/
// Нижеследующий код, как и код MediaWiki:OnlyIfFormEditing, наверное, надо будет убрать:
function InsertButtonsToToolBar() {
//Перенаправление
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/ru/1/1d/Button_redirect_rus.png",
"speedTip": "Перенаправление",
"tagOpen": "#REDIRECT [[",
"tagClose": "]]",
"sampleText": ""}
//Комментарий
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png",
"speedTip": "Комментарий",
"tagOpen": "<!-- ",
"tagClose": " -->",
"sampleText": "Комментарий"}
//Цитата
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png",
"speedTip": "Развёрнутая цитата",
"tagOpen": "<blockquote>\n",
"tagClose": "\n</blockquote>",
"sampleText": "Развёрнутая цитата одним абзацем"}
//Разделитель
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png",
"speedTip": "Переносит текст на следующую строку,<br />",
"tagOpen": "<br />",
"tagClose": "",
"sampleText": ""}
//Уменьшение
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/en/5/58/Button_small.png",
"speedTip": "Даёт возможность сделать текст маленьким",
"tagOpen": "<small>",
"tagClose": "</small>",
"sampleText": "Малый текст"}
//Зачёркивание
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png",
"speedTip": "Даёт возможность зачеркнуть текст",
"tagOpen": "<s>",
"tagClose": "</s>",
"sampleText": "Зачёркнутый текст"};
//Верхний индекс
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png",
"speedTip": "Даёт возможность поднять текст вверх",
"tagOpen": "<sup>",
"tagClose": "</sup>",
"sampleText": "Поднятый текст"}
//Нижний индекс
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png",
"speedTip": "Даёт возможность опустить текст вниз",
"tagOpen": "<sub>",
"tagClose": "</sub>",
"sampleText": "Опущенный текст"};
//Шаблон
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/commons/3/3b/Button_template_alt.png",
"speedTip": "Даёт возможность заключить текст в шаблон",
"tagOpen": "{{",
"tagClose": "}}",
"sampleText": "Поставить шаблон"};
//Категория
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png",
"speedTip": "Даёт возможность поставить категорию в текст",
"tagOpen": "[[Категория:",
"tagClose": "]]",
"sampleText": "Название категории"};
}
addOnloadHook( InsertButtonsToToolBar );
//============================================================
// Table generator
//============================================================
/**
*
* English: Generate an array using Mediawiki syntax
*
* @author: fr:user:dake (language conversion and new options added by en:user:Voice of All)
* @version: 0.1
*/
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine, exfield, align, padding)
{
var code = "\n";
if (padding==false) padding=0;
else if (padding==true) padding=1;
code += '{| align="' + align + '" class="standard"\n';
code += '|+\n';
for (var i=1;i<nbCol+1;i++) code += '! |Столбец ' + i + '\n';
var items = 0;
for (var j=0;j<nbRow;j++) {
code += '|-----\n'
for (var i=0;i<nbCol;i++) code += '| ячейка\n';
}
code += '|+\n';
code += '|}\n';
insertTags('','', code);
}
/**
*
* English: Open a popup with parameters to generate an array.
* The number of rows/columns can be modified. Some additional
* parameters are related to templates available on :fr
*
* @author: fr:user:dake
* @version: 0.1
*/
function popupTable()
{
var popup = window.open('','name','height=180,width=300,scrollbars=yes');
javaCode = '<script type="text\/javascript">function insertCode(){';
javaCode += 'var row = parseInt(document.paramForm.inputRow.value); '
javaCode += 'var col = parseInt(document.paramForm.inputCol.value); '
javaCode += 'var bord = 0; '
javaCode += 'var styleHeader = false; '
javaCode += 'var styleLine = false; '
javaCode += 'var exfield = false; '
javaCode += 'var align = document.paramForm.inputAlign.value; '
javaCode += 'var padding = false; '
javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine,exfield,align,padding); '
javaCode += "alert('Таблица создана!'); "
javaCode += 'window.close(); '
javaCode += '}<\/script>';
popup.document.write('<html><head><title>Создание таблицы</title>');
popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
popup.document.write(javaCode);
popup.document.write('</head><body>');
popup.document.write('<p>Введите параметры таблицы: </p>');
popup.document.write('<form name="paramForm">');
popup.document.write('Выравнивание: <input type="text" name="inputAlign" value="center" ><p>');
popup.document.write('Количество строк: <input type="text" name="inputRow" value="3" ><p>');
popup.document.write('Количество столбцов: <input type="text" name="inputCol" value="3" ><p>');
popup.document.write('</form">');
popup.document.write('<p><a href="javascript:insertCode()"> Вставить таблицу</a> |');
popup.document.write(' <a href="javascript:self.close()">Отмена (закрыть окно)</a></p>');
popup.document.write('</body></html>');
popup.document.close();
}
//Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags
function marque_tab()
{
// Modified by Alexander Mashin. October 2nd, 2009, to enable edit instruments
// for free text area in forms (action 'editform'):
var textbox = document.getElementById('wpTextbox1');
if (!textbox) {
textbox = document.getElementById('free_text');
if (!textbox) return false;
}
var toolbar = document.getElementById('toolbar');
if (!toolbar) return false;
if (!document.selection && textbox.selectionStart == null)
return false;
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = 'http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
image.border = 0;
image.alt = 'Таблица';
image.title = 'Создать таблицу';
image.style.cursor = "pointer";
image.onclick = function() {
popupTable();
return false;
}
toolbar.appendChild(image);
var image2 = document.createElement("img");
image2.width = 65;
image2.height = 22;
image2.src = 'http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png';
image2.border = 0;
image2.alt = 'Викификатор';
image2.title = 'Викификатор';
image2.style.cursor = "pointer";
image2.onclick = function() {
Wikify();
return false;
}
toolbar.appendChild(image2);
}
addOnloadHook(marque_tab);
//sig reminder
if (wgNamespaceNumber % 2 || wgNamespaceNumber==4)
addOnloadHook(function (){
var cp = document.getElementById('editpage-copywarn')
var wpSave = document.getElementById('wpSave')
if (!cp || !wpSave) return
if (wgNamespaceNumber == 4 &&
(!wgTitle.match('^(Форум[/ ]|Голосования/|Опросы/|Заявки на .*/|Запросы.|Кандидаты в .*/|К (удалению|объединению|переименованию|разделению|улучшению)/|Кандидаты в .*/|Проверка участников/|Вниманию участников)') || wgTitle.match ('/Архив'))) return
var ins = ' <a href=\'javascript:insertTags(" ~~\~~\","","")\'>~~\~~</a>'
cp.innerHTML = 'Не забудьте добавить к вашему сообщению подпись с помощью' + ins
cp.style.padding = '2px'
cp.style.background = '#F7F7F7'
cp.style.border = '1px solid gray'
if (wgUserGroups && wgUserGroups.join().indexOf('autoconfirmed') != -1 && !window.sigWarning) return
//unreg/new users only
var warningDone = false
wpSave.onclick = function(){
try{
if (warningDone || document.editform.wpTextbox1.value.indexOf('~~\~~') >= 0 ) return true
warningDone = true
cp.innerHTML = 'Пожалуйста, <b>подпишитесь</b>, добавив в конце своего сообщения' + ins
+ ' (<a href="' + wgArticlePath.replace(/\$1/, 'Traditio:Подписывайтесь')
+ '" title="(ссылка откроется в новом окне)" target=_blank>подробнее ↗</a>)'//→ ↗
cp.style.background = '#FFD080'
cp.style.border = '1px solid orange'
return false
}catch(e) {return true}
}
})
// русификация кнопок на панели инструментов
addOnloadHook(function(){
if (mwEditButtons.length < 3) return;
mwEditButtons[0].imageFile = 'http://traditio.ru/images/9/9a/Button_boldru.png';
mwEditButtons[1].imageFile = 'http://traditio.ru/images/8/88/Button_italicru.png';
mwEditButtons[2].imageFile = 'http://traditio.ru/images/3/3d/Button_internal_link_ru.png'
})
// END OF Onlyifediting.js