MediaWiki:Common.js
MediaWiki arayüz sayfası
More actions
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.
/* Ana Sayfa Riski Sıfırlanmış Son Değişiklikler Feed Motoru */
mw.loader.using(['mediawiki.api', 'mediawiki.util'], function () {
$(document).ready(function () {
var $feedContainer = $('#wiki-recent-js-feed');
if (!$feedContainer.length) return;
var api = new mw.Api();
// Teknik sayfaları (Şablon, Kategori, Özel vs.) baştan filtreleyip sadece ana maddeleri çağırıyoruz
api.get({
action: 'query',
list: 'recentchanges',
rcnamespace: 0,
rclimit: 5,
rctype: 'edit|new',
format: 'json'
}).done(function (data) {
var items = data.query.recentchanges;
if (!items || items.length === 0) {
$feedContainer.html('<div style="color:#666; padding:20px; text-align:center;">Henüz bir değişiklik bulunmuyor.</div>');
return;
}
var htmlOutput = '';
// Kodun kilitlenmesini önlemek için doğrudan HTML üretim döngüsüne giriyoruz
items.forEach(function (item) {
var pageTitle = item.title;
var pageLink = mw.util.getUrl(pageTitle);
// İnatçı görsel hatalarını aşmak için: Buraya sitendeki varsayılan bir görselin adını (örn: Recent-default.jpg)
// ya da direkt MediaWiki'nin kendi yüklediğin logo/ikon URL'sini koyabilirsin. Şu an güvenli bir görsel alanı ayrıldı.
var defaultThumb = '/skins/Common/images/magnify.png';
htmlOutput += '<div class="wiki-recent-row">' +
'<div class="wiki-recent-text">' +
'<div class="wiki-recent-title"><a href="' + pageLink + '">' + pageTitle + '</a></div>' +
'</div>' +
'<div class="wiki-recent-img-wrapper">' +
'<a href="' + pageLink + '"><div class="wiki-recent-fake-thumb">▶</div></a>' +
'</div>' +
'</div>';
});
$feedContainer.html(htmlOutput);
}).fail(function () {
$feedContainer.html('<div style="color:#888; padding:20px; text-align:center;">Akış yüklenirken bir sorun oluştu.</div>');
});
});
});