Довідка:Інструменти/Редагування
Частина інформації в цій статті застаріла. |
На цій сторінці розміщені скрипти, що працюють на сторінках редагування.
Панелі редагування ред.
Переміщення панелі кнопок вниз ред.
під область редагування (демо).
addOnloadHook(function(){ var toolbar = document.getElementById('toolbar'); if (!toolbar) return; var copywarn = document.getElementById('editpage-copywarn'); if (!copywarn) return; copywarn.parentNode.insertBefore(toolbar, copywarn); })
Випадаючий список ред.
часто використовуваних шаблонів, при виборі із списку шаблон вставляється в кінець редагованого тексту, а його назва - в опис змін ( демо).
addOnloadHook(function(){ var specialchars = document.getElementById('editpage-specialchars'); if (!specialchars) return; specialchars.innerHTML = '<select onchange=insertSelected(this)>' +'<option>Шаблони</option>' +'<option value="subst:welcome">Welcome</option>' +'<option value="subst:anon">Anon</option>' +'<option value="stub">Stub</option>' // і так далі - доповнюйте самі +'</select>' + specialchars.innerHTML; }); function insertSelected(sel){ if (sel.selectedIndex <= 0) return; var insertion = sel.options[sel.selectedIndex].value; document.editform.wpTextbox1.value += '{'+'{' + insertion + '}}\n'; document.editform.wpSummary.value += insertion; }
Список можна додати і на верхню панель - досить замінити 'editpage-specialchars'
на 'toolbar'
, але при використанні "Переміщення панелі кнопок вниз" він буде там де й панель — знизу
Попередній перегляд ред.
Клавіша миттєвого передперегляду ред.
що генерується оглядачем, тобто фактично MediaWiki → html парсер; зрозуміло, не розгортає шаблони і має інші обмеження (демо, внизу з'явиться кнопка InstaView).
Встановлення:
importScript('User:Pilaf/instaview.js', 'en');
Документація: en:User:Pilaf/InstaView
Кнопка швидкого передперегляду ред.
з використанням AJAX: з сервера запрошується і перемальовувався тільки стаття без перезавантаження всієї сторінки, що економить і час, і трафік.
Встановлення:
importScript('User:Alex_Smotrov/qpreview.js','ru');
Документація: qPreview
Редагування ред.
Швидкий перехід ред.
Швидкий перехід до потрібного місця редагованого вікі-коду з області попереднього перегляду. Джерело: ru:Участник:Alex Smotrov/jump2text.js
var editSearch = new function(){ var txtarea var popup = null var selText = this.onLoad = function(){ var wikiPreview = document.getElementById('wikiPreview') txtarea = document.getElementById('wpTextbox1') if (!wikiPreview || !txtarea) return addEvent(wikiPreview, 'mouseup', editSearch.onMouseUp) } this.onMouseUp = function(e){ hidePopup() if (! (selText = getSelectedText()) ) return selText = selText.replace(/^ +/, "").replace(/ +$/, "") //trim spaces if (selText.length < 1 || txtarea.value.indexOf(selText) == -1) return //empty or not found selection //show popup if (!popup) createPopup() var coords=getMousePos(e || window.event) popup.style.left=coords[0]+5+'px' popup.style.top=coords[1]+10+'px' popup.style.display='block' } this.onGo = function(){ hidePopup() selectInTextArea(selText) } function createPopup(){ popup=document.createElement('div') popup.className = 'popup' popup.title='Найти выделенный текст в окошке редактирования' with (popup.style){ position='absolute'; padding='2px'; border='1px outset gray'; zIndex='50'; backgroundColor='#EEEEEE'; cursor='pointer' } popup.onclick=editSearch.onGo popup.appendChild(document.createTextNode(' ↓ ')) document.body.appendChild(popup) } function hidePopup(){ if (popup) popup.style.display='none' } function selectInTextArea(text){ if (txtarea.setSelectionRange) {//Mozilla/Opera var selPos = txtarea.value.indexOf(text) if (selPos < 0) return txtarea.focus() txtarea.setSelectionRange(selPos, selPos + text.length) //try to scroll texarea next to cursor txtarea.scrollTop = txtarea.scrollHeight * selPos / txtarea.value.length - 50 //try to scroll the window to textarea better if (window.pageYOffset + window.innerHeight < txtarea.offsetHeight + 200) window.scrollTo(0,txtarea.offsetHeight - 50) }else if (txtarea.createTextRange){ //IE var oRange = txtarea.createTextRange() if (oRange.findText(text)) oRange.select() } } }//obj //Common methods function addEvent(obj, event, func) { if (obj.addEventListener) obj.addEventListener( event, func, false ) else if (obj.attachEvent) obj.attachEvent ('on'+event, func) } function getSelectedText(){ if (window.getSelection) return window.getSelection().toString() else if (document.getSelection) return document.getSelection().toString() else if (document.selection && document.selection.createRange) return document.selection.createRange().text else return null } function getMousePos(ev){ var posx = 0, posy = 0 if (ev.pageX) return [ev.pageX, ev.pageY] else if (ev.clientX) return [ev.clientX + document.body.scrollLeft + document.documentElement.scrollLeft, ev.clientY + document.body.scrollTop + document.documentElement.scrollTop] else return null } //load object if (wgAction=='edit' || wgAction=='submit') addOnloadHook(editSearch.onLoad)
Інтервікі ред.
Джерело: en:User:Alex Smotrov/iwiki.js.
Скрипт для зміни вигляду інтервікі та швидкого додавання інтервікі-покликів. Докладніше на en:User talk:Alex Smotrov/iwiki.js
var iwDisplayMode = < „1” або „2”> //якщо ви хочете використовувати модифіковані інтервікі importScript('User:Alex Smotrov/iwiki.js','en')
Підпис ред.
~ Зберегти статтю
Додає кнопку підпису поряд з кнопкою «Зберегти» на потрібних сторінках: тобто на всіх сторінках обговорень і на сторінках Кнайпи Вікіпедії. Нагадує, якщо ви намагаєтеся записати сторінку без підпису.
Встановлення:
importScript('User:Alex_Smotrov/qsig.js','ru');
Документація: qSig
Різне ред.
Виклик Вікіфікатора ред.
Такий скрипт додасть внизу кнопку «Вікіфікатор» (праворуч від кнопки «Показати зміни»). Перед додаванням скрипта Ви можете поміняти для себе текст кнопки або гарячу клавішу виклику.
if (wgAction == 'edit' || wgAction == 'submit') 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); })
Гарячі клавіші у вікні редагування ред.
ru:User:Alex Smotrov/qkeys.js додає можливість використовувати у вікні редагування гарячі клавіші. Наприклад, Alt+- вставляє —, Alt+" вставляє «» (у Firefox 1.5 та IE).--Ahonc (обг.) 17:36, 14 грудня 2007 (UTC)
Опис тут.