MediaWiki:Editpage.js — различия между версиями

Материал из Мегапедии
Перейти к: навигация, поиск
Строка 78: Строка 78:
 
}
 
}
  
 
//call functions
 
addOnloadHook(StandardButtons)
 
addOnloadHook(CustomButtons)
 
addOnloadHook(WikifButton)
 
 
addOnloadHook(SummaryButtons)
 
addOnloadHook(SummaryButtons)
  
 
/* </nowiki></pre> */
 
/* </nowiki></pre> */

Версия 03:08, 26 ноября 2011

/* <pre><nowiki> */

//Script 'Wikificator' from Wikipedia

importScriptURI('http://wikilogia.ru/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript');

mwCustomEditButtons['wikif'] = [function(){Wikify()}, 'http://upload.wikimedia.org/wikipedia/commons/3/38/Button_wikify.png', 'Викификатор — автоматический обработчик текста'];
var _cnt = '#toolbar'

function addCustomButton(i,t,o,c,s){
  mwCustomEditButtons.push({'imageFile':i,'speedTip':t,'tagOpen':o,'tagClose':c, 'sampleText':s})
}

addOnloadHook(function(){
 $('<div id=local-toolbar style="float:left" />').prependTo(_cnt)
 for( var id in mwCustomEditButtons ){
   var b = mwCustomEditButtons[id]
   if( b.length ) createFuncBtn(id, b[0], b[1], b[2])
 }
}) 
 
function createFuncBtn(id, func, img, tip){
 $('<img id="'+id+'" src="'+wgImg(img)+'" style="cursor:pointer" '
     +'title="'+tip+'" alt="'+tip.substr(0,3)+'" />')
  .appendTo('#local-toolbar')
  .click(func)
}
 
addCustomButton('http://upload.wikimedia.org/wikipedia/ru/1/1d/Button_redirect_rus.png','Перенаправление','#REDIRECT [[',']]','Название целевой страницы')
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/3c/Button_cat_ru.png','Категория','[\[Категория:',']]\n','')
addCustomButton('http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png','Комментарий', '<!-- ', ' -->', 'Комментарий')
addCustomButton('http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png','Развёрнутая цитата', '<blockquote>\n','\n</blockquote>','Развёрнутая цитата одним абзацем')
addCustomButton('http://upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png',
 'Вставить таблицу', '{| class="wikitable"\n|', '\n|}', '-\n! заголовок 1\n! заголовок 2\n! заголовок 3\n|-\n| строка 1, ячейка 1\n| строка 1, ячейка 2\n| строка 1, ячейка 3\n|-\n| строка 2, ячейка 1\n| строка 2, ячейка 2\n| строка 2, ячейка 3')
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png','Сноски','<ref>','</ref>','Вставьте сюда текст сноски')
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png','Шаблон «Примечания»','== Примечания ==\n','{{примечания}}','')
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/13/Button_enter.png','Разрыв','<br />','','')
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/a/af/Button_Fractur_OCR.png','Горизонталь','{{ГоризонтальНачало}}\n','\n{{ГоризонтальКонец}}','')

appendCSS('#local-toolbar img {height:20px; background-color:#bce; border:1px outset #bce; margin-right:1px}')
mw.toolbar.buttons[5][3] = '|thumb]]'

//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('обнов.', 'обновлення', 'Обновлены данные')
}

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)

/* </nowiki></pre> */