לדלג לתוכן

מדיה ויקי:Common.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
לא היה דיון של שבוע ואני מאוד מקווה שלא יזרקו אותי לכאן בגלל זה, אלא מקסימום ישחזרו
אין תקציר עריכה
 
(97 גרסאות ביניים של 11 משתמשים אינן מוצגות)
שורה 10: שורה 10:
var args = arguments;
var args = arguments;


mw.loader.using('mediawiki.util', function() {
mw.loader.using( 'mediawiki.util', function () {
for (var arg = 0; arg < args.length; arg++) {
for ( var arg = 0; arg < args.length; arg++ ) {
try {
try {
importScript( "MediaWiki:סקריפטים/" + args[arg] );
importScript( 'MediaWiki:סקריפטים/' + args[arg] + '.js' );
}
catch( e ) {
}
}
catch(e) {}
}
}
});
} );
}
}


/* פונקציה הטוענת פונקציות בעת עליית הדף */
/* פונקציה הטוענת פונקציות בעת עליית הדף */
function addLoadEvent() {
function addLoadEvent() {
// Deprecated
// Deprecated
}
}


/* פונקציה לקבלת ערך של פרמטר משורת הכתובת */
mw.loader.using( 'mediawiki.util', function () {
mw.log.deprecate( window, 'getParamValue', mw.util.getParamValue, 'Use mediawiki.util instead.' );
 
mw.loader.using( 'mediawiki.util', function() {
'use strict';
'use strict';


importScript("MediaWiki:Functions.js"); // פונקציות המצויות בשימוש בסקריפטים שונים
importScript( 'MediaWiki:Functions.js' ); // פונקציות המצויות בשימוש בסקריפטים שונים


if ( $.inArray( mw.config.get( 'wgPageName' ), ["עמוד_ראשי", "שיחה:עמוד_ראשי"] ) + 1 ) {
if ( $.inArray( mw.config.get( 'wgPageName' ), [
importScript("MediaWiki:Mainpage.js"); // שיפורים שונים בעמוד הראשי
'עמוד_ראשי',
'שיחה:עמוד_ראשי'
] ) + 1 ) {
importScript( 'MediaWiki:Mainpage.js' ); // שיפורים שונים בעמוד הראשי


if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
importScript("MediaWiki:Portals.js");  // פורטלים מתחלפים בעמוד הראשי
importScript( 'MediaWiki:Portals.js' );  // פורטלים מתחלפים בעמוד הראשי
}
}
}
if ( mw.config.get( 'wgNamespaceNumber' ) === 6 ) {
mw.loader.load( 'ext.gadget.ime' );
}
}


// סקריפטים כלליים
importScript("MediaWiki:UploadLink.js"); // שינוי קישורי ההעלאה
importScript("MediaWiki:SubPagesLink.js"); // הוספת קישור לדפי המשנה של הדף הנוכחי
importScript("MediaWiki:FeaturedInterwiki.js"); // תמיכה באינטרוויקי מומלץ ואיכותי
importScript("MediaWiki:Navigationbar.js"); // תמיכה בקופסאות מוסתרות
importScript("MediaWiki:Collapsetables.js"); // טבלאות מוסתרות
importScript("MediaWiki:Tabs.js"); // תמיכה בלשוניות
importScript("MediaWiki:SlideShow.js"); // מצגת תמונות
importScript("MediaWiki:ImgToggle.js"); // החלפת תמונות, עבור [[תבנית:מפת מיקום]]
importScript("MediaWiki:LoadingContent.js"); // הצגת טקסטים הנטענים באופן דינמי
importScript("Mediawiki:Imagemap-Highlight.js"); // עבור [[תבנית:מפת תמונה]] עם סימון=כן
importScript('Mediawiki:Common.js/pgn.js'); // להצגת שחמט


if(mw.config.get('wgAction') === 'history'){
// סקריפטים עבור אנונימיים ו/או חדשיםs
importScript("MediaWiki:FixHistPage.js");    // הסתרת קישורים ותיבות checkbox בדף ההיסטוריה והוספת אפשרות להפעלתם באמצעות כפתור מתאים.
if ( $.inArray( 'autoconfirmed', mw.config.get( 'wgUserGroups' ) ) === -1 ) {
}
importScript( 'MediaWiki:Autopurge.js' ); // הוספת אפשרות לרענון אוטומטי על ידי אנונימיים, ללא מעבר בטופס
if ( mw.config.get( 'wgNamespaceNumber' ) === 6) {
importScript( 'MediaWiki:Navtip.js' ); // הוספת התיבה "רוצה טיפ?" בצד למשתמשים אנונימיים
try {
mw.loader.load('//tools.wmflabs.org/imagemapedit/ime.js');
}
catch(e) {} // surround with try/catch in case other server behaves badly.
}
// סקריפטים עבור אנונימיים ו/או חדשים
if ( $.inArray("autoconfirmed", mw.config.get( 'wgUserGroups' ) ) === -1 ) {
importScript("MediaWiki:anonTalkLink.js"); // הצגת קישור לדף השיחה עבור אנונימיים, בעת קבלת הודעה
importScript("MediaWiki:Autopurge.js"); // הוספת אפשרות לרענון אוטומטי על ידי אנונימיים, ללא מעבר בטופס
importScript("MediaWiki:Navtip.js"); // הוספת התיבה "רוצה טיפ?" בצד למשתמשים אנונימיים
}
}


// סקריפטים לדפי עריכה
// סקריפטים לדפי עריכה
if ( ($.inArray( mw.config.get( 'wgAction' ), ["edit", "submit"]) + 1 ) && ! $('#wpTextbox1').prop( 'readonly' ) ) {
if ( ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) + 1 ) &&
importScript("MediaWiki:Edittoolbar.js"); // תוספות לסרגל העריכה
!$( '#wpTextbox1' ).prop( 'readonly' )
importScript("MediaWiki:Templateslist.js"); // הצגת רשימת תבניות
) {
importScript("MediaWiki:Nosaving.js"); // חיוב תצוגה מקדימה למשתמשים אנונימיים
importScript( 'MediaWiki:Templateslist.js' ); // הצגת רשימת תבניות
importScript("MediaWiki:Edittools.js"); // שיפור התווים המיוחדים שמתחת לדף העריכה
importScript( 'MediaWiki:Nosaving.js' ); // חיוב תצוגה מקדימה למשתמשים אנונימיים
importScript("MediaWiki:Ref2template.js"); //ref סקריפט שמשנה את התנהגות כפתור "הערה": הוספת תבנית הערה. במקום להוסיף תג
importScript( 'MediaWiki:Edittools.js' ); // שיפור התווים המיוחדים שמתחת לדף העריכה
importScript( 'MediaWiki:Ref2template.js' ); //ref סקריפט שמשנה את התנהגות כפתור "הערה": הוספת תבנית הערה. במקום להוסיף תג
}
}


// סקריפטים לעמודים ספציפיים
// סקריפטים לעמודים ספציפיים
if( mw.config.get( 'wgCanonicalSpecialPageName' ) === "Upload" ) {
if( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload' ) {
importScript("MediaWiki:Licenses.js"); // שיפורים ברשיונות ושינויים בדף ההעלאה
importScript( 'MediaWiki:Licenses.js' ); // שיפורים ברשיונות ושינויים בדף ההעלאה
}
}


// הופעת [[תבנית:דיון חדש במזנון]] לפני יצירת פסקה חדשה במזנון
// הופעת [[תבנית:דיון חדש במזנון]] לפני יצירת פסקה חדשה במזנון
if(mw.config.get('wgPageName') === 'ויקיפדיה:מזנון') {
if( mw.config.get( 'wgPageName' ) === 'ויקיפדיה:מזנון' ) {
$(document).ready(function() {
$( document ).ready( function() {
var $addSectionLink = $('#ca-addsection a'),
var $addSectionLink = $( '#ca-addsection a' ),
currentHref = $addSectionLink.attr('href');
currentHref = $addSectionLink.attr( 'href' );


$addSectionLink.attr('href', currentHref + '&editintro=תבנית:דיון_חדש_במזנון');
$addSectionLink.attr( 'href', currentHref + '&editintro=תבנית:דיון_חדש_במזנון' );
});
} );
}
}
// link to sub pages
if ( mw.config.get( 'wgNamespaceNumber' ) > 0 &&
mw.config.get('wgNamespaceNumber') != 6 &&
mw.config.get('wgNamespaceNumber') != 14
) {
$ ( function() {
var linkText = mw.config.get( 'wgUserLanguage' ) == 'he' ? 'דפי משנה' : 'Sub pages',
linkTitle = mw.config.get( 'wgUserLanguage' ) == 'he' ? 'רשימת דפי המשנה של דף זה' : 'List of the sub pages of this page';
// שנה טובה
$( '#t-recentchangeslinked' ).after( $( '<li>' ).append( $( '<a>', {
addLink('p-personal', "https://he.wikipedia.org/wiki/%D7%A8%D7%90%D7%A9_%D7%94%D7%A9%D7%A0%D7%94",
text: linkText,
'🍯  🍯  🍯  שנה טובה' + (( $.inArray("autoconfirmed", mw.config.get( 'wgUserGroups' ) ) !== -1 )?(', ' +
href: mw.util.getUrl( 'Special:PrefixIndex/' + mw.config.get( 'wgPageName' ) ),
wgUserName):'') + ' !  🍎  🍎  🍎', 'pt-new-year', '', '', 'pt-logout');
title: linkTitle
} ) ) );
} );
}


/** WikiMiniAtlas *******************************************************
/** WikiMiniAtlas *******************************************************
שורה 107: שורה 104:
*  Maintainers: [[User:Dschwen]]
*  Maintainers: [[User:Dschwen]]
*/
*/
( function () {
( function () {
        if ( $( 'a.external.text[href*=geohack], div.kmldata' ).length ) {
if ( $( 'a.external.text[href*=geohack], div.kmldata' ).length ) {
            mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
        }
}
} )();
} )();


/*
/*
שורה 117: שורה 114:
* Originally created by [[:en:User:Cacycle]]
* Originally created by [[:en:User:Cacycle]]
*/
*/
$(function () {
$( function () {
if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgUserName' )) {
if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgUserName' ) ) {
                        var pageName = mw.config.get( 'wgPageName' );
            var pageName = mw.config.get( 'wgPageName' );
var slash = pageName.indexOf('/');
var slash = pageName.indexOf( '/' );
var norm = pageName.substr(0, slash) + mw.config.get( 'wgPageName' ).substr(slash).toLowerCase();
var norm = pageName.substr( 0, slash ) + mw.config.get( 'wgPageName' ).substr( slash ).toLowerCase();
var test = 'משתמש:' + mw.config.get( 'wgUserName' ).replace(/ /g, '_') + '/skin.';
var test = 'משתמש:' + mw.config.get( 'wgUserName' ).replace( / /g, '_' ) + '/skin.';
var ext = null;
var ext = null;
if (norm === test + 'js') {
 
if ( norm === test + 'js' ) {
ext = 'js';
ext = 'js';
} else if (norm === test + 'css') {
} else if (norm === test + 'css') {
ext = 'css';
ext = 'css';
}
}
if (ext !== null) {
 
window.location.href = window.location.href.replace(/\/skin.(css|js)/i, '/' + mw.config.get( 'skin' ) + '.' + ext);
if ( ext !== null ) {
window.location.href = window.location.href.replace(
/\/skin.(css|js)/i,
'/' + mw.config.get( 'skin' ) + '.' + ext
);
}
}
}
}


// create an event when "addportellink" is called, so scripts that manipulate menus ca readjust.
// create an event when util.addPortletLink() is called, so scripts that manipulate menus ca readjust.
var oldFunc = mw.util.addPortletLink;
var oldFunc = mw.util.addPortletLink;
if (typeof oldFunc === 'function') {
if ( typeof oldFunc === 'function' ) {
mw.util.addPortletLink = function() {
mw.util.addPortletLink = function () {
var res = oldFunc.apply( this, arguments );
var res = oldFunc.apply( this, arguments );
$( document ).trigger( 'new-portlet-link' );
$( document ).trigger( 'new-portlet-link' );
return res;
return res;
};
};
}
}
});
} );
 


if ( $.inArray( mw.config.get( 'wgPageName' ), ["ויקיפדיה:בוקמרקלטים", "שיחת_ויקיפדיה:בוקמרקלטים"] ) + 1 ) {   
if ( $.inArray( mw.config.get( 'wgPageName' ), [
importScript("MediaWiki:/common.js/bookmarkletsInit.js");                               // דף הבוקמרקלטים
'ויקיפדיה:בוקמרקלטים',
'שיחת_ויקיפדיה:בוקמרקלטים'
] ) + 1 ) {   
importScript( 'MediaWiki:bookmarkletsInit.js' ); // דף הבוקמרקלטים
}
}


if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {
importScript("MediaWiki:SearchEngines.js"); // בחירה במנועי חיפוש שונים
importScript( 'MediaWiki:SearchEngines.js' ); // בחירה במנועי חיפוש שונים
importScript('Mediawiki:Gadget-advanceSearch.js');
importScript( 'Mediawiki:Gadget-advanceSearch.js' );
}
 
// Adding results from Wikidata to search, when a page doesn't exist:
 
if (mw.config.get('wgCanonicalSpecialPageName') === 'Search' ||  (mw.config.get('wgArticleId') === 0 && mw.config.get('wgCanonicalSpecialPageName') === false)) {
mw.loader.load("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");
}
}


/*
/*
* Adds an automatic "{{תב|מוגן}}" or "{{תב|מוגן חלקית}}" template when the page is protected.
* Adds an automatic '{{תב|מוגן}}' or '{{תב|מוגן חלקית}}' template when the page is protected.
* You can use the {{תב|ללא הודעת הגנה אוטומטית}} to prevent the protection notice from being inserted.
* You can use the {{תב|ללא הודעת הגנה אוטומטית}} to prevent the protection notice from being inserted.
*
*
שורה 168: שורה 167:
*
*
*/
*/
var restrictionEdit = mw.config.get('wgRestrictionCreate') || mw.config.get('wgRestrictionEdit');
$(function(){
if( restrictionEdit &&
var restrictionEdit = mw.config.get('wgRestrictionCreate') || mw.config.get('wgRestrictionEdit');
restrictionEdit.length > 0 &&
if( restrictionEdit &&
(
restrictionEdit.length > 0 &&
restrictionEdit[0] === 'sysop' ||
(
restrictionEdit[0] === 'autoconfirmed' ||
restrictionEdit[0] === 'sysop' ||
restrictionEdit[0] === 'autopatrol'
restrictionEdit[0] === 'autoconfirmed' ||
) &&
restrictionEdit[0] === 'templateeditor' ||
$('#pl-noprotectionnotice, #pl-autoconfirmed, #pl-protected').length === 0 &&
restrictionEdit[0] === 'editautopatrolprotected'
($.inArray(mw.config.get('wgAction'), ['view','submit']) + 1)
) &&
) {
$( '#pl-noprotectionnotice, #pl-autoconfirmed, #pl-protected' ).length === 0 &&
var restrictionEditMapping = {
( $.inArray( mw.config.get( 'wgAction' ), [ 'view', 'submit' ] ) + 1 )
'sysop': 'מוגן',
) {
'autopatrol': 'הגנה מוגברת',
var restrictionEditMapping = {
'autoconfirmed': 'מוגן חלקית'
'sysop': 'מוגן',
};
'templateeditor': 'הגנת ממשק',
'editautopatrolprotected': 'הגנה מוגברת',
'autoconfirmed': 'מוגן חלקית'
};
$.get( mw.util.wikiScript( 'api' ), {
action: 'parse',
format: 'json',
text: '{{' + restrictionEditMapping[restrictionEdit[0]] + '}}',
prop: 'text|indicators',
title: mw.config.get('wgPageName'),
contentmodel: 'wikitext'
}, function( data ) {
$( function () {
$( '.printfooter' ).before( $( '<div>', {
'class': 'plprotected',
'html': data.parse.text['*']
} ) );
var newList = [];
$.each( data.parse.indicators, function ( name, indicator ) {
newList.push(
$( '<div>' )
        .addClass( 'mw-indicator' )
        .attr( 'id', mw.util.escapeIdForAttribute( 'mw-indicator-' + indicator.name ) )
        .html( indicator['*'] )
        .get( 0 ),
// Add a whitespace between the <div>s because
// they get displayed with display: inline-block
document.createTextNode( '\n' )
);
} );
$( '.mw-indicators' ).append( newList );
} );
} );
}
});
} );
 
// search meta-commands: make the table display clickabe keywords.
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {
mw.hook( 'he.wikipedia.collapsetables.loaded' ).add( function () {
'use strict';
 
var $searchBox = $( '#searchText input' ),
$metaStringsTable = $( '#mw-search-meta-strings' );
$metaStringsTable.find( 'span.mw-search-meta-string' ).wrap( $( '<a>' )
.click( function( e ) {
var currentText, newText;
 
e.preventDefault();


$.get( mw.util.wikiScript('api'), {
currentText = $searchBox.val();
action: 'parse',
newText = $( this ).text();
format: 'json',
text: '{{' + restrictionEditMapping[restrictionEdit[0]] + '}}',
prop: 'text',
title: mw.config.get('wgPageName'),
contentmodel:'wikitext'
}, function(data) {
$(function() {
$('.printfooter').before($('<div>', {
'class': 'plprotected',
'html': data.parse.text['*']
}));
});


});
$searchBox.val( currentText + newText );
}
} )
);
// Make the table appear only after the collapsible styles are loaded,
// so that it won't delay showing the search results
$metaStringsTable.css( 'display', 'table' );
} );
}


/* Use http redirect for Haaretz links until there's a less ad-hoc solution */
// On demand loading of scripts and gadgets, initial version from ruwiki.
if (location.protocol === 'https:') {
// Detects uses of template "טען סקריפט"
$('a.external[href^="http://www.haaretz.co.il"]').each(function() {
// and loads specifically-named scripts or gadgets.
$(this).attr('href', 'http://tools.wmflabs.org/hewiki-tools/redirect.php?q=' + $(this).attr('href'));
// for a gadget, its name as defined in gadgets-definition must begin with "ondemand-"
});
if ( mw.config.get('wgCanonicalNamespace') !== 'Special' )
}
mw.hook( 'wikipage.content' ).add( function( content ) {
});
var beenthere = {};
$( '.executeJS', content ).each( function () {
var gadget = $( this ).data( 'gadgetname' );
if ( gadget && $.trim( gadget ) ) mw.loader.load( 'ext.gadget.ondemand-' + $.trim( gadget ) ); // np repetitions - resourceloader takes care
} );
} );

גרסה אחרונה מ־08:46, 24 בנובמבר 2020

// Global variable hints for JSHint
/* global $, mw, importScript */

/* ייבוא סקריפטים */

/* פונקציה לייבוא סקריפט מ[[ויקיפדיה:סקריפטים]] */
function importUserScript() {
	'use strict';

	var args = arguments;

	mw.loader.using( 'mediawiki.util', function () {
		for ( var arg = 0; arg < args.length; arg++ ) {
			try {
				importScript( 'MediaWiki:סקריפטים/' + args[arg] + '.js' );
			}
			catch( e ) {
			}
		}
	} );
}

/* פונקציה הטוענת פונקציות בעת עליית הדף */
function addLoadEvent() {
	// Deprecated
}

mw.loader.using( 'mediawiki.util', function () {
	'use strict';

	importScript( 'MediaWiki:Functions.js' ); // פונקציות המצויות בשימוש בסקריפטים שונים

	if ( $.inArray( mw.config.get( 'wgPageName' ), [
		'עמוד_ראשי',
		'שיחה:עמוד_ראשי'
	] ) + 1 ) {
		importScript( 'MediaWiki:Mainpage.js' ); // שיפורים שונים בעמוד הראשי

		if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
			importScript( 'MediaWiki:Portals.js' );  // פורטלים מתחלפים בעמוד הראשי
		}
	}
	
	if ( mw.config.get( 'wgNamespaceNumber' ) === 6 ) {
		mw.loader.load( 'ext.gadget.ime' );
	}

	

	// סקריפטים עבור אנונימיים ו/או חדשיםs
	if ( $.inArray( 'autoconfirmed', mw.config.get( 'wgUserGroups' ) ) === -1 ) {
		importScript( 'MediaWiki:Autopurge.js' ); // הוספת אפשרות לרענון אוטומטי על ידי אנונימיים, ללא מעבר בטופס
		importScript( 'MediaWiki:Navtip.js' ); // הוספת התיבה "רוצה טיפ?" בצד למשתמשים אנונימיים
	}

	// סקריפטים לדפי עריכה
	if ( ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) + 1 ) &&
		!$( '#wpTextbox1' ).prop( 'readonly' )
	) {
		importScript( 'MediaWiki:Templateslist.js' ); // הצגת רשימת תבניות
		importScript( 'MediaWiki:Nosaving.js' ); // חיוב תצוגה מקדימה למשתמשים אנונימיים
		importScript( 'MediaWiki:Edittools.js' ); // שיפור התווים המיוחדים שמתחת לדף העריכה
		importScript( 'MediaWiki:Ref2template.js' ); //ref סקריפט שמשנה את התנהגות כפתור "הערה": הוספת תבנית הערה. במקום להוסיף תג
	}

	// סקריפטים לעמודים ספציפיים
	if( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload' ) {
		importScript( 'MediaWiki:Licenses.js' ); // שיפורים ברשיונות ושינויים בדף ההעלאה
	}

	// הופעת [[תבנית:דיון חדש במזנון]] לפני יצירת פסקה חדשה במזנון
	if( mw.config.get( 'wgPageName' ) === 'ויקיפדיה:מזנון' ) {
		$( document ).ready( function() {
			var $addSectionLink = $( '#ca-addsection a' ),
				currentHref = $addSectionLink.attr( 'href' );

			$addSectionLink.attr( 'href', currentHref + '&editintro=תבנית:דיון_חדש_במזנון' );
		} );
	}

	// link to sub pages
	if ( mw.config.get( 'wgNamespaceNumber' ) > 0 &&
		mw.config.get('wgNamespaceNumber') != 6 &&
		mw.config.get('wgNamespaceNumber') != 14
	) {
		$ ( function() {
			var linkText = mw.config.get( 'wgUserLanguage' ) == 'he' ? 'דפי משנה' : 'Sub pages',
				linkTitle = mw.config.get( 'wgUserLanguage' ) == 'he' ? 'רשימת דפי המשנה של דף זה' : 'List of the sub pages of this page';
	
			$( '#t-recentchangeslinked' ).after( $( '<li>' ).append( $( '<a>', {
				text: linkText,
				href: mw.util.getUrl( 'Special:PrefixIndex/' + mw.config.get( 'wgPageName' ) ),
				title: linkTitle
			} ) ) );
		} );
	}

	/** WikiMiniAtlas *******************************************************
	 *
	 *  Description: WikiMiniAtlas is a popup click and drag world map.
	 *               This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
	 *               The script itself is located on meta because it is used by many projects.
	 *               See [[Meta:WikiMiniAtlas]] for more information.
	 *  Maintainers: [[User:Dschwen]]
	 */
	( function () {
		if ( $( 'a.external.text[href*=geohack], div.kmldata' ).length ) {
			mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
		}
	} )();

	/*
	 * Description: Redirects from /User:UserName/skin.js or .css to the user's actual skin page. Used (also) in {{תב|דף אישי}}.
	 * Originally created by [[:en:User:Cacycle]]
	 */
	$( function () {
		if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgUserName' ) ) {
            var pageName = mw.config.get( 'wgPageName' );
			var slash = pageName.indexOf( '/' );
			var norm = pageName.substr( 0, slash ) + mw.config.get( 'wgPageName' ).substr( slash ).toLowerCase();
			var test = 'משתמש:' + mw.config.get( 'wgUserName' ).replace( / /g, '_' ) + '/skin.';
			var ext = null;

			if ( norm === test + 'js' ) {
				ext = 'js';
			} else if (norm === test + 'css') {
				ext = 'css';
			}

			if ( ext !== null ) {
				window.location.href = window.location.href.replace(
					/\/skin.(css|js)/i,
					'/' + mw.config.get( 'skin' ) + '.' + ext
				);
			}
		}

		// create an event when util.addPortletLink() is called, so scripts that manipulate menus ca readjust.
		var oldFunc = mw.util.addPortletLink;
		if ( typeof oldFunc === 'function' ) {
			mw.util.addPortletLink = function () {
				var res = oldFunc.apply( this, arguments );
				$( document ).trigger( 'new-portlet-link' );

				return res;
			};
		}
	} );

	if ( $.inArray( mw.config.get( 'wgPageName' ), [
		'ויקיפדיה:בוקמרקלטים',
		'שיחת_ויקיפדיה:בוקמרקלטים'
	] ) + 1 ) {  
		importScript( 'MediaWiki:bookmarkletsInit.js' ); // דף הבוקמרקלטים
	}

	if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {
		importScript( 'MediaWiki:SearchEngines.js' ); // בחירה במנועי חיפוש שונים
		importScript( 'Mediawiki:Gadget-advanceSearch.js' );
	}

	/*
	 * Adds an automatic '{{תב|מוגן}}' or '{{תב|מוגן חלקית}}' template when the page is protected.
	 * You can use the {{תב|ללא הודעת הגנה אוטומטית}} to prevent the protection notice from being inserted.
	 *
	 * written by [[User:ערן]], [[User:Yonidebest]]
	 *
	 */
	 $(function(){
	 	var restrictionEdit = mw.config.get('wgRestrictionCreate') || mw.config.get('wgRestrictionEdit');
		if( restrictionEdit &&
			restrictionEdit.length > 0 &&
			(
				restrictionEdit[0] === 'sysop' ||
				restrictionEdit[0] === 'autoconfirmed' ||
				restrictionEdit[0] === 'templateeditor' ||
				restrictionEdit[0] === 'editautopatrolprotected'
			) &&
			$( '#pl-noprotectionnotice, #pl-autoconfirmed, #pl-protected' ).length === 0 &&
			( $.inArray( mw.config.get( 'wgAction' ), [ 'view', 'submit' ] ) + 1 )
		) {
			var restrictionEditMapping = {
				'sysop': 'מוגן',
				'templateeditor': 'הגנת ממשק',
				'editautopatrolprotected': 'הגנה מוגברת',
				'autoconfirmed': 'מוגן חלקית'
			};
	
			$.get( mw.util.wikiScript( 'api' ), {
				action: 'parse',
				format: 'json',
				text: '{{' + restrictionEditMapping[restrictionEdit[0]] + '}}',
				prop: 'text|indicators',
				title: mw.config.get('wgPageName'),
				contentmodel: 'wikitext'
			}, function( data ) {
				$( function () {
					$( '.printfooter' ).before( $( '<div>', {
						'class': 'plprotected',
						'html': data.parse.text['*']
					} ) );
					
					var newList = [];
					$.each( data.parse.indicators, function ( name, indicator ) {
						newList.push(
							$( '<div>' )
							        .addClass( 'mw-indicator' )
							        .attr( 'id', mw.util.escapeIdForAttribute( 'mw-indicator-' + indicator.name ) )
							        .html( indicator['*'] )
							        .get( 0 ),
							// Add a whitespace between the <div>s because
							// they get displayed with display: inline-block
							document.createTextNode( '\n' )
						);
					} );
					$( '.mw-indicators' ).append( newList );
				} );
			} );
		}
	 });
} );

// search meta-commands: make the table display clickabe keywords.
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {
	mw.hook( 'he.wikipedia.collapsetables.loaded' ).add( function () {
		'use strict';

		var $searchBox = $( '#searchText input' ),
			$metaStringsTable = $( '#mw-search-meta-strings' );
		
		$metaStringsTable.find( 'span.mw-search-meta-string' ).wrap( $( '<a>' )
			.click( function( e ) {
				var currentText, newText;

				e.preventDefault();

				currentText = $searchBox.val();
				newText = $( this ).text();

				$searchBox.val( currentText + newText );				
			} )
		);
		
		// Make the table appear only after the collapsible styles are loaded,
		// so that it won't delay showing the search results
		$metaStringsTable.css( 'display', 'table' );
	} );
}

// On demand loading of scripts and gadgets, initial version from ruwiki.
// Detects uses of template "טען סקריפט"
// and loads specifically-named scripts or gadgets.
// for a gadget, its name as defined in gadgets-definition must begin with "ondemand-"
if ( mw.config.get('wgCanonicalNamespace') !== 'Special' ) 
mw.hook( 'wikipage.content' ).add( function( content ) {
		var beenthere = {};
		$( '.executeJS', content ).each( function () {
			var gadget = $( this ).data( 'gadgetname' );
			if ( gadget && $.trim( gadget ) ) mw.loader.load( 'ext.gadget.ondemand-' + $.trim( gadget ) ); // np repetitions - resourceloader takes care
		} );
} );