مدیاویکی:Common.js

از ویکی‌سفر، راهنمای آزاد سفر

نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر/ Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: Ctrl-F5 را بفشارید.
/* Any JavaScript here will be loaded for all users on every page load. */

/*
* rwdImageMaps jQuery plugin v1.4
*
* Allows image maps to be used in a responsive design by recalculating the area coordinates to match the actual image size on load and window.resize
*
* Copyright (c) 2012 Matt Stow
* https://github.com/stowball/jQuery-rwdImageMaps
* http://mattstow.com
* Licensed under the MIT license
*/
;(function(a){a.fn.rwdImageMaps=function(){var d=this,c=parseFloat(a.fn.jquery);var b=function(){d.each(function(){if(typeof(a(this).attr("usemap"))=="undefined"){return}var f=this,e=a(f);a("<img />").on( 'load', function(){var o,k,i="width",n="height";if(c<1.6){o=f.getAttribute(i),k=f.getAttribute(n)}else{o=e.attr(i),k=e.attr(n)}if(!o||!k){var p=new Image();p.src=e.attr("src");if(!o){o=p.width}if(!k){k=p.height}}var g=e.width()/100,l=e.height()/100,j=e.attr("usemap").replace("#",""),m="coords";a('map[name="'+j+'"]').find("area").each(function(){var s=a(this);if(!s.data(m)){s.data(m,s.attr(m))}var r=s.data(m).split(","),q=new Array(r.length);for(var h=0;h<q.length;++h){if(h%2===0){q[h]=parseInt(((r[h]/o)*100)*g)}else{q[h]=parseInt(((r[h]/k)*100)*l)}}s.attr(m,q.toString())})}).attr("src",e.attr("src"))})};a(window).resize(b).trigger("resize");return this}})(jQuery);

$(document).ready(function(e) {
    $('img[usemap]').rwdImageMaps();
    $('.banner-box').css('font-size',($('.banner-box').width()*0.03)+'px');
    $('.banner-box').css('line-height',($('.banner-box').width()*0.08)+'px');
});

$(window).resize(function(e) {
    $('.banner-box').css('font-size',($('.banner-box').width()*0.03)+'px');
    $('.banner-box').css('line-height',($('.banner-box').width()*0.08)+'px');
});

/* Hide normal page title and move location of geo map symbol when a page has a pagebanner */
$(".topbanner").closest(".mw-body").children(".firstHeading").hide();
$(".topbanner").closest("#mw-content-text").children("#geoCoord").css({top:0});

function forcePreview() {
  if (mw.config.get('wgUserName') != null) return;
  if (document.getElementById('editpage-copywarn')) {
    var saveButton = document.getElementById("wpSave");
    var oldHTML = document.getElementById('editpage-copywarn').innerHTML;
    var newHTML = oldHTML + '<p style="width:100%;background-color:#FFE4E1;border:2px solid #700050; color:#000000; font-size:90%; padding:2px;">شما با نام کاربری وارد نشده\u200cاید، بدین منظور برای فعال\u200cسازی دکمهٔ <b>«صفجه ذخیر شود»</b> ابتدا باید از تغییرات پیش\u200cنمایش بگیرید، توجه داشته باشید که ویرایش شما با آی\u200cپی شما ثبت می\u200cشود، می\u200cتوانید ابتدا <a href="//fa.wikivoyage.org/wiki/Special:Login/signup" target="_blank">ثبت نام کنید</a>، اگر در حال حاضر در ویکی\u200cسفر و یا در دیگر پروژه\u200cهای بنیاد ویکی\u200cمدیا حساب کاربری دارید می\u200cتوانید به سیستم <a href="//fa.wikivoyage.org/wiki/Special:Login" target="_blank">وارد شوید</a>، برای اطلاعات بیشتر <a href="//fa.wikivoyage.org/wiki/%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D8%B3%D9%81%D8%B1:%D9%88%D8%B1%D9%88%D8%AF_%DB%8C%DA%A9%D9%BE%D8%A7%D8%B1%DA%86%D9%87" target="_blank">ویکی\u200cسفر:ورود یکپارچه</a> را بخوانید.</p>';
    if (!saveButton) return;
    if (location.search.search(/&action=edit/) == -1) return;
    document.getElementById('editpage-copywarn').innerHTML = newHTML;
    saveButton.disabled = true;
    saveButton.style.fontWeight = "normal";
    document.getElementById("wpPreview").style.fontWeight = "bold";
  }
}
$(document).ready(forcePreview);

$(function () {
	// این کد با بهبودهایی کوچک عنوان صفحه را هنگام ایجاد اصلاح می‌کند
	var uri = new mw.Uri();
	if ((mw.config.get('wgAction') === "edit") &&
			(mw.config.get('wgNamespaceNumber') === 0) &&
			(uri.query.redirected !== "1") && (uri.query.title !== undefined) &&
			(uri.query.redlink === "1")) {
 
		var oldTitle = uri.query.title.replace(/( |%20)/g, "_");
		var title = oldTitle;
 
		for (var i = 0; i < 10; i++) {
			title = title.replace(new RegExp('[' + '٠١٢٣٤٥٦٧٨٩'[i] + i + ']', 'g'), '۰۱۲۳۴۵۶۷۸۹'[i]); // replaces Arabic and Arabic-indic digits at once
		}
		title = title
			.replace(/[ىي]/g, "ی")
			.replace(/ك/g, "ک")
			.replace(/:(?=[^\s])/g, ": ")
			.replace(/([^\s])\(/, "$1 (")
			.replace(/([\.،«»\:؛\sزرذدواژؤإأآءةa-zA-Z])\u200c/g, "$1")
			.replace(/\u200c /g, " ")
			.replace(/(\u200c*$|^\u200c*)/g, "")
			.replace(/[\u200dـ]/g, "")
			.replace(/\(\s(.*?)\s\)/g, "($1)")
			.replace(/(ۀ|هٓ)/g, "هٔ")
			.replace(/ابهام ?زدایی/g, "ابهام‌زدایی");
 
		if (title !== oldTitle) {
			uri.query.title = title;
			uri.query.redirected = "1";
			window.location.href = uri.toString();
		}
	}
});

$(function () {
	if (mw.config.get('wgIsMainPage')) 
	{
		mw.util.addPortletLink('p-lang', '//meta.wikimedia.org/wiki/Wikivoyage/fa?uselang=fa&rtl=1', 'فهرست کامل', 'interwiki-completelist', 'فهرست کامل');
		var nstab = $('#ca-nstab-main span a');
		if (nstab && mw.config.get('wgUserLanguage') == 'fa') nstab.text('صفحهٔ اصلی');
	}
});

// seo experimental hack
if(['Recentchanges','Whatlinkshere'].indexOf(mw.config.get('wgCanonicalSpecialPageName'))!=-1)
{
	var robots_tag = $('meta[name=robots]');
	var robots = robots_tag.attr('content').split(',');
	var nofollow_index = robots.indexOf('nofollow');
	if(nofollow_index!=-1)
	{
		robots.pop(nofollow_index);
	}
	robots_tag.attr('content',robots.join(','));
}

$(function() {
	if(mw.config.get('wgCanonicalSpecialPageName') == 'Userlogin')
	{
		$('label[for=wpName2] span').hide();
	}
});