Участник:Berserkerus/monobook.js
Перейти к навигации
Перейти к поиску
Страница персонального оформления. JS-код ниже относится к теме оформления «MonoBook». CSS-файл для этой темы: Участник:Berserkerus/monobook.css.
После сохранения очистите кэш браузера.
После сохранения очистите кэш браузера.
importScript('Участник:X-romix/compare2texts.js');
//Скрипт для викификации слова
importScript('Участник:X-romix/wordwikify.js');
document.write('<script type="text/javascript" src="'
+ 'http://ru.wikipedia.org/w/index.php?title=MediaWiki:Oldspecialchars.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
if ((mw.config.get('wgNamespaceNumber') % 2 || mw.config.get('wgNamespaceNumber')==4)
&& document.URL.match(/&action=(edit|submit)/))
$(function(){
var wpSave = document.getElementById('wpSave');
if (!wpSave) return;
if (window.sigText) //change normal sig button as well
mwEditButtons[9].tagOpen = sigText;
else
sigText = '//~~\~ <small>~~\~~\~</small>';
//create button
var btn = document.createElement('input');
btn.type='button'; btn.value = '~';
btn.onclick = function(){ insertTags(sigText,'','') };
btn.style.marginRight = '4px';
btn.title = 'Put your signature';
if (window.sigAccessKey){
btn.accessKey = sigAccessKey;
btn.title += ' [' + tooltipAccessKeyPrefix + btn.accessKey + ']';
}
wpSave.parentNode.insertBefore(btn, wpSave);
//if namespace is 'Project' ('Wikipedia:…') then put Sig after Save except for Forum pages
if ( ( mw.config.get('wgNamespaceNumber') == 4 )
&& ( !mw.config.get('wgTitle').match('^(Форум[/ ]|Голосования/|Опросы/|Заявки на .*/|Запросы.|Кандидаты в .*/|К (удалению|объединению|переименованию|разделению|улучшению)/|Кандидаты в .*/|Проверка участников/|Вниманию участников)') || mw.config.get('wgTitle').match ('/Архив') ) )
{
wpSave.parentNode.insertBefore(btn, wpSave.nextSibling);
return; //avoid warning below
}
//warn if saving without signature
wpSave.onclick = function(){
if (document.editform.wpTextbox1.value.indexOf('~~\~') >= 0 )
return true;
else
return confirm('Без подписи?');
}
})
//// from Участник:Морган/monobook.js mod3
function addTemplatesList(){
var block = document.getElementById('editpage-specialchars');
if (!block) return;
block.innerHTML =
'<select onchange=insertSel567(this)>'
+'<option>Шаблоны</option>'
+'<option value="копивио|url=">Подозрение в нарушении авторских прав на часть материала статьи</option>'
+'<option value="уд-копивио|url=">Нарушение авторских прав при создании статьи</option>'
+'<option value="уд-бессвязно">Бессвязное содержимое</option>'
+'<option value="уд-тест">Кто-то что-то тестировал</option>'
+'<option value="уд-пусто">Статья очень-очень пустая, и не содержит даже определения</option>'
+'<option value="rq|cat|check|cleanup|iwiki|linkless|stub|style|sources|wikify">RQ</option>'
+'<option value="subst:afi">ВП:КУЛ</option>'
+'<option value="nbsp">nbsp</option>'
+'</select>' + block.innerHTML;
}
function insertSel567(sel){
if (sel.selectedIndex <= 0) return;
var sumins=' ';
var insertion = sel.options[sel.selectedIndex].value;
if (sel.selectedIndex == 8)
{
insertTags(' ','','');
return;
}
else
{
insertTags("{" + "{" + insertion + "}}",'','');
}
document.editform.wpMinoredit.checked = false;
if (insertion=='db-copyvio|url=') {
sumins='db-copyvio';}
else if (insertion=='копивио|url=') {sumins='Подозрение в нарушении авторских прав на часть материала статьи;';}
else if (insertion=='уд-копивио|url=') {sumins='Нарушение авторских прав при создании статьи;';}
else if (insertion=='уд-бессвязно') {sumins='Недопустимая бессвязность содержания статьи;';}
else if (insertion=='уд-тест') {sumins='Вероятно, кто-то что-то пробывал;';}
else if (insertion=='уд-пусто') {sumins='Статья очень-очень пустая;';}
else if (insertion=='subst:afi') {sumins='Статья требует срочного улучшения, во избежании удаления;';}
else if (insertion=='rq|cat|check|cleanup|iwiki|linkless|stub|style|sources|wikify') {sumins='Базовые требования по улучшению качества;';}
else {sumins=insertion;}
document.editform.wpSummary.value += sumins;
return;
}
$(addTemplatesList);
//Скрипт для перевода текста в нижний регистр
//Скрипт редактирования для Википедии. Переводит выделенный фрагмент текста в нижний регистр.
//Часть кода позаимствована из http://ru.wikipedia.org/wiki/MediaWiki:Wikificator.js
//Автор: X-romix
var XRomix_LowerCase_CantWork = 'Перевод в нижний регистр не может работать в вашем браузере.\n\nLowerCase script cannot work in your browser' // английский текст для тех, кто не видит русские буквы
var XRomix_LowerCase_FullText = 'Сначала выделите текст. Эта функция переводит выделенный текст в нижний регистр';
//Добавляет кнопку
function add_XRomix_LowerCase_Button(){
var toolbar = document.getElementById('toolbar')
var textbox = document.getElementById('wpTextbox1')
if (!textbox || !toolbar) return
var i = document.createElement('img')
i.src = 'http://upload.wikimedia.org/wikipedia/ru/b/b3/Button-LowerCase.PNG'
i.alt = i.title = 'Перевод текста в нижний регистр'
i.onclick = XRomix_LowerCase
i.style.cursor = 'pointer'
toolbar.appendChild(i)
}
//Этот код выполняется в начале.
if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit'){
addOnloadHook(add_XRomix_LowerCase_Button)
}
//Функция для оформления таблицы
function XRomix_LowerCase(){
var txt, hidden = [], hidIdx = 0, wpTextbox1 = document.editform.wpTextbox1
var winScroll = document.documentElement.scrollTop //remember window scroll
wpTextbox1.focus()
if (typeof wpTextbox1.selectionStart != 'undefined'
&& (navigator.productSub > 20031000 || is_safari)) { //Mozilla/Opera/Safari3
var textScroll = wpTextbox1.scrollTop
var startPos = wpTextbox1.selectionStart
var endPos = wpTextbox1.selectionEnd
txt = wpTextbox1.value.substring(startPos, endPos)
if (txt == '') {alert(XRomix_LowerCase_FullText); ShowHelp(); return}
else{
processText()
wpTextbox1.value = wpTextbox1.value.substring(0, startPos) + txt + wpTextbox1.value.substring(endPos)
}
wpTextbox1.selectionStart = startPos
wpTextbox1.selectionEnd = startPos + txt.length
wpTextbox1.scrollTop = textScroll
}else if (document.selection && document.selection.createRange) { //IE
//alert("IE");
var range = document.selection.createRange()
txt = range.text
if (txt == '') {alert(XRomix_LowerCase_FullText); ShowHelp(); return}
else{
processText()
range.text = txt
//if (!window.opera) txt = txt.replace(/\r/g,'')
if (range.moveStart) range.moveStart('character', - txt.length)
range.select()
}
}else // Для браузеров, которые не умеют возвращать выделенный фрагмент, выдаем ошибку
{ alert(XRomix_LowerCase_CantWork); return }
document.documentElement.scrollTop = winScroll // scroll back, for IE/Opera
//Здесь производим замену в переменной txt - это отразится на выделенном фрагменте текста
function processText(){
var upper="ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁQWERTYUIOPASDFGHJKLZXCVBNM";
var lower="йцукенгшщзхъфывапролджэячсмитьбюёqwertyuiopasdfghjklzxcvbnm";
var s="";
var c1="";
for (var i=0; i<txt.length; i++){
var c=txt.charAt(i); //берем один символ из строки
pos= upper.indexOf(c);
if (pos!=-1){
c1=lower.charAt(pos);
}else{
c1=c;
}
s=s+c1;
}
txt=s;
}
}
setModifySectionStyle = function()
{
try {
if (!(typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false)) return;
var spans = document.getElementsByTagName("span");
for (var s = 1; s < spans.length; ++s) {
var span = spans[s];
if (span.className == "editsection") {
span.style.fontSize = "x-small";
span.style.fontWeight = "normal";
span.style.cssFloat = span.style.styleFloat = "none";
span.style.marginLeft = "0px";
span.parentNode.appendChild(document.createTextNode(" "));
span.parentNode.appendChild(span);
}
}
} catch (e) { /* что-то не так */ }
}
addOnloadHook(setModifySectionStyle);