MediaWiki:Common.js
Tampilan
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
/* ==========================================================
🧠 MIPPEDIA DATA AUTO-DESCRIPTION (ULTIMATUM EDITION)
========================================================== */
(function() {
$(document).ready(function() {
var $descBox = $('#mip-auto-description');
var $wrapper = $('#mip-desc-wrapper');
var $triggerCont = $('#mip-trigger-container');
var $triggerBtn = $('#mip-desc-trigger');
if ($descBox.length) {
var pageTitle = mw.config.get('wgPageName');
var apiUrl = 'https://id.mippedia.org/w/api.php';
$.ajax({
url: apiUrl,
data: {
action: 'query',
prop: 'extracts',
exintro: true,
explaintext: true,
titles: pageTitle,
format: 'json',
origin: '*'
},
dataType: 'json',
success: function(data) {
var pages = data.query.pages;
var pageId = Object.keys(pages)[0];
if (pageId != "-1") {
var extract = pages[pageId].extract;
// 1. PEMBERSIHAN TOTAL
extract = extract.replace(/\{\{[^}]+\}\}/g, ''); // Hapus {{Template}}
extract = extract.replace(/\(\s*\)/g, ''); // Hapus kurung kosong ( ) sisa template
extract = extract.replace(/\s\s+/g, ' '); // Benerin spasi renggang
extract = extract.trim();
var sourceLink = 'https://id.mippedia.org/wiki/' + encodeURIComponent(pageTitle);
var fullContent = extract + ' <a href="' + sourceLink + '" target="_blank" style="color: #6a5acd; font-weight: bold; text-decoration: none;">Dari Mippedia ↗️</a>';
// 2. TAMPILKAN
$descBox.html(fullContent);
// 3. CEK TINGGI (Dikasih delay biar render beres dulu)
setTimeout(function() {
var actualHeight = $descBox[0].scrollHeight;
if (actualHeight > 95) {
$triggerCont.show();
}
}, 800);
}
}
});
// 4. EVENT KLIK SMOOTH
$triggerBtn.on('click', function() {
var actualHeight = $descBox[0].scrollHeight;
if ($wrapper.css('max-height') === '95px') {
$wrapper.css('max-height', (actualHeight + 40) + 'px');
$(this).text('- Lipat Deskripsi').css('background', '#6a5acd').css('color', '#fff');
} else {
$wrapper.css('max-height', '95px');
$(this).text('+ Tampilkan Selengkapnya').css('background', '#f1f0ff').css('color', '#6a5acd');
}
});
}
});
})();