MediaWiki:Common.js: Revizyonlar arasındaki fark

MYWiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Değişiklik özeti yok
Etiket: Geri alındı
Değişiklik özeti yok
Etiket: Elle geri alma
 
(Aynı kullanıcının aradaki diğer 10 değişikliği gösterilmiyor)
1. satır: 1. satır:
(function() {
mw.hook('wikipage.content').add(function () {
    if (mw.config.get('wgNamespaceNumber') < 0) return; // Özel: ve Dosya: vb. sayfalarda çalışmaz
    if (mw.config.get('wgTitle') === 'Anasayfa') return; // Anasayfa hariç
    if (mw.config.get('wgNamespaceNumber') !== 0) return; // Wiki sayfası değilse çık


     const currentUser = mw.config.get('wgUserName');
     var title = mw.config.get('wgTitle');
     const pageTitle = mw.config.get('wgPageName');
     var namespace = mw.config.get('wgNamespaceNumber');


     function countWords(text) {
     // Sadece ana içerik (0) namespace’inde ve Anasayfa hariç
         return text.trim().split(/\s+/).length;
    if (namespace !== 0 || title === 'Anasayfa') {
         return;
     }
     }


     function countCompoundWords(text) {
     var textLength = $('#mw-content-text').text().trim().length;
        return (text.match(/\b\w{2,}\w+\b/g) || []).length;
     var imageCount = $('#mw-content-text img').length;
    }
 
    function hasImages() {
        return document.querySelectorAll('img').length > 0;
    }
 
    function showTemplate(templateName, container=document.body) {
        const div = document.createElement('div');
        div.style.cssText = 'border:2px solid #ff6600; background-color:#fff3e6; padding:10px; border-radius:8px; font-weight:bold; color:#333; margin:10px 0;';
        if(templateName === 'Gelismeli') div.textContent = 'Bu sayfa yeterince geliştirilmemiştir. Lütfen içerik ekleyin!';
        if(templateName === 'Tecrübesiz') div.textContent = 'Bu kullanıcı tecrübesiz bir düzenleyicidir. Lütfen katkılarını gözden geçirin.';
        if(templateName === 'Hosgeldin') div.textContent = 'Hoşgeldin! Anasayfanı ve diğer sayfaları kontrol ederek katkıda bulunabilirsin.';
        container.prepend(div);
     }
 
    function checkPage() {
        const contentEl = document.querySelector('#mw-content-text');
        if(!contentEl) return;


        const text = contentEl.innerText || '';
    if (textLength < 600 || imageCount < 1) {
        if(countWords(text) < 3 || countCompoundWords(text) < 3 || !hasImages()) {
        $('#mw-content-text').prepend(
            showTemplate('Gelismeli');
             '<div class="gelismeli-uyari">' +
             // Kullanıcının sayfaları sayılacak (örnek: MediaWiki API kullan)
             '<div class="gelismeli-ikon">⚠️</div>' +
             fetch(`/api.php?action=query&list=allpages&apprefix=User:${currentUser}&format=json`)
            '<div class="gelismeli-icerik">' +
                .then(res => res.json())
            '<div class="gelismeli-baslik">Bu sayfa geliştirilmeli</div>' +
                .then(data => {
            '<div class="gelismeli-aciklama">Bu wiki yeterli içerik ve görsel barındırmıyor. Lütfen metni genişletin ve en az bir görsel ekleyin.</div>' +
                    const userPages = data.query.allpages || [];
            '</div></div>'
                    let countGelismeli = 0;
        );
                    userPages.forEach(p => {
                        // Burada gerçek kontroller için API ile pagecontent alınabilir
                        if(true) countGelismeli++; // örnek olarak hepsini say
                    });
                    if(countGelismeli >= 5) {
                        showTemplate('Tecrübesiz');
                        showTemplate('Hosgeldin');
                    }
                });
        }
     }
     }


    checkPage();
});
})();

19.04, 8 Şubat 2026 itibarı ile sayfanın şu anki hâli

mw.hook('wikipage.content').add(function () {

    var title = mw.config.get('wgTitle');
    var namespace = mw.config.get('wgNamespaceNumber');

    // Sadece ana içerik (0) namespace’inde ve Anasayfa hariç
    if (namespace !== 0 || title === 'Anasayfa') {
        return;
    }

    var textLength = $('#mw-content-text').text().trim().length;
    var imageCount = $('#mw-content-text img').length;

    if (textLength < 600 || imageCount < 1) {
        $('#mw-content-text').prepend(
            '<div class="gelismeli-uyari">' +
            '<div class="gelismeli-ikon">⚠️</div>' +
            '<div class="gelismeli-icerik">' +
            '<div class="gelismeli-baslik">Bu sayfa geliştirilmeli</div>' +
            '<div class="gelismeli-aciklama">Bu wiki yeterli içerik ve görsel barındırmıyor. Lütfen metni genişletin ve en az bir görsel ekleyin.</div>' +
            '</div></div>'
        );
    }

});