MediaWiki:Common.js: различия между версиями
Перейти к навигации
Перейти к поиску
Нет описания правки |
Gevron (обсуждение | вклад) Нет описания правки |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 12: | Строка 12: | ||
} | } | ||
// | // Честно стащено с бывшей официальной Minecraft Wiki | ||
if ( mw. | // Добавляет кнопку для очистки кэша | ||
if ( !$( '#ca-purge' ).length ) { | |||
$( '#p-cactions' ).find( 'ul' ).append( | |||
$( '<li>' ).attr( { 'id': 'ca-purge', 'class': 'mw-list-item' } ).append( | |||
$( '<a>' ).attr( { 'href': mw.util.getUrl( null, { action: 'purge' } ), 'title': 'Очистить серверный кэш страницы' } ).append( | |||
$( '<span>' ).text( 'Очистить кэш' ) | |||
) | |||
) | |||
); | |||
} | |||
// Если кнопка «Ещё» у нас скрыта, отображаем её, но не на спецстраницах. | |||
if ($( '#p-cactions' ).hasClass( 'emptyPortlet' ) & !$( '#p-views' ).hasClass( 'emptyPortlet' )){ | |||
$( '#p-cactions' ).removeClass( 'emptyPortlet' ) | |||
} | |||
// Меняем обычную ссылку очистки кэша на API-запрос, чтобы избежать окна подтверждения | |||
mw.loader.using( 'mediawiki.api' ).then( function() { | |||
$( '#ca-purge a' ).on( 'click', function( e ) { | |||
new mw.Api().post( { | |||
action: 'purge', | |||
titles: mw.config.get( 'wgPageName' ) | |||
} ).then( function() { | |||
location.reload(); | |||
}, function() { | |||
mw.notify( 'Purge failed', { type: 'error' } ); | |||
} ); | |||
e.preventDefault(); | |||
} ); | |||
} ); | |||
// from Minecraft Wiki | |||
/* Добавляет кнопку «Вверх» слева */ | |||
function scrollTop(){ | |||
$(window).scroll(function(e) { | |||
if($(window).scrollTop()>0) { | |||
$("#scroll-top").fadeIn(300); | |||
} else{ | |||
$("#scroll-top").fadeOut(300); | |||
} | |||
}); | |||
} | |||
$(function(){ | |||
$("footer#footer").append($("<span></span>") | |||
.attr({ | |||
"id": "scroll-top", | |||
"title": "Наверх" | |||
}) | |||
); | |||
$("#scroll-top").click(function(e) { | |||
$('body,html').animate({scrollTop:0},300); | |||
}); | |||
scrollTop(); | |||
}); | |||
/* Fired whenever wiki content is added. (#mw-content-text, live preview, load page, etc.) */ | |||
mw.hook( 'wikipage.content' ).add( function( $wikipageContent ) { | |||
// Только при редактировании, вне режима визуального редактора добавляем викификатор или панель редактирования в целом. | |||
if ( mw.config.get( 'wgAction' ) == 'edit' || mw.config.get( 'wgAction' ) == 'submit' ) { | |||
console.log('MediaWiki:Common.js — editFunction start'); | |||
if ( !mw.user.options.get( 'usebetatoolbar' ) || mw.user.options.get( 'usebetatoolbar' ) == '0' || mw.user.options.get( 'usebetatoolbar' ) == '' ) { | |||
mw.loader.load('https://wiki.ss220.space/index.php/MediaWiki:LegacyToolbar.js?action=raw&ctype=text/javascript'); | |||
console.log('MediaWiki:Common.js — legacyToolbar enabled'); | |||
} | |||
else { | |||
mw.loader.load( 'https://wiki.ss220.space/index.php/MediaWiki:Wikificator.js?action=raw&ctype=text/javascript' ); | |||
console.log('MediaWiki:Common.js — Wikificator enabled with betatoolbar'); | |||
}; | |||
console.log('MediaWiki:Common.js — after Wikificator call msg'); | |||
} | |||
} ); | |||
/* End wiki content hook */ |
Текущая версия от 13:01, 25 мая 2023
// Добавляет ссылку для редактирования нулевого раздела (введения; преамбулы) var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' ); var wgPageName = mw.config.get( 'wgPageName' ); if (wgNamespaceNumber > -1){ var edittopHTML = '<span class="mw-editsection">' + '<span class="mw-editsection-bracket" style="margin-right: 0.25em;color: #555555;">[</span>' + '<a href="/index.php?title=' + wgPageName + '&action=edit&section=0" title="Править «введение» этой страницы">править введение</a>' + '<span class="mw-editsection-bracket" style="margin-left: 0.25em;color: #555555;">]</span>' + '</span>'; $('#firstHeading').append(edittopHTML); } // Честно стащено с бывшей официальной Minecraft Wiki // Добавляет кнопку для очистки кэша if ( !$( '#ca-purge' ).length ) { $( '#p-cactions' ).find( 'ul' ).append( $( '<li>' ).attr( { 'id': 'ca-purge', 'class': 'mw-list-item' } ).append( $( '<a>' ).attr( { 'href': mw.util.getUrl( null, { action: 'purge' } ), 'title': 'Очистить серверный кэш страницы' } ).append( $( '<span>' ).text( 'Очистить кэш' ) ) ) ); } // Если кнопка «Ещё» у нас скрыта, отображаем её, но не на спецстраницах. if ($( '#p-cactions' ).hasClass( 'emptyPortlet' ) & !$( '#p-views' ).hasClass( 'emptyPortlet' )){ $( '#p-cactions' ).removeClass( 'emptyPortlet' ) } // Меняем обычную ссылку очистки кэша на API-запрос, чтобы избежать окна подтверждения mw.loader.using( 'mediawiki.api' ).then( function() { $( '#ca-purge a' ).on( 'click', function( e ) { new mw.Api().post( { action: 'purge', titles: mw.config.get( 'wgPageName' ) } ).then( function() { location.reload(); }, function() { mw.notify( 'Purge failed', { type: 'error' } ); } ); e.preventDefault(); } ); } ); // from Minecraft Wiki /* Добавляет кнопку «Вверх» слева */ function scrollTop(){ $(window).scroll(function(e) { if($(window).scrollTop()>0) { $("#scroll-top").fadeIn(300); } else{ $("#scroll-top").fadeOut(300); } }); } $(function(){ $("footer#footer").append($("<span></span>") .attr({ "id": "scroll-top", "title": "Наверх" }) ); $("#scroll-top").click(function(e) { $('body,html').animate({scrollTop:0},300); }); scrollTop(); }); /* Fired whenever wiki content is added. (#mw-content-text, live preview, load page, etc.) */ mw.hook( 'wikipage.content' ).add( function( $wikipageContent ) { // Только при редактировании, вне режима визуального редактора добавляем викификатор или панель редактирования в целом. if ( mw.config.get( 'wgAction' ) == 'edit' || mw.config.get( 'wgAction' ) == 'submit' ) { console.log('MediaWiki:Common.js — editFunction start'); if ( !mw.user.options.get( 'usebetatoolbar' ) || mw.user.options.get( 'usebetatoolbar' ) == '0' || mw.user.options.get( 'usebetatoolbar' ) == '' ) { mw.loader.load('https://wiki.ss220.space/index.php/MediaWiki:LegacyToolbar.js?action=raw&ctype=text/javascript'); console.log('MediaWiki:Common.js — legacyToolbar enabled'); } else { mw.loader.load( 'https://wiki.ss220.space/index.php/MediaWiki:Wikificator.js?action=raw&ctype=text/javascript' ); console.log('MediaWiki:Common.js — Wikificator enabled with betatoolbar'); }; console.log('MediaWiki:Common.js — after Wikificator call msg'); } } ); /* End wiki content hook */