MediaWiki:Common.js
Catatan: Setelah menerbitkan, Anda mungkin perlu melewati tembolok peramban web Anda untuk melihat perubahan.
- Firefox/Safari: Tekan dan tahan Shift sembari mengeklik Reload, atau tekan Ctrl-F5 atau Ctrl-R (⌘-R di Mac)
- Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R di Mac)
- Edge: Tahan Ctrl sembari mengeklik Refresh, atau tekan Ctrl-F5
/* Script Otomatis Artikel Terkait - Support Mobile (Minerva) & Desktop */
$(document).ready(function() {
function initRelatedArticles() {
if (mw.config.get('wgIsArticle') && mw.config.get('wgAction') === 'view' && mw.config.get('wgNamespaceNumber') === 0) {
var categories = mw.config.get('wgCategories');
if (categories.length > 0) {
// Filter kategori sampah/internal
var cleanCats = categories.filter(function(cat) {
return !cat.match(/halaman|artikel|maintenance|dispute|wiki/i);
});
var targetCat = cleanCats.length > 0 ? cleanCats[0] : categories[0];
$.getJSON(mw.util.wikiScript('api'), {
action: 'query',
list: 'categorymembers',
cmtitle: 'Category:' + targetCat,
cmlimit: 50,
format: 'json'
}, function(data) {
var members = data.query.categorymembers;
if (!members) return;
var currentTitle = mw.config.get('wgPageName').replace(/_/g, ' ');
var filteredMembers = members.filter(function(item) {
return item.title !== currentTitle;
});
// ACAK DAFTARNYA
filteredMembers.sort(function() { return 0.5 - Math.random(); });
var finalSelection = filteredMembers.slice(0, 4);
var html = '<div id="related-footer" style="clear:both; background-color: #f8f9fa; border: 1px solid #a2a9b1; padding: 15px; margin: 20px 0; border-radius: 5px;">';
html += '<h3 style="margin-top:0; border-bottom: 1px solid #a2a9b1; padding-bottom: 5px; font-size: 1.1em; color: #000;">Halaman Terkait</h3><ul style="list-style-type: none; margin: 10px 0 0 0; padding: 0;">';
var count = 0;
$.each(finalSelection, function(i, item) {
html += '<li style="margin-bottom: 10px; border-bottom: 1px solid #eaecf0; padding-bottom: 5px;">• <a style="font-weight: bold; color: #0645ad; text-decoration: none;" href="' + mw.util.getUrl(item.title) + '">' + item.title + '</a></li>';
count++;
});
html += '</ul></div>';
if (count > 0) {
// FIX BUAT MOBILE (Minerva)
// Di Minerva, kita tempel di atas footer atau setelah content-text
if ($('.minerva-footer').length) {
$('.minerva-footer').before(html); // Pasang di atas footer HP
} else if ($('#catlinks').length) {
$('#catlinks').after(html); // Pasang setelah kategori Desktop
} else {
$('#mw-content-text').after(html); // Backup terakhir
}
}
});
}
}
}
// Jalankan fungsi
initRelatedArticles();
});