MediaWiki:Common.js: различия между версиями
(Найти бы ещё эти обсуждения...) |
Нет описания правки |
||
Строка 47: | Строка 47: | ||
.replaceWith('<strong>' + mw.config.get('wgTitle') + '</strong>'); // Перекрасили название статьи | .replaceWith('<strong>' + mw.config.get('wgTitle') + '</strong>'); // Перекрасили название статьи | ||
}); | }); | ||
/** | |||
* Выполнение скриптов из пространства MediaWiki, указанных в URL | |||
* См. также https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL | |||
*/ | |||
var withJS = location.href.match( /[&?]withjs=((mediawiki:)?([^&<>=#]+\.js))/i ); | |||
if ( withJS ) { | |||
importScript_( 'MediaWiki:' + withJS[3] ); | |||
} | |||
/** | |||
* Код, который нужно выполнить как можно раньше. Он выполняется, если загружен подвал страницы, | |||
* иначе же ждёт наступления события wikipage.content (см. выше определение runAsEarlyAsPossible | |||
* и ниже про wikipage.content). | |||
*/ | |||
runAsEarlyAsPossible( function () { | |||
/** | |||
* {{выполнить скрипт}} | |||
*/ | |||
$( '.executeJS' ).each( function () { | |||
var names = $( this ).data( 'scriptnames' ); | |||
if (names) { | |||
names.split( ' ' ).forEach( function ( name ) { | |||
name = name.replace( /[^\w_-]/g, '' ); | |||
if ( name ) { | |||
importScript( 'MediaWiki:Script/' + name + '.js' ); | |||
} | |||
} ); | |||
} | |||
} ); | |||
} ); |
Версия от 13:21, 28 марта 2023
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ /*WikiEditor/Викификатор*/ if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) { mw.loader.load( '//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript' ); } var customizeToolbar = function() { $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'advanced', 'group': 'format', 'tools': { 'wikify': { label: 'Викификатор', type: 'button', icon: '//upload.wikimedia.org/wikipedia/commons/0/06/Wikify-toolbutton.png', action: { type: 'callback', execute: function(context){ Wikify(); } } } } } ); }; if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) { mw.loader.using( 'user.options', function () { if ( mw.user.options.get('usebetatoolbar') ) { mw.loader.using( 'ext.wikiEditor.toolbar', function () { $(document).ready( customizeToolbar ); } ); } } ); } $( document ).ready(function() { // Патч от Sstealhh. Делаем автонавшаблоны чуть более красивыми $('div.auto_category_list > p') .contents() .filter(function() { return this.nodeType === 3 && this.textContent === ', '; }) .replaceWith(' • '); // Заменили запятые на точки $('div.auto_category_list a[title="' + mw.config.get('wgTitle') + '"]') .replaceWith('<strong>' + mw.config.get('wgTitle') + '</strong>'); // Перекрасили название статьи }); /** * Выполнение скриптов из пространства MediaWiki, указанных в URL * См. также https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL */ var withJS = location.href.match( /[&?]withjs=((mediawiki:)?([^&<>=#]+\.js))/i ); if ( withJS ) { importScript_( 'MediaWiki:' + withJS[3] ); } /** * Код, который нужно выполнить как можно раньше. Он выполняется, если загружен подвал страницы, * иначе же ждёт наступления события wikipage.content (см. выше определение runAsEarlyAsPossible * и ниже про wikipage.content). */ runAsEarlyAsPossible( function () { /** * {{выполнить скрипт}} */ $( '.executeJS' ).each( function () { var names = $( this ).data( 'scriptnames' ); if (names) { names.split( ' ' ).forEach( function ( name ) { name = name.replace( /[^\w_-]/g, '' ); if ( name ) { importScript( 'MediaWiki:Script/' + name + '.js' ); } } ); } } ); } );