مدیاویکی: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();
});
});
});