Проект:Технические работы/Персональные скрипты/РедактированияПанели редактированияКнопкиB I Ab … … — 11 общих для всех проектов кнопок генерируются Mediawiki-движком. Функция
Ещё четыре кнопки добавляются в местном файле MediaWiki:Editpage.js в другой массив
if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit')
addOnloadHook(function(){
// предлагаемые ниже примеры
// размещаются тут внутри
})
Удаление всех кнопок mwEditButtons = [] //удалить стандартные 11 кнопок
mwCustomEditButtons = [] //удалить кнопки, добавляемые в русской Википедии
mwEditButtons.splice(3, 4) //удалить стандартные кнопки: со 4й по 7ю
// здесь параметры: slice(первая кнопка, сколько подряд удалить)
if (mwEditButtons[5]) //у кнопки «Изображение»
mwEditButtons[5].tagClose = '|thumb]]'; //вместо обычного ']]'
if (mwEditButtons[9]) //у кнопки Подписи
mwEditButtons[9].tagOpen = ' — ~~~~';
Быстрая вставкаПример: добавление div и span в начало панели «быстрой вставки»: function addExtraChars1(){
var block = document.getElementById ('editpage-specialchars');
if (!block) return;
block.innerHTML =
'<a href=\'javascript:insertTags("<div>","</div>","")\'>div</a> ' +
'<a href=\'javascript:insertTags("<span>","</span>","")\'>span</a> ' +
block.innerHTML;
}
addOnloadHook(addExtraChars1);
Пример: добавление [[Участник:]] вместо Copyrightwarning: function addExtraChars2(){
var block = document.getElementById ('editpage-copywarn');
if (!block) return;
block.innerHTML =
'<a href=\'javascript:insertTags("[[Участник:","]]","")\'>div</a> ';
}
addOnloadHook(addExtraChars2);
Пояснения: сперва скрипт находит нужный блок по его id. Зайдите на любую страницу редактирования, посмотрите HTML-код и вы увидите, у каких служебных элементов интерфейса указано
Затем скрипт добавляет ссылки в этот блок
Выпадающий списокБолее сложный пример: добавление в начало панели «быстрой вставки» выпадающего списка шаблонов. При выборе из списка шаблон вставляется в конец редактируемого текста, а его название — в поле описания изменений. function addTemplatesList(){
var block = document.getElementById('editpage-specialchars');
if (!block) return;
block.innerHTML =
'<select onchange=insertSel(this)>'
+'<option>Шаблоны</option>'
+'<option value="subst:welcome">Welcome</option>'
+'<option value="subst:anon">Anon</option>'
+'<option value="stub">Stub</option>' // и т.д. — дополняйте сами
+'</select>' + block.innerHTML;
}
function insertSel(sel){
if (sel.selectedIndex <= 0) return;
var insertion = sel.options[sel.selectedIndex].value;
document.editform.wpTextbox1.value += '{'+'{' + insertion + '}}\n';
document.editform.wpSummary.value += insertion;
}
addOnloadHook(addTemplatesList);
Перемещение панели кнопок внизпод область редактирования addOnloadHook(function(){
var toolbar = document.getElementById('toolbar')
var copywarn = document.getElementById('editpage-copywarn')
if (!toolbar || !copywarn) return
copywarn.parentNode.insertBefore(toolbar, copywarn)
})
РедактированиеРедактируемый текст ↓
Редактируемый текст Быстрый переход в нужное место редактируемого вики-кода из области предпросмотра: скрипт Jump2Text
ПредпросмотрКнопка мгновенного предпросмотра InstaView
генерируемого браузером, т.е. фактически MediaWiki → html парсер; разумеется, не разворачивает шаблоны и имеет другие ограничения: скрипт en:User:Pilaf/InstaView. Установка:
Кнопка быстрого предпросмотра QPreview
с использованием AJAX: с сервера запрашивается и перерисовывается только статья без перезагрузки всей страницы, что экономит и время, и трафик: скрипт qPreview РазноеВызов ВикификатораТакой скрипт добавит внизу кнопку «Викификатор» (справа от кнопки «Внесённые изменения»). Перед добавлением скрипта вы можете поменять для себя текст кнопки или горячую клавишу вызова. addOnloadHook(function(){
var wpDiff = document.getElementById('wpDiff');
if (!wpDiff) return;
newBtn = document.createElement('input');
newBtn.type = 'button';
newBtn.onclick = Wikify;
newBtn.value = 'Викификатор'; //текст кнопки
newBtn.accessKey = 'a'; //горячая клавиша
wpDiff.parentNode.insertBefore(newBtn, wpDiff.nextSibling);
})
Подпись~ Записать страницу Скрипт qSig добавляет кнопку подписи на всех страницах обсуждений и форумов и напоминает, если вы пытаетесь записать страницу без подписи. |
Portal di Ensiklopedia Dunia