Terraria Wiki
Advertisement
Terraria Wiki
1735
страниц

На других языках: DeutschEnglishfrançaismagyar한국어polskiportuguêsукраїнська中文


Изменения CSS и JavaScript должны соответствовать правилам оформления вики.


Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
  • Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
  • Opera: Перейдите в Menu → Настройки (Opera → Настройки на Mac), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
// Блокирует триггер, который открывает внутреннюю URL-ссылку на вики при щелчке в новой вкладке (очистить, править и т.д.)
$('a[href^="//terraria-ru.gamepedia.com"]').removeAttr('target');

// Открывает ссылки в новой вкладке у шаблон:внут и шаблон:внеш
$('.linkNewTab a').each(function(){
    $(this).attr('target','_blank');
});

// Создаёт обход значений стиля "border-collapse" + "border-radius" для таблиц класса "terraria"
/* (временно?) отключает, ломает отображение таблиц с процентным значением ширины
$('.terraria:not(.outer)')
	.removeClass('terraria')
	.addClass('inner')
	.wrap('<table class="terraria outer"></table>');
*/

// Запрещает создание страниц (кроме обсуждений) анонимами и перенаправляет на страницу регистрации (фильтр злоупотреблений также запрещает это действие, но он выдаёт предупреждение при правке страницы)
var wgPageName = mw.config.get( 'wgPageName' );
var wgUserName = mw.config.get( 'wgUserName' );

var isTalk = false, isAnon = false;
if (wgPageName.indexOf('talk:') > -1 || wgPageName.indexOf('Talk:') > -1) isTalk = true;
if (wgUserName === null) isAnon = true;

if (isAnon == true){
    $('a.new').each(function(){
        var href = $(this).attr('href');
        $(this).attr('href', href.replace(/&action=edit/g, '') );
    });
}

if (isAnon == true && isTalk == false) {
    var anonWarnText = 'Создание страниц анонимными участниками в настоящее время недоступно. <br> Чтобы создать эту страницу для начала, пожалуйста, <a href="https://terraria-ru.gamepedia.com/Служебная:Создать_учётную_запись">зарегистрируйтесь</a>.';
    $('body').append('<div class="anonWarnOverlay" style="display:none; background-color: #000; opacity: 0.4; position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 500;"></div>');
    $('body').prepend('<div class="anonWarnBox" style="display:none; text-align:center; font-weight: bold; box-shadow: 7px 7px 5px #000; font-size: 0.9em; line-height: 1.5em; z-index: 501; opacity: 1; position: fixed; width: 50%; left: 25%; top: 30%; background: #F7F7F7; border: #222 ridge 1px; padding: 20px;">' + anonWarnText + '</div>');

     $('#ca-edit a:contains(Create), #ca-ve-edit a:contains(Create), a.external.text:contains(edit this page)').attr('href', '#').click(function(){
        $('.anonWarnBox').show();
        $('.anonWarnOverlay').show();
    });

    $('.anonWarnOverlay').click(function(){
        $('.anonWarnBox').hide();
        $(this).hide();
    });
}

// AJAX-таблицы
function addAjaxDisplayLink() {
	$("table.ajax").each(function (i) {
		var table = $(this).attr("id", "ajaxTable" + i);
		table.find(".nojs-message").remove();
		var headerLinks = $('<span style="float: right;">').appendTo(table.find('th').first());
		var cell = table.find("td").first(), needLink = true;
		cell.parent().show();
		if (cell.hasClass("showLinkHere")) {
			var old = cell.html(), rep = old.replace(/\[link\](.*?)\[\/link\]/, '<a href="javascript:;" class="ajax-load-link">$1</a>');
			if (rep != old) {
				cell.html(rep);
				needLink = false;
			}
		}
		if (needLink) headerLinks.html('[<a href="javascript:;" class="ajax-load-link">show data</a>]');
		table.find(".ajax-load-link").parent().andSelf().filter('a').click(function(event) {
			event.preventDefault();
			var sourceTitle = table.data('ajax-source-page'), baseLink = mw.config.get('wgScript') + '?';
			cell.text('Пожалуйста подождите, содержимое загружается...');
			$.get(baseLink + $.param({ action: 'render', title: sourceTitle }), function (data) {
				if (data) {
					cell.html(data);
					cell.find('.ajaxHide').remove();
					cell.find('.terraria').removeClass('terraria');
					if (cell.find("table.sortable").length) {
						mw.loader.using('jquery.tablesorter', function() {
							cell.find("table.sortable").tablesorter();
						});
					}
					headerLinks.text('[');
					headerLinks.append($('<a>править</a>').attr('href', baseLink + $.param({ action: 'edit', title: sourceTitle })));
					headerLinks.append(document.createTextNode(']\u00A0['));
					var shown = true;
					$("<a href='javascript:;'>скрыть</a>").click(function() {
						shown = !shown;
						shown ? cell.show() : cell.hide();
						$(this).text(shown ? "скрыть" : "показать");
					}).appendTo(headerLinks);
					headerLinks.append(document.createTextNode(']'));
				}
			}).error(function() {
				cell.text('Невозможно загрузить таблицу; вероятно, целевая страница не существует.');
			});
		});
	});
}

$(addAjaxDisplayLink);

   //main page header.
   var $btn = $('#box-wikiheader #box-wikiheader-toggle-link');
   if($btn.length){
      var $box = $('#box-wikiheader');
      $btn.css('display', 'inline-block');
      if($box.innerHeight() > 180){
         $box.addClass('collapsed');
      }
      $btn.on('click', function(){
         $box.toggleClass('collapsed');
      });
   }

    //sidebar height fix.
    //override left-sidebar resize handle.
	var $sidebar = $('#mw-panel');
	var $wrapper = $('#global-wrapper');
	var $footer = $('#curse-footer');
	$footer.css('margin-top', '0');
	var $top = 0;
	window.handleResizeEvents = function() {
		var $sidebar_bottom = $sidebar.offset().top + $sidebar.outerHeight(true);
		var $footer_top = $footer.offset().top;
		if ($sidebar_bottom > $footer_top - $top){
			$top = $sidebar_bottom - $wrapper.offset().top;
			$wrapper.css('min-height', $top+'px');
		}
	};
	window.handleResizeEvents();
});
Advertisement