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

Материал из Мегапедии
Перейти к: навигация, поиск
 
(не показана 31 промежуточная версия 3 участников)
Строка 3: Строка 3:
 
//Script 'Wikificator' from Wikipedia
 
//Script 'Wikificator' from Wikipedia
  
importScriptURI('http://wikilogia.ru/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript')
+
importScriptURI('http://novopedia.net/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript');
 +
mwCustomEditButtons['wikif'] = [function(){Wikify()}, '//upload.wikimedia.org/wikipedia/commons/3/38/Button_wikify.png', 'Викификатор — автоматический обработчик текста'];
 +
var _cnt = '#toolbar'
  
 
+
function addCustomButton(i,t,o,c,s){
//Toolbar buttons
+
  mwCustomEditButtons.push({'imageFile':i,'speedTip':t,'tagOpen':o,'tagClose':c, 'sampleText':s})
 
 
function StandardButtons(){
 
if (mwEditButtons.length < 6) return
 
mwEditButtons[5].tagClose = '|thumb]]'
 
}
 
 
 
function addFuncButton(img, tip, func){
 
var toolbar = document.getElementById('toolbar')
 
if (!toolbar) return
 
var i = document.createElement('img')
 
i.src = img
 
i.alt = tip;  i.title = tip
 
i.onclick = func
 
i.style.cursor = 'pointer'
 
toolbar.appendChild(i)
 
 
}
 
}
  
 
+
addOnloadHook(function(){
//Toolbar buttons
+
  $('<div id=local-toolbar style="float:left" />').prependTo(_cnt)
 
+
  for( var id in mwCustomEditButtons ){
function StandardButtons(){
+
  var b = mwCustomEditButtons[id]
  if (mwEditButtons.length < 6) return
+
   if( b.length ) createFuncBtn(id, b[0], b[1], b[2])
mwEditButtons[5].tagClose = '|thumb]]'
+
}
}
+
})
 
+
 
+
function createFuncBtn(id, func, img, tip){
function CustomButtons(){
+
  $('<img id="'+id+'" src="'+img+'" style="cursor:pointer" '
addCustomButton('http://upload.wikimedia.org/wikipedia/ru/1/1d/Button_redirect_rus.png', 'Перенаправление','#REDIRECT [[',']]','название страницы')
+
    +'title="'+tip+'" alt="'+tip.substr(0,3)+'" />')
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/3c/Button_cat_ru.png','Категория','[[Категория:',']]','');
+
  .appendTo('#local-toolbar')
addCustomButton('http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png', 'Комментарий', '<!-- ', ' -->', 'Комментарий')
+
  .click(func)
  addCustomButton('http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png', 'Развёрнутая цитата', '<blockquote>', '</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')
 
//Сноски
 
mwCustomEditButtons[mwCustomEditButtons.length] = {
 
   "imageFile": "http://upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png",
 
    "speedTip": "Сноски",
 
    "tagOpen": "<ref>",
 
    "tagClose": "</ref>",  
 
    "sampleText": ""}
 
mwCustomEditButtons[mwCustomEditButtons.length] = {
 
  "imageFile": "http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png",
 
    "speedTip": "Шаблон «Примечания»",  
 
    "tagOpen": "== Примечания ==\n",
 
    "tagClose": "{{примечания}}",
 
    "sampleText": ""}
 
mwCustomEditButtons[mwCustomEditButtons.length] = {
 
    "imageFile": "http://upload.wikimedia.org/wikipedia/commons/1/13/Button_enter.png",
 
    "speedTip": "Разрыв",
 
    "tagOpen": "<br />",
 
    "tagClose": "",
 
    "sampleText": ""}
 
mwCustomEditButtons[mwCustomEditButtons.length] = {
 
    "imageFile": "http://upload.wikimedia.org/wikipedia/commons/a/af/Button_Fractur_OCR.png",
 
    "speedTip": "Горизонталь",
 
    "tagOpen": "{{ГоризонтальНачало}}\n",
 
    "tagClose": "\n{{ГоризонтальКонец}}",
 
    "sampleText": ""}
 
}
 
 
 
function addCustomButton(img, tip, open, close, sample){
 
  mwCustomEditButtons[mwCustomEditButtons.length] =
 
  {'imageFile':img, 'speedTip':tip, 'tagOpen':open, 'tagClose':close, 'sampleText':sample}
 
}
 
 
 
 
 
function WikifButton(){
 
var t = document.getElementById('wpTextbox1')
 
if (!t || (!document.selection && t.selectionStart == null)) return
 
addFuncButton('http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png', 'Викификатор', Wikify)
 
}
 
 
 
function addFuncButton(img, tip, func){
 
var toolbar = document.getElementById('toolbar')
 
if (!toolbar) return
 
var i = document.createElement('img')
 
i.src = img
 
i.alt = tip;  i.title = tip
 
i.onclick = func
 
i.style.cursor = 'pointer'
 
toolbar.appendChild(i)
 
 
}
 
}
 +
 +
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  
 
//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
 
}
 
 
 
//call functions
 
addOnloadHook(StandardButtons)
 
addOnloadHook(CustomButtons)
 
addOnloadHook(WikifButton)
 
addOnloadHook(SummaryButtons)
 
 
//Summary buttons
 
 
function addSumButton(name, text) {
 
function addSumButton(name, text) {
 
  $('<a title="'+text+'">'+name+'</a>').click(insertSummary).appendTo(wpSummaryButtons)
 
  $('<a title="'+text+'">'+name+'</a>').click(insertSummary).appendTo(wpSummaryButtons)
 
}
 
}
 +
 
function insertSummary() {
 
function insertSummary() {
 
  var text = this.title, sum = $('#wpSummary'), vv = sum.val()
 
  var text = this.title, sum = $('#wpSummary'), vv = sum.val()
  if (vv.indexOf(text) != -1) return  
+
  if (vv.indexOf(text) != -1) return
 
  if (/[^,; \/]$/.test(vv)) vv += ','
 
  if (/[^,; \/]$/.test(vv)) vv += ','
 
  if (/[^ ]$/.test(vv)) vv += ' '
 
  if (/[^ ]$/.test(vv)) vv += ' '
Строка 151: Строка 58:
 
  if (!sum || (sum.form.wpSection && sum.form.wpSection.value == 'new')) return
 
  if (!sum || (sum.form.wpSection && sum.form.wpSection.value == 'new')) return
 
  appendCSS('\
 
  appendCSS('\
  #userSummaryButtonsA a {background:#ffe4e1; border:1px solid #2f4f4f; padding:0 2px; margin:0 2px;\
+
  #userSummaryButtonsA a {background:yellow; border:1px solid #adf; padding:0 2px; margin:0 2px;\
 
   cursor:pointer; font-size:80%; color:#666}\
 
   cursor:pointer; font-size:80%; color:#666}\
  #userSummaryButtonsA a:hover {background:#bdf; color:black; text-decoration:none}')
+
  #userSummaryButtonsA a:hover {background:#4fdaa1; color:black; text-decoration:none}')
 
  wpSummaryButtons = $('<div id=userSummaryButtonsA />').insertAfter(sum) //global var
 
  wpSummaryButtons = $('<div id=userSummaryButtonsA />').insertAfter(sum) //global var
  var ss = ['типогр.афика', 'оформл.ення', 'стил.истика', 'орфогр.афия', 'пункт.уация', 'кат.егория', 'шаб.лон', 'карт.инка', 'доп.овнення',
+
  var ss = ['типогр.афика', 'оформл.ение', 'стил.истика', 'орфогр.афия', 'пункт.уация',
'обнов.лення']
+
'кат.егория', 'шаб.лон', 'доп.олнения', 'карт.инка', 'обнов.ление', 'комм.ентарий']
 
  for (var i=0; i<ss.length; i++)
 
  for (var i=0; i<ss.length; i++)
 
   addSumButton(ss[i].replace(/\..*/,''), ss[i].replace(/\./,''))
 
   addSumButton(ss[i].replace(/\..*/,''), ss[i].replace(/\./,''))
 
}
 
}
 +
 +
summaryButtons()
 +
 
/* </nowiki></pre> */
 
/* </nowiki></pre> */

Текущая версия на 09:09, 3 мая 2013

/* <pre><nowiki> */

//Script 'Wikificator' from Wikipedia

importScriptURI('http://novopedia.net/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript');
mwCustomEditButtons['wikif'] = [function(){Wikify()}, '//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="'+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 addSumButton(name, text) {
 $('<a title="'+text+'">'+name+'</a>').click(insertSummary).appendTo(wpSummaryButtons)
}

function insertSummary() {
 var text = this.title, sum = $('#wpSummary'), vv = sum.val()
 if (vv.indexOf(text) != -1) return
 if (/[^,; \/]$/.test(vv)) vv += ','
 if (/[^ ]$/.test(vv)) vv += ' '
 sum.val(vv + text)
}
 
function summaryButtons(){
 var sum = document.getElementById('wpSummary')
 if (!sum || (sum.form.wpSection && sum.form.wpSection.value == 'new')) return
 appendCSS('\
 #userSummaryButtonsA a {background:yellow; border:1px solid #adf; padding:0 2px; margin:0 2px;\
  cursor:pointer; font-size:80%; color:#666}\
 #userSummaryButtonsA a:hover {background:#4fdaa1; color:black; text-decoration:none}')
 wpSummaryButtons = $('<div id=userSummaryButtonsA />').insertAfter(sum) //global var
 var ss = ['типогр.афика', 'оформл.ение', 'стил.истика', 'орфогр.афия', 'пункт.уация',
 'кат.егория', 'шаб.лон', 'доп.олнения', 'карт.инка', 'обнов.ление', 'комм.ентарий']
 for (var i=0; i<ss.length; i++)
   addSumButton(ss[i].replace(/\..*/,''), ss[i].replace(/\./,''))
}

summaryButtons()

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