MediaWiki:Common.js: Perbedaan antara revisi
Tidak ada ringkasan suntingan Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
Tidak ada ringkasan suntingan Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
||
| Baris 697: | Baris 697: | ||
/* ========================================================== | /* ========================================================== | ||
🗞️ MIPPEDIA DATA - GLOBAL NEWS FEED | |||
Otomatis menarik artikel terkait dari Mippedia ID | |||
========================================================== */ | ========================================================== */ | ||
(function() { | (function() { | ||
$(document).ready(function() { | $(document).ready(function() { | ||
// | var pageTitle = mw.config.get('wgPageName').replace(/_/g, ' '); | ||
var $ | var $target = $('#mw-content-text'); | ||
// | // Jangan jalan di Halaman Utama | ||
if (mw.config.get('wgNamespaceNumber') !== 0 || pageTitle === 'Halaman Utama') return; | |||
var apiUrl = "https://id.mippedia.org/api.php?action=query&list=search&srsearch=" + encodeURIComponent(pageTitle) + "&srlimit=3&format=json&origin=*"; | |||
var | $.getJSON(apiUrl, function(data) { | ||
var searchResults = data.query.search; | |||
if (searchResults.length > 0) { | |||
var $newsBox = $('<div id="mip-news-feed">').css({ | |||
'margin': '25px 0', 'padding': '15px', 'background': '#fff', | |||
'border': '1px solid #e0daff', 'border-left': '4px solid #6a5acd', 'border-radius': '8px' | |||
}); | |||
$newsBox.append('<div style="font-weight:bold; color:#6a5acd; margin-bottom:12px; font-size:0.95em;">🗞️ Update Terkait di Mippedia</div>'); | |||
searchResults.forEach(function(res) { | |||
var link = "https://id.mippedia.org/wiki/" + encodeURIComponent(res.title.replace(/ /g, '_')); | |||
var item = '<div style="margin-bottom:10px; border-bottom:1px solid #f0f0f0; padding-bottom:8px;">' + | |||
'<a href="' + link + '" target="_blank" style="font-weight:bold; color:#333; text-decoration:none; font-size:0.9em;">' + res.title + '</a>' + | |||
'<div style="font-size:0.8em; color:#666; margin-top:3px;">' + res.snippet + '...</div>' + | |||
'</div>'; | |||
$newsBox.append(item); | |||
}); | |||
// Masukkan setelah peta relasi atau deskripsi | |||
$ | $target.append($newsBox); | ||
} | } | ||
}); | |||
}); | |||
})(); | |||
/* ========================================================== | |||
🧠 MIPPEDIA DATA - SMART REDIRECT SUGGESTION | |||
Mendeteksi typo dan menyarankan halaman yang benar | |||
========================================================== */ | |||
(function() { | |||
$(document).ready(function() { | |||
// Cek apakah ini halaman "Halaman tidak ditemukan" | |||
if (!$('.noarticletext').length && !$('#noarticletext').length) return; | |||
var brokenTitle = mw.config.get('wgPageName').replace(/_/g, ' '); | |||
var api = new mw.Api(); | |||
api.get({ | |||
action: 'query', | |||
list: 'search', | |||
srsearch: brokenTitle, | |||
srlimit: 3, | |||
format: 'json' | |||
}).done(function(data) { | |||
var suggestions = data.query.search; | |||
if (suggestions.length > 0) { | |||
var $suggestBox = $('<div id="mip-suggest-box">').css({ | |||
'margin': '20px 0', 'padding': '20px', 'background': '#f4f1ff', | |||
'border': '1px solid #6a5acd', 'border-radius': '12px', 'text-align': 'center' | |||
}); | |||
$suggestBox.append('<div style="font-size:1.5em; margin-bottom:10px;">🤔</div>'); | |||
$suggestBox.append('<div style="font-weight:bold; color:#333;">Halaman tidak ditemukan, tapi mungkin maksud Anda:</div>'); | |||
var $list = $('<div style="margin-top:15px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px;"></div>'); | |||
suggestions.forEach(function(s) { | |||
var sLink = '<a href="/wiki/' + encodeURIComponent(s.title.replace(/ /g, '_')) + '" ' + | |||
'style="padding:8px 15px; background:#6a5acd; color:white; border-radius:20px; text-decoration:none; font-weight:bold; font-size:0.9em;">' + | |||
s.title + '</a>'; | |||
$list.append(sLink); | |||
}); | }); | ||
$suggestBox.append($list); | |||
$('.noarticletext').first().after($suggestBox); | |||
} | } | ||
}); | }); | ||
}); | }); | ||
})(); | })(); | ||