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

از فراغیب
پرش به ناوبری پرش به جستجو

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

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
// این باعث می‌شود تصاویر فقط وقتی کاربر اسکرول می‌کند لود شوند
 
 
document.addEventListener("DOMContentLoaded", function() {
  const imgs = document.querySelectorAll("img");
  imgs.forEach(img => {
    img.setAttribute("loading","lazy");
  });
});



//  می‌توانی جستجوی سریع‌تر فعال کنی:



if (window.innerWidth < 720) {
  document.body.classList.add("mobile-search-enhanced");
}


//

mw.loader.using('ext.wikiEditor').then(function () {

$('#wpTextbox1').wikiEditor('addToToolbar', {

sections: {
advanced: {
type: 'toolbar',
label: 'ابزارهای پیشرفته'
}
},

groups: {
templates: {
label: 'الگوها'
}
},

tools: {

infobox: {
label: 'اینفوباکس',
type: 'button',
icon: 'https://upload.wikimedia.org/wikipedia/commons/5/5a/VisualEditor_-_Template.svg',
action: {
type: 'encapsulate',
options: {
pre: '{{Infobox\n| نام = \n| تصویر = \n}}\n',
post: ''
}
}
},

ref: {
label: 'منبع',
type: 'button',
icon: 'https://upload.wikimedia.org/wikipedia/commons/9/9c/OOjs_UI_icon_reference.svg',
action: {
type: 'encapsulate',
options: {
pre: '<ref>',
post: '</ref>'
}
}
},

gallery: {
label: 'گالری تصاویر',
type: 'button',
action: {
type: 'encapsulate',
options: {
pre: '<gallery>\nFile:Example.jpg|توضیح\n</gallery>',
post: ''
}
}
},

category: {
label: 'دسته‌بندی',
type: 'button',
action: {
type: 'encapsulate',
options: {
pre: '[[رده:',
post: ']]'
}
}
}

}

});

});



mw.loader.using('ext.wikiEditor').then(function () {

function enToFaDigits(str) {
var id = ['0','1','2','3','4','5','6','7','8','9'];
var pd = ['۰','۱','۲','۳','۴','۵','۶','۷','۸','۹'];
for(var i=0;i<10;i++){
str = str.replace(new RegExp(id[i],'g'),pd[i]);
}
return str;
}

function faToEnDigits(str) {
var id = ['0','1','2','3','4','5','6','7','8','9'];
var pd = ['۰','۱','۲','۳','۴','۵','۶','۷','۸','۹'];
for(var i=0;i<10;i++){
str = str.replace(new RegExp(pd[i],'g'),id[i]);
}
return str;
}

$('#wpTextbox1').wikiEditor('addToToolbar', {

sections: {
digits: {
type: 'toolbar',
label: 'تبدیل اعداد'
}
},

groups: {
convert: {
label: 'ابزار'
}
},

tools: {

faDigits: {
label: 'اعداد فارسی',
type: 'button',
action: {
type: 'callback',
execute: function () {

var textarea = document.getElementById('wpTextbox1');
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var text = textarea.value.substring(start,end);

textarea.value =
textarea.value.substring(0,start) +
enToFaDigits(text) +
textarea.value.substring(end);

}
}
},

enDigits: {
label: 'اعداد انگلیسی',
type: 'button',
action: {
type: 'callback',
execute: function () {

var textarea = document.getElementById('wpTextbox1');
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var text = textarea.value.substring(start,end);

textarea.value =
textarea.value.substring(0,start) +
faToEnDigits(text) +
textarea.value.substring(end);

}
}
}

}

});

});

mw.loader.using(['jquery'], function () {
$(function () {

var menuHTML = `
<div id="wikiMenuButton">☰</div>

<div id="wikiMenu">
<a href="/wiki/صفحه_اصلی">صفحه اصلی</a>
<a href="/wiki/ویژه:آخرین_تغییرات">آخرین تغییرات</a>
<a href="/wiki/ویژه:صفحه‌ها">همه صفحه‌ها</a>
<a href="/wiki/ویژه:تصادفی">مقاله تصادفی</a>
<a href="/wiki/ویژه:جستجو">جستجو</a>
</div>
`;

$('body').prepend(menuHTML);

$('#wikiMenuButton').click(function(){
$('#wikiMenu').toggle();
});

});
});