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 1.327: | Baris 1.327: | ||
/* ========================================================== | /* ========================================================== | ||
🛡️ MIPPEDIA | 🛡️ MIPPEDIA AUTO-FORMATTER ENGINE | ||
Fitur: Perbaikan Spasi, Tanda Baca, & Tipografi Otomatis | |||
========================================================== */ | ========================================================== */ | ||
(function() { | (function() { | ||
function | function cleanTypography(text) { | ||
var | var clean = text; | ||
// | // 1. Spasi Ganda: Ubah spasi yang lebih dari satu menjadi satu spasi saja | ||
clean = clean.replace(/[ \t]+/g, ' '); | |||
// 2. Tanda Baca (Koma & Titik): | |||
// Hapus spasi SEBELUM tanda baca, dan pastikan ada satu spasi SESUDAHnya | |||
// Contoh: "Halo ,apa kabar ." -> "Halo, apa kabar." | |||
clean = clean.replace(/\s+([,.!?;:])/g, '$1'); | |||
clean = clean.replace(/([,.!?;:])(?=[^\s\d,.!?;:])/g, '$1 '); | |||
// | // 3. Spasi di dalam kurung: "( teks )" -> "(teks)" | ||
clean = clean.replace(/\(\s+/g, '('); | |||
clean = clean.replace(/\s+\)/g, ')'); | |||
// 4. Perbaikan Baris Baru: Maksimal dua kali enter (biar gak ada ruang kosong raksasa) | |||
clean = clean.replace(/\n{3,}/g, '\n\n'); | |||
// 5. Simbol Khusus: Ubah (c) jadi ©, (r) jadi ®, atau -- jadi — (em-dash) agar pro | |||
clean = clean.replace(/\(c\)/gi, '©'); | |||
clean = clean.replace(/\(r\)/gi, '®'); | |||
clean = clean.replace(/ -- /g, ' — '); | |||
return clean; | |||
} | |||
// Jalankan pas user klik tombol Simpan | |||
if ( | $(document).on('click', '#wpSave, #wpSaveWidget, .editCheck-save, button[type="submit"]', function() { | ||
var | var $textbox = $('#wpTextbox1'); | ||
if ($textbox.length) { | |||
var originalText = $textbox.val(); | |||
var formattedText = cleanTypography(originalText); | |||
// Update isi kotak teks sebelum terkirim ke server | |||
if (originalText !== formattedText) { | |||
$textbox.val(formattedText); | |||
console.log("Mippedia System: Typography cleaned automatically."); | |||
} | |||
} | } | ||
}); | }); | ||
})(); | })(); | ||