Difference between revisions of "MediaWiki:Common.js"
m |
m |
||
Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | ||
− | mw.loader.load('https:// | + | mw.loader.load('https://localhost:8001/index.php?title=MediaWiki:Hotkeys.js&action=raw&ctype=text/javascript'); |
− | + | hotkeys = { | |
+ | 'b' : 'Brooks was here', | ||
+ | 'l' : '', | ||
+ | 's' : '§', | ||
+ | 't' : '{| class="wikitable"\n! header\n! header\n|-\n| data\n| data\n|}\n' | ||
+ | }; | ||
/*importMW = function ( name ) { | /*importMW = function ( name ) { | ||
importScript( 'MediaWiki:' + name + '.js' ); | importScript( 'MediaWiki:' + name + '.js' ); |
Revision as of 18:31, 23 June 2017
/* Any JavaScript here will be loaded for all users on every page load. */
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
mw.loader.load('https://localhost:8001/index.php?title=MediaWiki:Hotkeys.js&action=raw&ctype=text/javascript');
hotkeys = {
'b' : 'Brooks was here',
'l' : '',
's' : '§',
't' : '{| class="wikitable"\n! header\n! header\n|-\n| data\n| data\n|}\n'
};
/*importMW = function ( name ) {
importScript( 'MediaWiki:' + name + '.js' );
};
*/
/*
importScript_ = importScript;
importScript = function ( page, proj ) {
if ( !proj ) {
importScript_( page );
} else {
if ( proj.indexOf( '.' ) === -1 ) {
proj += 'localhost:8001';
}
mw.loader.using( 'mediawiki.util' ).done( function () {
mw.loader.load( '//' + proj + '/index.php?title=' + mw.util.wikiUrlencode( page ) + '&action=raw&ctype=text/javascript' );
} );
}
};
*/
/*
// Extra scripts
var withJS = location.href.match( /[&?]withjs=((mediawiki:)?([^&#]+))/i );
if ( withJS ) {
importScript_( 'MediaWiki:' + withJS[3] );
}
var execJS = document.getElementById( 'executeJS' );
if ( execJS ) {
$.each( execJS.className.split( ' ' ), function ( i, sc ) {
sc = $.trim( sc.replace( /[^\w ]/g, '' ) );
if ( sc ) {
importMW( 'Script/' + sc );
}
} );
}
*/
//mw.loader.load( '//wiki/User:Root/hotkeys.js&action=raw&ctype=text/javascript' );
//http://localhost:8001/wiki/User:Root/hotkeys.js
//mw.loader.load( '//localhost:8001/index.php?title=MediaWiki:Hotkeys.js&action=raw&ctype=text/javascript' );
/*importScript("MediaWiki:Hotkeys.js");
hotkeys = {
'b' : 'Brooks was here',
'l' : '',
's' : '§',
't' : '{| class="wikitable"\n! header\n! header\n|-\n| data\n| data\n|}\n'
};
*/
/*WikiEditor/Викификатор*/
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
mw.loader.load( '//localhost:8001/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript' );
}
var customizeToolbar = function() {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'main',
'group': 'format',
'tools': {
'wikify': {
label: 'ΔΙΟΡΘΩΣΙΣ 𝁆𝁉',
type: 'button',
icon: '/images/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 );
} );
}
} );
}
window.wfPlugins = window.wfPlugins || [];
window.wfPlugins.push(function (txt, r) {
// здесь ваши замены
// Например: r(/<br\s?\/>/g, '<br>');
// BYZANTINE NOTATION
r( /𝂞/g, '<span style=\'color:red;\'>𝂞<\/span>' ); //
r( /𝃩/g, '<span style=\'color:red;\'>𝃩<\/span>' ); //
r( /𝃪/g, '<span style=\'color:red;\'>𝃪<\/span>' ); //
r( /𝃫/g, '<span style=\'color:red;\'>𝃫<\/span>' ); //
r( /𝃬/g, '<span style=\'color:red;\'>𝃬<\/span>' ); //
r( /𝃭/g, '<span style=\'color:red;\'>𝃭<\/span>' ); //
r( /𝃮/g, '<span style=\'color:red;\'>𝃮<\/span>' ); //
r( /𝃯/g, '<span style=\'color:red;\'>𝃯<\/span>' ); //
r( /𝂣/g, '<span style=\'color:red;\'>𝂣<\/span>' ); //
r( /𝂩/g, '<span style=\'color:red;\'>𝂩<\/span>' ); //
r( /𝂧/g, '<span style=\'color:red;\'>𝂧<\/span>' ); //
r( /𝂨/g, '<span style=\'color:red;\'>𝂨<\/span>' ); //
r( /𝂥/g, '<span style=\'color:red;\'>𝂥<\/span>' ); //
r( /𝂤/g, '<span style=\'color:red;\'>𝂤<\/span>' ); //
r( /𝂱/g, '<span style=\'color:red;\'>𝂱<\/span>' ); //
r( /𝂾/g, '<span style=\'color:red;\'>𝂾<\/span>' ); //
r( /𝃄/g, '<span style=\'color:red;\'>𝃄<\/span>' ); //
r( /𝂺/g, '<span style=\'color:red;\'>𝂺<\/span>' ); //
r( /𝂶/g, '<span style=\'color:red;\'>𝂶<\/span>' ); //
r( /𝂻/g, '<span style=\'color:red;\'>𝂻<\/span>' ); //
r( /𝂽/g, '<span style=\'color:red;\'>𝂽<\/span>' ); //
r( /𝂿/g, '<span style=\'color:red;\'>𝂿<\/span>' ); //
r( /𝃅/g, '<span style=\'color:red;\'>𝃅<\/span>' ); //
r( /𝃀/g, '<span style=\'color:red;\'>𝃀<\/span>' ); //
r( /𝃁/g, '<span style=\'color:red;\'>𝃁<\/span>' ); //
r( /𝃂/g, '<span style=\'color:red;\'>𝃂<\/span>' ); //
r( /𝃉/g, '<span style=\'color:red;\'>𝃉<\/span>' ); //
r( /𝂼/g, '<span style=\'color:red;\'>𝂼<\/span>' ); //
r( /𝂲/g, '<span style=\'color:red;\'>𝂲<\/span>' ); //
r( /𝃃/g, '<span style=\'color:red;\'>𝃃<\/span>' ); //
r( /𝂯/g, '<span style=\'color:red;\'>𝂯<\/span>' ); //
r( /𝃋/g, '<span style=\'color:red;\'>𝃋<\/span>' ); //
r( /𝃘/g, '<span style=\'color:red;\'>𝃘<\/span>' ); //
r( /𝃙/g, '<span style=\'color:red;\'>𝃙<\/span>' ); //
r( /𝂮/g, '<span style=\'color:red;\'>𝂮<\/span>' ); //
r( /𝂫/g, '<span style=\'color:red;\'>𝂫<\/span>' ); //
r( /𝃇/g, '<span style=\'color:red;\'>𝃇<\/span>' ); //
r( /𝂳/g, '<span style=\'color:red;\'>𝂳<\/span>' ); //
r( /𝂰/g, '<span style=\'color:red;\'>𝂰<\/span>' ); //
r( /𝃆/g, '<span style=\'color:red;\'>𝃆<\/span>' ); //
r( /𝃇/g, '<span style=\'color:red;\'>𝃇<\/span>' ); //
r( /𝂦/g, '<span style=\'color:red;\'>𝂦<\/span>' ); //
r( /𝂪/g, '<span style=\'color:red;\'>𝂪<\/span>' ); //
r( /𝂢/g, '<span style=\'color:red;\'>𝂢<\/span>' ); //
r( /𝂭/g, '<span style=\'color:red;\'>𝂭<\/span>' ); //
r( /𝂬/g, '<span style=\'color:red;\'>𝂬<\/span>' ); //
r( /𝁛/g, '<span style=\'color:red;\'>𝁛<\/span>' ); //
r( /𝃏/g, '<span style=\'color:red;\'>𝃏<\/span>' ); //
r( /𝁨/g, '<span style=\'color:red;\'>𝁨<\/span>' ); //
r( /𝁾/g, '<span style=\'color:red;\'>𝁾<\/span>' ); //
r( /𝁥/g, '<span style=\'color:red;\'>𝁥<\/span>' ); //
r( /𝁫/g, '<span style=\'color:red;\'>𝁫<\/span>' ); //
r( /𝁰/g, '<span style=\'color:red;\'>𝁰<\/span>' ); //
r( /𝁱/g, '<span style=\'color:red;\'>𝁱<\/span>' ); //
r( /𝁲/g, '<span style=\'color:red;\'>𝁲<\/span>' ); //
r( /𝁳/g, '<span style=\'color:red;\'>𝁳<\/span>' ); //
r( /𝁴/g, '<span style=\'color:red;\'>𝁴<\/span>' ); //
r( /𝁬/g, '<span style=\'color:red;\'>𝁬<\/span>' ); //
r( /𝁭/g, '<span style=\'color:red;\'>𝁭<\/span>' ); //
r( /𝁹/g, '<span style=\'color:red;\'>𝁹<\/span>' ); //
r( /𝁶/g, '<span style=\'color:red;\'>𝁶<\/span>' ); //
r( /𝁷/g, '<span style=\'color:red;\'>𝁷<\/span>' ); //
r( /𝁸/g, '<span style=\'color:red;\'>𝁸<\/span>' ); //
r( /𝁟/g, '<span style=\'color:red;\'>𝁟<\/span>' ); //
r( /𝁞/g, '<span style=\'color:red;\'>𝁞<\/span>' ); //
r( /𝁡/g, '<span style=\'color:red;\'>𝁡<\/span>' ); //
r( /𝁢/g, '<span style=\'color:red;\'>𝁢<\/span>' ); //
r( /𝁮/g, '<span style=\'color:red;\'>𝁮<\/span>' ); //
r( /𝁯/g, '<span style=\'color:red;\'>𝁯<\/span>' ); //
r( /𝀞/g, '<span style=\'color:red;\'>𝀞<\/span>' ); //
r( /𝁵/g, '<span style=\'color:red;\'>𝁵<\/span>' ); //
r( /𝁝/g, '<span style=\'color:red;\'>𝁝<\/span>' ); //
r( /𝁧/g, '<span style=\'color:red;\'>𝁧<\/span>' ); //
r( /𝁙/g, '<span style=\'color:red;\'>𝁙<\/span>' ); //
r( /𝁻/g, '<span style=\'color:red;\'>𝁻<\/span>' ); //
r( /𝁠/g, '<span style=\'color:red;\'>𝁠<\/span>' ); //
r( /𝁘/g, '<span style=\'color:red;\'>𝁘<\/span>' ); //
r( /𝁚/g, '<span style=\'color:red;\'>𝁚<\/span>' ); //
r( /𝁘/g, '<span style=\'color:red;\'>𝁘<\/span>' ); //
r( /𝂗/g, '<span style=\'color:red;\'>𝂗<\/span>' ); //
r( /𝂏/g, '<span style=\'color:red;\'>𝂏<\/span>' ); //
r( /𝂑/g, '<span style=\'color:red;\'>𝂑<\/span>' ); //
r( /𝂐/g, '<span style=\'color:red;\'>𝂐<\/span>' ); //
r( /𝂴/g, '<span style=\'color:red;\'>𝂴<\/span>' ); //
r( /𝂵/g, '<span style=\'color:red;\'>𝂵<\/span>' ); //
r( /𝞆/g, '<span style=\'color:red;\'>𝞆<\/span>' ); //
r( /ⱈ/g, '<span style=\'color:red;\'>ⱈ<\/span>' ); //
r( /𝂜/g, '<span style=\'color:green;\'>𝂜<\/span>' ); //
r( /𝂟/g, '<span style=\'color:green;\'>𝂟<\/span>' ); //
r( /𝂜𝂟/g, '<span style=\'color:green;\'>𝂜𝂟<\/span>' ); //
r( /𝂟𝂜/g, '<span style=\'color:green;\'>𝂟𝂜<\/span>' ); //
r( /𝃐/g, '<span style=\'color:green;\'>𝃐<\/span>' ); //
r( /𝃔/g, '<span style=\'color:green;\'>𝃔<\/span>' ); //
r( /𝃕/g, '<span style=\'color:green;\'>𝃕<\/span>' ); //
r( /𝁽/g, '<span style=\'color:green;\'>𝁽<\/span>' ); //
r( /𝁼/g, '<span style=\'color:green;\'>𝁼<\/span>' ); //
r( /𝃟/g, '<span style=\'color:blue;\'>𝃟<\/span>' ); //
r( /𝃠/g, '<span style=\'color:blue;\'>𝃠<\/span>' ); //
r( /𝃢/g, '<span style=\'color:blue;\'>𝃢<\/span>' ); //
r( /𝃣/g, '<span style=\'color:blue;\'>𝃣<\/span>' ); //
r( /𝃤/g, '<span style=\'color:blue;\'>𝃤<\/span>' ); //
r( /𝃥/g, '<span style=\'color:blue;\'>𝃥<\/span>' ); //
r( /𝃦/g, '<span style=\'color:blue;\'>𝃦<\/span>' ); //
r( /𝃧/g, '<span style=\'color:blue;\'>𝃧<\/span>' ); //
r( /𝃡/g, '<span style=\'color:blue;\'>𝃡<\/span>' ); //
r( /𝃨/g, '<span style=\'color:blue;\'>𝃨<\/span>' ); //
r( /𝃞/g, '<span style=\'color:blue;\'>𝃞<\/span>' ); //
r( /ⰊⰊ/g, '<span style=\'color:red;\'>ⰊⰊ<\/span>' ); //
r( /ⰫⰫ/g, '<span style=\'color:red;\'>ⰫⰫ<\/span>' ); //
r( /𝝚𝝚/g, '<span style=\'color:red;\'>𝝚𝝚<\/span>' ); //
r( /𝝦𝝦/g, '<span style=\'color:red;\'>𝝦𝝦<\/span>' ); //
r( /𝝩𝝩/g, '<span style=\'color:red;\'>𝝩𝝩<\/span>' ); //
r( /𝝪𝝪/g, '<span style=\'color:red;\'>𝝪𝝪<\/span>' ); //
r( /𝝝𝝝/g, '<span style=\'color:red;\'>𝝝𝝝<\/span>' ); //
r( /𝝞𝝞/g, '<span style=\'color:red;\'>𝝞𝝞<\/span>' ); //
r( /𝝤𝝤/g, '<span style=\'color:red;\'>𝝤𝝤<\/span>' ); //
r( /𝝥𝝥/g, '<span style=\'color:red;\'>𝝥𝝥<\/span>' ); //
r( /ⰩⰩ/g, '<span style=\'color:red;\'>ⰩⰩ<\/span>' ); //
r( /ⰌⰌ/g, '<span style=\'color:red;\'>ⰌⰌ<\/span>' ); //
r( /𝝖𝝖/g, '<span style=\'color:red;\'>𝝖𝝖<\/span>' ); //
r( /𝝨𝝨/g, '<span style=\'color:red;\'>𝝨𝝨<\/span>' ); //
r( /𝝙𝝙/g, '<span style=\'color:red;\'>𝝙𝝙<\/span>' ); //
r( /𝝫𝝫/g, '<span style=\'color:red;\'>𝝫𝝫<\/span>' ); //
r( /𝝘𝝘/g, '<span style=\'color:red;\'>𝝘𝝘<\/span>' ); //
r( /𝝜𝝜/g, '<span style=\'color:red;\'>𝝜𝝜<\/span>' ); //
r( /𝝣𝝣/g, '<span style=\'color:red;\'>𝝣𝝣<\/span>' ); //
r( /𝝟𝝟/g, '<span style=\'color:red;\'>𝝟𝝟<\/span>' ); //
r( /𝝠𝝠/g, '<span style=\'color:red;\'>𝝠𝝠<\/span>' ); //
r( /ⰥⰥ/g, '<span style=\'color:red;\'>ⰥⰥ<\/span>' ); //
r( /ⰤⰤ/g, '<span style=\'color:red;\'>ⰤⰤ<\/span>' ); //
r( /𝝛𝝛/g, '<span style=\'color:red;\'>𝝛𝝛<\/span>' ); //
r( /𝝬𝝬/g, '<span style=\'color:red;\'>𝝬𝝬<\/span>' ); //
r( /𝝭𝝭/g, '<span style=\'color:red;\'>𝝭𝝭<\/span>' ); //
r( /𝝮𝝮/g, '<span style=\'color:red;\'>𝝮𝝮<\/span>' ); //
r( /𝝗𝝗/g, '<span style=\'color:red;\'>𝝗𝝗<\/span>' ); //
r( /𝝢𝝢/g, '<span style=\'color:red;\'>𝝢𝝢<\/span>' ); //
r( /𝝡𝝡/g, '<span style=\'color:red;\'>𝝡𝝡<\/span>' ); //
r( /ⰜⰜ/g, '<span style=\'color:red;\'>ⰜⰜ<\/span>' ); //
r( /ⰨⰨ/g, '<span style=\'color:red;\'>ⰨⰨ<\/span>' ); //
r( /ⰍⰍ/g, '<span style=\'color:red;\'>ⰍⰍ<\/span>' ); //
r( /ⰅⰅ/g, '<span style=\'color:red;\'>ⰅⰅ<\/span>' ); //
r( /ⰐⰐ/g, '<span style=\'color:red;\'>ⰐⰐ<\/span>' ); //
r( /ⰃⰃ/g, '<span style=\'color:red;\'>ⰃⰃ<\/span>' ); //
r( /ⰞⰞ/g, '<span style=\'color:red;\'>ⰞⰞ<\/span>' ); //
r( /ⰛⰛ/g, '<span style=\'color:red;\'>ⰛⰛ<\/span>' ); //
r( /ⰈⰈ/g, '<span style=\'color:red;\'>ⰈⰈ<\/span>' ); //
r( /ⰪⰪ/g, '<span style=\'color:red;\'>ⰪⰪ<\/span>' ); //
r( /ⰗⰗ/g, '<span style=\'color:red;\'>ⰗⰗ<\/span>' ); //
r( /ⰂⰂ/g, '<span style=\'color:red;\'>ⰂⰂ<\/span>' ); //
r( /ⰀⰀ/g, '<span style=\'color:red;\'>ⰀⰀ<\/span>' ); //
r( /ⰚⰚ/g, '<span style=\'color:red;\'>ⰚⰚ<\/span>' ); //
r( /ⰓⰓ/g, '<span style=\'color:red;\'>ⰓⰓ<\/span>' ); //
r( /ⰑⰑ/g, '<span style=\'color:red;\'>ⰑⰑ<\/span>' ); //
r( /ⰎⰎ/g, '<span style=\'color:red;\'>ⰎⰎ<\/span>' ); //
r( /ⰄⰄ/g, '<span style=\'color:red;\'>ⰄⰄ<\/span>' ); //
r( /ⰆⰆ/g, '<span style=\'color:red;\'>ⰆⰆ<\/span>' ); //
r( /ⰡⰡ/g, '<span style=\'color:red;\'>ⰡⰡ<\/span>' ); //
r( /ⰝⰝ/g, '<span style=\'color:red;\'>ⰝⰝ<\/span>' ); //
r( /ⰔⰔ/g, '<span style=\'color:red;\'>ⰔⰔ<\/span>' ); //
r( /ⰏⰏ/g, '<span style=\'color:red;\'>ⰏⰏ<\/span>' ); //
r( /ⰋⰋ/g, '<span style=\'color:red;\'>ⰋⰋ<\/span>' ); //
r( /ⰕⰕ/g, '<span style=\'color:red;\'>ⰕⰕ<\/span>' ); //
r( /ⰁⰁ/g, '<span style=\'color:red;\'>ⰁⰁ<\/span>' ); //
r( /ⰣⰣ/g, '<span style=\'color:red;\'>ⰣⰣ<\/span>' ); //
r( /ⰬⰬ/g, '<span style=\'color:red;\'>ⰬⰬ<\/span>' ); //
r( /ⰒⰒ/g, '<span style=\'color:red;\'>ⰒⰒ<\/span>' ); //
r( /ⰙⰙ/g, '<span style=\'color:red;\'>ⰙⰙ<\/span>' ); //
// r( //g, '<span style=\'color:red;\'><\/span>' ); //
});
/*******************************
/* Wiki Subpage Tooltip Script *
/*******************************/
// Author: Shawn Bruckner
// Date: 2013-Apr-28
// License: CC-BY 3.0
// Version: beta
var wst = wst || {
dataSubpageTitle : '/nota',
loadingTemplate: 'Template:Tooltip hover box loading',
loadedTemplate: 'Template:Tooltip hover box',
loadingHtml: null,
classPrefix: 'wst-tooltip-',
articlePath : null,
fullScriptPath : null,
scriptPath: null,
dataTitlesToCheck: Array(),
contentTitles: Array(),
dataTitles: Array(),
encodeAllSpecial : function( unencoded ) {
var encoded = "";
var c;
var safeChars = /[0-9A-Za-z]/;
for( var i = 0; i < unencoded.length; i++ ) {
c = unencoded.charAt(i);
if ( safeChars.test( c ) ) {
encoded = encoded + c;
} else {
encoded = encoded + '_' + c.charCodeAt().toString(16) + '-';
}
}
return encoded;
},
getTitleFromHref : function( href ) {
var end;
var result = null;
if ( href.indexOf( wst.fullScriptPath ) === 0 ) {
end = href.substring( wst.fullScriptPath.length );
result = ( new RegExp( 'title=([^&]*)' ) ).exec( end );
} else if ( href.indexOf( wst.scriptPath ) === 0 ) {
end = href.substring( wst.scriptPath.length );
result = ( new RegExp( 'title=([^&]*)' ) ).exec( end );
} else if ( href.indexOf( wst.articlePath ) === 0 ) {
end = href.substring( wst.articlePath.length );
result = ( new RegExp( '([^?]*)' ) ).exec( end );
}
if ( result ) {
if ( result[1].substring(0, 8) !== "Special:" ) {
return decodeURIComponent( result[1] );
} else {
return null;
}
} else {
return null;
}
},
getTitlesAndContentLinks : function() {
var links = $( '#mw-content-text a[href]' );
var uniqueTitles = {};
var title;
for ( var i = 0; i < links.length; i++ ) {
if( title = wst.getTitleFromHref( links[i].href ) ) {
uniqueTitles[title] = null; // hackish way to ensure only unique titles are added
}
}
for ( uniqueTitle in uniqueTitles ) {
wst.dataTitlesToCheck.push( uniqueTitle + wst.dataSubpageTitle ); // put unique titles into the array
}
},
beginLinkSetup : function() {
wst.articlePath = mw.config.get( 'wgServer' ) + mw.config.get( 'wgArticlePath' ).replace( /\$1/, '' );
wst.fullScriptPath = mw.config.get( 'wgServer' ) + mw.config.get( 'wgScript' );
wst.scriptPath = mw.config.get( 'wgScript' );
wst.getTitlesAndContentLinks();
if ( wst.dataTitlesToCheck.length > 0 ) {
$.ajax( {
type: 'POST',
url: mw.util.wikiScript( 'api' ),
data: { action: 'parse', format: 'json', text: '{' + '{:' + wst.loadingTemplate + '}}' },
dataType: 'json',
success: wst.midLinkSetup
} );
}
},
midLinkSetup: function( jsonData ) {
wst.loadingHtml = jsonData.parse.text['*'];
wst.startQueryPageExistence();
},
startQueryPageExistence : function( ) {
titleSubset = Array();
for ( i = 0; i < 50 && wst.dataTitlesToCheck.length > 0; i++ ) {
titleSubset.push( wst.dataTitlesToCheck.pop() );
}
var titles = titleSubset.join( '|' );
$.ajax( {
type: 'POST',
url: mw.util.wikiScript( 'api' ),
data: { action: 'query', format: 'json', titles: titles },
dataType: 'json',
success: wst.finishQueryPageExistence
} );
},
finishQueryPageExistence : function( jsonData ) {
wst.filterTitles( jsonData.query.pages );
if ( wst.dataTitlesToCheck.length > 0 ) {
wst.startQueryPageExistence();
} else {
wst.finishLinkSetup();
}
},
filterTitles : function( pageData ) {
var result, title;
for ( index in pageData ) {
result = pageData[index];
if ( result.missing === undefined ) {
title = result.title.replace( / /g, '_' );
wst.dataTitles.push( title );
wst.contentTitles.push( title.substring( 0, title.length - wst.dataSubpageTitle.length ) );
}
}
},
finishLinkSetup : function( ) {
for ( var i = 0; i < wst.contentTitles.length; i++ ) {
$( 'body' ).append( '<div id="' + wst.classPrefix + wst.encodeAllSpecial( wst.contentTitles[i] ) +
'" style="display: none; position: absolute; z-index: 10000;">' +
wst.loadingHtml.replace( /\$1/, wst.contentTitles[i].replace( /_/, " " ) ) + '</div>' );
}
var title, id;
var links = $( '#mw-content-text a[href]' );
for ( var i = 0; i < links.length; i++ ) {
title = wst.getTitleFromHref( links[i].href );
if ( title !== null && $.inArray( title, wst.contentTitles ) !== -1 ) {
id = wst.classPrefix + wst.encodeAllSpecial( title );
links.eq(i).on( 'mouseover', { id : id, title : title }, function( event ) { wst.showTooltip( event ); } );
links.eq(i).on( 'mousemove', { id : id }, function( event ) { wst.moveTooltip( event ); } );
links.eq(i).on( 'mouseout', { id : id }, function( event ) { wst.hideTooltip( event ); } );
}
}
},
showTooltip : function( event ) {
tooltipBox = $( '#' + event.data.id );
wst.positionTooltip( event.data.id, event.pageX, event.pageY );
tooltipBox.fadeIn();
if ( !tooltipBox.hasClass( 'loaded' ) && !tooltipBox.hasClass( 'loading' ) ) {
tooltipBox.addClass( wst.classPrefix + 'loading' );
wst.beginLoadTooltip( event.data.id, event.data.title );
}
},
beginLoadTooltip : function( id, title ) {
$.ajax( {
type: 'POST',
url: mw.util.wikiScript( 'api' ),
data: { action: 'parse', format: 'json', title: title.replace( /_/, ' ' ),
text: '{' + '{:' + title + wst.dataSubpageTitle + '|' + wst.loadedTemplate + '}}' },
dataType: 'json',
success: function( jsonData ) { wst.finishLoadTooltip( id, jsonData ); }
} );
},
finishLoadTooltip : function( id, jsonData ) {
tooltipBox = $( '#' + id );
tooltipBox.addClass( 'loaded' );
tooltipBox.removeClass( 'loading' );
tooltipBox.html( jsonData.parse.text['*'] );
},
moveTooltip : function( event ) {
wst.positionTooltip( event.data.id, event.pageX, event.pageY );
},
positionTooltip: function( id, pageX, pageY ) {
var tooltip = $( '#' + id );
var bodyOffsets = document.body.getBoundingClientRect();
var bodyX = pageX - bodyOffsets.left;
var bodyY = pageY - bodyOffsets.top;
var scrollX = $( document ).scrollLeft();
var scrollY = $( document ).scrollTop();
var bodyWidth = $( 'body' ).width();
var bodyHeight = $( 'body' ).height();
var viewWidth = $( window ).width();
var viewHeight = $( window ).height();
var topAdjust = 6;
if ( tooltip.width() * 1.1 > pageX - scrollX ) {
tooltip.css( { 'left' : bodyX - scrollX + 15, 'right' : 'auto' } );
topAdjust = 36;
} else {
tooltip.css( { 'right' : bodyWidth - bodyX + scrollX + 6, 'left' : 'auto' } );
}
if ( tooltip.height() * 1.5 > pageY - scrollY ) {
tooltip.css( { 'top' : bodyY - scrollY + topAdjust, 'bottom' : 'auto' } );
} else {
tooltip.css( { 'bottom' : bodyHeight - bodyY + scrollY + 3, 'top' : 'auto' } );
}
},
hideTooltip : function( event ) {
$( '#' + event.data.id ).fadeOut();
}
};
$( document ).ready( wst.beginLinkSetup );
/***********************************
/* End Wiki Subpage Tooltip Script *
/***********************************/
//mw.loader.load( '//localhost:8001/index.php?title=MediaWiki:Copyheadings.js&action=raw&ctype=text/javascript' );
mw.loader.load( '//localhost:8001/index.php?title=MediaWiki:Hidesidebar.js&action=raw&ctype=text/javascript' );
//mw.loader.load( '//localhost:8001/index.php?title=MediaWiki:Highlight.js&action=raw&ctype=text/javascript' );
/* $('<li>', {
id: 'pt-название-на-латинице',
html: $('<a>', {
href: 'URL ссылки',
text: 'Видимое название',
title: 'Текст всплывающей подсказки',
}),
}).insertBefore($('#расположение'));
Замените расположение на значение из списка ниже (сохранив знак #). Кнопка будет расположена перед:
pt-userpage — ЛС
pt-mytalk — ЛСО
pt-preferences — Настройки
pt-watchlist — СН
pt-mycontris — Вклад
*/