MediaWiki:Common.js
Not: Yayımladıktan sonra değişiklikleri görmeniz için tarayıcınızın önbelleğini temizlemeniz gerekebilir.
- Firefox / Safari: Shift tuşuna basılıyken Yeniden Yükle'ye tıklayın ya da Ctrl-F5 ya da Ctrl-R tıklayın (Mac için ⌘-R)
- Google Chrome: Ctrl-Shift-R'ye basın. (Mac için ⌘-Shift-R)
- Edge: Ctrl basılıyken Yenile'ye tıklayın ya da Ctrl-F5'e basın.
/* Buraya konulacak JavaScript kodu sitedeki her kullanıcı için her sayfa yüklendiğinde çalışacaktır */
$(document).ready(function() {
// 1) Araçlar menüsüne emoji ekle
$('#p-tb h3').prepend('⚙️️ ');
});
mw.loader.using('mediawiki.api', function () {
jQuery(function ($) {
var lang = mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage');
// Sadece tam “en” kullanıcısına en, diğer herkese tr
var subpage = 'MediaWiki:Sidebar/' + (lang === 'en' ? 'en' : 'tr');
var fallback = 'MediaWiki:Sidebar';
var api = new mw.Api();
// 1) Önce o subpage'in gerçekten var olup olmadığını kontrol et
api.get({
action: 'query',
titles: subpage,
format: 'json'
}).then(function (res) {
var pages = res.query.pages;
// missing olmayan bir page varsa exists = true
var exists = Object.values(pages).some(function(p){ return !p.missing; });
// 2) Parse isteğini, ya subpage'e ya fallback'e yönlendir
return api.get({
action: 'parse',
page: exists ? subpage : fallback,
prop: 'text',
format:'json'
});
}).done(function (data) {
if (data.parse && data.parse.text) {
var html = data.parse.text['*'];
// Varsa Vector legacy ya da Vector2022 vs. selector'ları deneyip replace edelim
var $container = $('#mw-panel, #mw-navigation, .mw-sidebar').first();
if ($container.length) {
$container.html(html);
} else {
console.error('Sidebar konteyneri bulunamadı; selectorları kontrol edin.');
}
} else if (data.error) {
console.warn('Parse sırasında hata:', data.error);
}
}).fail(function (err) {
console.error('Sidebar yüklenirken AJAX hatası:', err);
});
});
});