Довідка:Інструменти/Редагування
На цій сторінці розміщені скрипти, що працюють на сторінках редагування. Панелі редагуванняПереміщення панелі кнопок внизпід область редагування (демо). 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; } Список можна додати і на верхню панель - досить замінити Попередній переглядКлавіша миттєвого передперегляду InstaView
що генерується оглядачем, тобто фактично MediaWiki → html парсер; зрозуміло, не розгортає шаблони і має інші обмеження (демо, внизу з'явиться кнопка InstaView). Встановлення: importScript('User:Pilaf/instaview.js', 'en'); Документація: en:User:Pilaf/InstaView Кнопка швидкого передперегляду QPreview
з використанням 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) Опис тут. |