Etdiyiniz dəyişikliklərin yayımlanandan sonra effekt verməsi üçün brauzerinizin keşini təmizləməyə ehtiyacınız ola bilər. Bunun üçün Chrome, Firefox, Edge, yaxud Safari istifadəçisisinizsə, klaviaturanızın Shift düyməsini sıxaraq brauzerin ⟳ səhifə yeniləmək düyməsini klik edə bilərsiniz.
/* <nowiki> */"use strict";mw.loader.using(['mediawiki.util','mediawiki.api','@wikimedia/codex','vue'],function(require){const{createMwApp}=require('vue');const{CdxDialog,CdxButton}=require('@wikimedia/codex');constapi=newmw.Api();constportletLink=mw.util.addPortletLink('p-ap','javascript:void(0);','Statistika','t-ap-stats','Məqalə haqqında statistik məlumatları göstər');functioncleanWikitext(wikitext){returnwikitext.replace(/\{\{[^{}]*\}\}/g,'').replace(/<ref[^>]*>.*?<\/ref>/gis,'').replace(/\[\[Kateqoriya:[^\]]+\]\]/gi,'').replace(/\[\[[^\|\]]*\|([^\]]+)\]\]/g,'$1').replace(/\[\[([^\]]+)\]\]/g,'$1').replace(/''+/g,'').replace(/<[^>]+>/g,'').replace(/&[a-z]+;/gi,'');}functioncountWords(text){constnormalized=text.replace(/\s+/g,' ').trim();constmatches=normalized.match(/\b[\wəöüıçşğƏÖÜÇŞĞİ]+\b/gui)||[];returnmatches.length;}constapp=createMwApp({data:()=>({dialogShown:false,loading:false,error:'',stats:null}),watch:{dialogShown(newVal){if(newVal)this.fetchStats();else{this.stats=null;this.error='';}}},methods:{asyncfetchStats(){this.loading=true;this.error='';this.stats=null;try{constres=awaitapi.get({action:'query',prop:'revisions',titles:mw.config.get('wgPageName'),rvprop:'content',formatversion:2});letcontent='';if(res&&res.query&&res.query.pages&&res.query.pages.length>0&&res.query.pages[0].revisions&&res.query.pages[0].revisions.length>0&&res.query.pages[0].revisions[0].content){content=res.query.pages[0].revisions[0].content;}constplain=cleanWikitext(content);constnormalizedPlain=plain.replace(/\s+/g,' ').trim();constnormalizedContent=content.replace(/\s+/g,' ').trim();this.stats={fullBytes:newBlob([content]).size,cleanBytes:newBlob([plain]).size,allWords:countWords(normalizedContent),words:countWords(normalizedPlain),totalChars:content.length,};}catch(e){console.error(e);this.error='Məlumat alınarkən xəta baş verdi.';}this.loading=false;}},template:` <cdx-dialog v-model:open="dialogShown" title="Məqalə statistikası" use-close-button close-button-label="Bağla" > <template #default> <div v-if="loading">Hesablanır…</div> <div v-else-if="stats"> <ul style="margin-left: 20px; padding-left: 0;"> <li><strong>Səhifənin ümumi həcmi (baytla):</strong> {{ stats.fullBytes.toLocaleString() }}</li> <li><strong>Mətnin real həcmi (baytla):</strong> {{ stats.cleanBytes.toLocaleString() }}</li> <li><strong>Ümumi söz sayı:</strong> {{ stats.allWords.toLocaleString() }}</li> <li><strong>Real söz sayı:</strong> {{ stats.words.toLocaleString() }}</li> <li><strong>Ümumi simvol sayı:</strong> {{ stats.totalChars.toLocaleString() }}</li> </ul> </div> <p v-if="error" style="color: red;">{{ error }}</p> </template> </cdx-dialog> `,mounted(){portletLink.addEventListener('click',()=>{this.dialogShown=true;});}});app.component('cdx-dialog',CdxDialog).component('cdx-button',CdxButton).mount(document.body.appendChild(document.createElement('div')));});/* </nowiki> */