MediaWiki:Common.js: различия между версиями

Материал из Анклав
Нет описания правки
(Меняем нерабочий код на рабочий)
Строка 49: Строка 49:


/**
/**
  * Выполнение скриптов из пространства MediaWiki, указанных в URL
  * ImageStacks
  * См. также https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
  * Maintainer: [[User:Hellerhoff]], [[User:DieBuche]]
  */
  */
var withJS = location.href.match( /[&?]withjs=((mediawiki:)?([^&<>=#]+\.js))/i );
// Only load if page contains template
if ( withJS ) {
mw.hook( 'wikipage.content' ).add( function ( $content ) {
importScript_( 'MediaWiki:' + withJS[3] );
    if ( $content.find( 'div.ImageStack' ).length ) mw.loader.load( 'ext.gadget.ImageStack' );
}
 
/**
* Код, который нужно выполнить как можно раньше. Он выполняется, если загружен подвал страницы,
* иначе же ждёт наступления события 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' );
}
} );
}
} );
} );
} );

Версия от 15:08, 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>'); // Перекрасили название статьи
});

/**
 * ImageStacks
 * Maintainer: [[User:Hellerhoff]], [[User:DieBuche]]
 */
// Only load if page contains template
mw.hook( 'wikipage.content' ).add( function ( $content ) {
    if ( $content.find( 'div.ImageStack' ).length ) mw.loader.load( 'ext.gadget.ImageStack' );
} );