ФЭНДОМ


Авто-обновление страницы вики-активностиПравить

var	ajaxIndicator = 'http://images.wikia.com/dev/images/8/82/Facebook_throbber.gif',
	ajaxTimer,
	ajaxRefresh = 60000,
	refreshText = 'Авто-Обновление',
	refreshHover = 'Включить авто-обновление страницы',
	doRefresh = true;
 
if ( !window.ajaxPages ) {
	var ajaxPages = new Array ("Служебная:RecentChanges", "Служебная:WikiActivity", "Служебная:NewFiles");
}
if ( !window.ajaxCallAgain ) {
	var ajaxCallAgain = [];
}
if( typeof AjaxRCRefreshText == "string" ) {
	refreshText = AjaxRCRefreshText;
}
if( typeof AjaxRCRefreshHoverText == "string" ) {
	refreshHover = AjaxRCRefreshHoverText;
}

Кнопка "purge"Править

importScriptPage( 'PurgeButton/code.js', 'dev' ); // Кнопка очистки кэша страницы
var PurgeButtonText = 'Обновить';

Изображения в профайлахПравить

var img =  {};
img["Jormun"] = ['<img src="http://images.wikia.com/elderscrolls/ru/images/9/9a/Odaviing_profile.png?uselang=ru" width="250px" height="150px">'];
if (typeof img[wgTitle] != "undefined") {
$('<div style="position:absolute; left:580px; top: 53px;">' + img[wgTitle] + '</div>').appendTo('.masthead-info');
}

ВикификаторПравить

function addWikifButton() {
        var toolbar = document.getElementById('toolbar')
        if (!toolbar) return
        var i = document.createElement('img')
        i.src = 'http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png'
        i.alt = i.title = 'викификатор'
        i.onclick = Wikify
        i.style.cursor = 'pointer'
        toolbar.appendChild(i)
}
if (wgAction == 'edit' || wgAction == 'submit') {
        importScriptURI('http://ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript')
        addOnloadHook(addWikifButton)
}

Стандартное описание правокПравить

//вызов функции вставки кнопок быстрого описания правки при загрузке страницы
addOnloadHook(SummaryButtons)
//список кнопок
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'
// +Рекомендация
var wpSummaryBtnRec = document.createElement('i');
wpSummaryBtnRec.appendChild(document.createTextNode('Пожалуйста, если вы не  торопитесь, опишите вашу правку:'));
wpSummaryBtnRec.appendChild(document.createElement('br'));
wpSummaryBtn.appendChild(wpSummaryBtnRec);
 
wpSummary.parentNode.insertBefore(wpSummaryBtn, wpSummary.nextSibling);
wpSummary.parentNode.insertBefore(document.createElement('br'),  wpSummary.nextSibling);
addSumButton('новости', 'новости', 'Учтены последние новости');
addSumButton('викификация', 'викификация', 'Произведена викификация');
addSumButton('частичная викификация', 'частичная викификация', 'Была нажата одна  кнопочка');
addSumButton('правила', 'правила', 'Согласно правил');
addSumButton('оформление', 'оформление', 'Оформление');
addSumButton('стиль', 'стилевые правки', 'Стилевые правки');
addSumButton('грамматика', 'грамматика', 'Поправлена орфография/пунктуация');
addSumButton('категоризация', 'категоризация', 'Изменены/добавлены категории');
addSumButton('шаблон', 'шаблон', 'Добавлен/изменён шаблон');
addSumButton('дополнение', 'дополнение', 'Добавлены новые сведения');
addSumButton('уточнение', 'уточнение', 'Уточнение');
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);
wpSummaryBtn.appendChild(document.createTextNode(' '));
}
//код вставки описания
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
}

Кнопка "Наверх"Править

//Created by Noemon from Dead Space Wiki, translate from ru.elderscrolls.wikia
 
function hideFade () {
	// hide #backtotop first
	$( "#backtotop" ).hide ();
	// fade in #backtotop
	$( function () {
		$( window ).scroll( function () {
			if ( $( this ).scrollTop () > ButtonStart ) {
				$( '#backtotop' ).fadeIn ();
			} else {
				$( '#backtotop' ).fadeOut ();
			}
		});
	});
}
 
function goToTop (){
	// scroll body to 0px on click
	$( 'body,html' ).animate ({
		scrollTop: 0
	}, ScrollSpeed );
	return false;
}
 
function addBackToTop () {
	if( skin == 'oasis' ) {
		$('<li id="backtotop" style="position: absolute; right:20px; top:0px; border:none;"><button type="button" value="Наверх" onClick="goToTop();">Наверх</button></li>').appendTo('#WikiaBarWrapper .toolbar > .tools');	
		hideFade ();
	}	
}
 
var ButtonStart = 800;
var ScrollSpeed = 600;
 
if( !window.BackToTop  ) {
	$( document ).ready( function () { 
		addBackToTop (); 
	});
}
var BackToTop = true; // prevent duplication

Рандомный фонПравить

/* "Случайный" фон для вики */
 
function randomBack () {
    var opts = [ /* тут вставляем url адреса фоновых картинок, берём их в кавычки и проставляем через запятую */];
 
	if (wgPageName=='Main_Page') {
		$('body').css('background-image','url(' + opts[0] + ')');
		$('body').css('background-size','120%'); 
	}
	else
		$('body').css('background-image','url(' + opts[Math.floor((opts.length-1)*Math.random()+1)] + ')'); 
}
 
$(randomBack)

Сворачивающаяся галереяПравить

<div = HiddenGallery>{{{1}}}</div>

var showCount = 9;
$('.wikia-gallery').each(function () {
    if (($(this).children().size() + 2) > showCount) {
        var CurrentGallery = $(this);
        $(this).children('.wikia-gallery-item').slice(showCount).hide();
        $(this).children('.wikia-gallery-item').last().after($('<center><button class="wikia-button">Показать/скрыть</button><br></center>').click(function () {
            CurrentGallery.children('.wikia-gallery-item').slice(showCount).slideToggle('slow');
        }));
    }
});

Табличка у участника на профайлеПравить

// Код написан: Rappy_4187 для elderscrolls.
 
$(function() {
 var rights = {};
 
 rights["имя участника"]                     = ["текст"];
 
 if (typeof rights[wgTitle] != "undefined") {
 
      // remove old rights
      $('.UserProfileMasthead .masthead-info span.tag').remove();
 
      for( var i=0, len=rights[wgTitle].length; i < len; i++) {
 
        // add new rights
        $('<span class="tag">' + rights[wgTitle][i] +
          '</span>').appendTo('.masthead-info hgroup');
      }
    }
 
});

Картинка в профайлПравить

var img =  {};
img["имя участника"] = ['<img src="адрес картинки" width="110px" height="150px">'];
if (typeof img[wgTitle] != "undefined") {
$('<div style="position:absolute; left:630px; top: 38px;">' + img[wgTitle] + '</div>').appendTo('.masthead-info');
}

ЧасыПравить

var refreshDate;
 
function showTime() {
        var    now = new Date(),
                hh = now.getHours(),
                mm = now.getMinutes(),
                ss = now.getSeconds(),
                time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss );
    $('#showdate').empty().append('<span class="barDate" style="text-transform: uppercase;"><a style="color:#FFF;font-family:\'Futura\', \'Gill Sans\', \'Helvetica Neue\',\'Trebuchet MS\', sans-serif" title="Purge the server cache and update the contents of this page." href="' + wgArticlePath.replace('$1', wgPageName.replace(/ /g, '_')) + '?action=purge">' + time + '</a></span>');
    window.clearTimeout(refreshDate);
    refreshDate = window.setTimeout(showTime, 1000);
}
 
$(document).ready(function() {
    if (skin == 'oasis') 
        $('<li id="displayTimer"><span id="showdate"></span></li>').appendTo('#AccountNavigation');
    else
        $('#p-personal ul').prepend('<li><span id="showdate"></span></li>');
    showTime();
    refreshDate = window.setTimeout(showTime, 1000);
    $('#displayTimer').css({ color: '#FFF', fontWeight: 'normal', fontSize: '10px', letterSpacing: '2px', marginLeft: '3px' })
});
 
 Effects:
importArticle({
 type: "script",
 articles: [
 "MediaWiki:Snow.js"
],
});


Таймер Править

// Таймер
// *****************************************************
// * Experimental javascript countdown timer (Splarka) *
// *  Version 0.0.3 *
// *****************************************************
//
// Usage example:
// <span class="countdown" style="display:none;">
// Only <span class="countdowndate">January 01 2007 00:00:00 PST</span> until New   years.
// </span>
// <span class="nocountdown">Javascript disabled.</span>
function updatetimer(i) {
    var now = new Date();
    var then = timers[i].eventdate;
    var diff = count = Math.floor((then.getTime() - now.getTime()) / 1000);
 
    // catch bad date strings
    if (isNaN(diff)) {
       timers[i].firstChild.nodeValue = '** ' + timers[i].eventdate + ' **';
       return;
    }
 
    // determine plus/minus
   if (diff < 0) {
       diff = -diff;
       var tpm = '';''
 
   } else {
       var tpm = '';''
 
   }
 
   // Calculate the diff - Modified by Eladkse
   if ((diff % 60) == 1) {
       left = (diff % 60) + ' секунды';
   } else {
       left = (diff % 60) + ' секунда';
   }
   diff = Math.floor(diff / 60);
   if (diff > 0) {
       if ((diff % 60) == 1) {
           left = (diff % 60) + ' минута, и ' + left;
       } else {
           left = (diff % 60) + ' минут, и ' + left;
       }
   }
   diff = Math.floor(diff / 60);
   if (diff > 0) {
      if ((diff % 24) == 1) {
           left = (diff % 24) + ' час, ' + left;
       } else {
           left = (diff % 24) + ' часов, ' + left;
       }
   }
   diff = Math.floor(diff / 24);
   if (diff > 0) {
       if (diff == 1) {
           left = diff + ' день, ' + left;
       } else {
           left = diff + ' дней, ' + left;
       }
   }
   timers[i].firstChild.nodeValue = tpm + left;
 
   // a setInterval() is more efficient, but calling setTimeout()
   // makes errors break the script rather than infinitely recurse
   timeouts[i] = setTimeout('updatetimer(' + i + ')', 1000);
}
function checktimers() {
   //hide 'nocountdown' and show 'countdown'
   var nocountdowns = getElementsByClassName(document, 'span', 'nocountdown');
   for (var i in nocountdowns) nocountdowns[i].style.display = 'none'
   var countdowns = getElementsByClassName(document, 'span', 'countdown');
   for (var i in countdowns) countdowns[i].style.display = 'inline'
 
   //set up global objects timers and timeouts.
   timers = getElementsByClassName(document, 'span', 'countdowndate'); //global
   timeouts = new Array(); // generic holder for the timeouts, global
   if (timers.length == 0) return;
   for (var i in timers) {
       timers[i].eventdate = new Date(timers[i].firstChild.nodeValue);
       updatetimer(i); //start it up
   }
}
addOnloadHook(checktimers);

Сложный таймер Править

//Сложный таймер
importArticles({
   type: "script",
   articles: ["w:c:ru.sword-art-online:MediaWiki:RepeatableTimer.js"]
});

ПоделитьсяПравить

 importScriptPage('SocialIcons/code.js','dev');


Дополнительные кнопки на панели редактирования исходного кода Править

   mwCustomEditButtons[mwCustomEditButtons.length] = {
       "imageFile": "url картинки для кнопки",
       "speedTip": "Текст при наведении",
       "tagOpen": "открывающий элемент",
       "tagClose": "закрывающий элемент",
       "sampleText": "Текст между элементами по умолчанию"
   };