MediaWiki:Common.js: Perbedaan antara revisi
Tampilan
Tidak ada ringkasan suntingan Tanda: Dikembalikan Suntingan perangkat seluler Suntingan peramban seluler |
Tidak ada ringkasan suntingan Tanda: Dikembalikan Suntingan perangkat seluler Suntingan peramban seluler |
||
| Baris 1: | Baris 1: | ||
/* Script Otomatis Artikel Terkait - | /* Script Otomatis Artikel Terkait - Support Mobile (Minerva) & Desktop */ | ||
$(document).ready(function() { | $(document).ready(function() { | ||
if (mw.config.get('wgIsArticle') && mw.config.get('wgAction') === 'view' && mw.config.get('wgNamespaceNumber') === 0) { | 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(); | |||
}); | }); | ||
Revisi per 9 April 2026 19.48
/* 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();
});