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.
(function(){// Stil əlavə etconststyle=document.createElement('style');style.textContent=` #catModalOverlay { position: fixed; top:0; left:0; width: 100%; height:100%; background: rgba(0,0,0,0.5); z-index: 9998; display: none; } #catModal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 20px; max-width: 500px; max-height: 80vh; overflow-y: auto; box-shadow: 0 0 10px black; z-index: 9999; display: none; font-family: Arial, sans-serif; border-radius: 6px; } #catModalClose { position: absolute; top: 8px; right: 10px; cursor: pointer; font-weight: bold; background: none; border: none; font-size: 20px; } #catList { max-height: 300px; overflow-y: auto; border-top: 1px solid #ccc; margin-top: 10px; padding-top: 10px; } #catModal button { margin-top: 10px; } #interwikiLinks a { margin-right: 10px; font-weight: bold; } #categoryFinder { font-size: small; display: block; margin-top: 5px; cursor: pointer; color: #0645ad; text-decoration: underline; } `;document.head.appendChild(style);// HTML elementləri əlavə etconstfinderLink=document.createElement('a');finderLink.id='categoryFinder';finderLink.textContent='(kateqoriya tap)';finderLink.href='#';document.querySelector('#firstHeading')?.after(finderLink);constoverlay=document.createElement('div');overlay.id='catModalOverlay';document.body.appendChild(overlay);constmodal=document.createElement('div');modal.id='catModal';modal.innerHTML=` <button id="catModalClose">X</button> <h3>Kateqoriya tap</h3> <div><b>Interviki (azwiki çıxarıldı):</b> <span id="interwikiLinks"></span></div> <div style="margin-top:10px;"> <input id="langInput" placeholder="Dil kodu (məs: en)" style="width:70px" maxlength="10"/> <input id="pageInput" placeholder="Səhifə adı (məs: Apple)" style="width:calc(100% - 80px)" /> <button id="searchBtn">Axtar</button> </div> <div id="message" style="font-style: italic; margin-top:10px;"></div> <div id="catList"></div> `;document.body.appendChild(modal);// Elementlərə referansconstcloseBtn=modal.querySelector('#catModalClose');constlangInput=modal.querySelector('#langInput');constpageInput=modal.querySelector('#pageInput');constsearchBtn=modal.querySelector('#searchBtn');constmessage=modal.querySelector('#message');constcatList=modal.querySelector('#catList');constinterwikiLinks=modal.querySelector('#interwikiLinks');// Modal açıb-bağlama funksiyalarıfunctionshowModal(){overlay.style.display='block';modal.style.display='block';langInput.focus();}functionhideModal(){overlay.style.display='none';modal.style.display='none';message.textContent='';catList.innerHTML='';langInput.value='';pageInput.value='';interwikiLinks.innerHTML='';}// Mövcud səhifənin wikidata elementi və interviki yükləasyncfunctionloadInterwikis(){message.textContent='Yüklənir...';interwikiLinks.textContent='';constpageTitle=mw.config.get('wgPageName');consturl=`https://az.wikipedia.org/w/api.php?action=query&prop=pageprops&titles=${encodeURIComponent(pageTitle)}&format=json&origin=*`;try{constdata=awaitfetch(url).then(r=>r.json());constpages=data.query.pages;constprops=Object.values(pages)[0].pageprops;if(!props||!props.wikibase_item){message.textContent='Vikidata elementi tapılmadı.';returnnull;}constentityId=props.wikibase_item;constwdUrl=`https://www.wikidata.org/wiki/Special:EntityData/${entityId}.json`;constwdData=awaitfetch(wdUrl).then(r=>r.json());constsitelinks=wdData.entities[entityId].sitelinks;if(!sitelinks){message.textContent='Interviki tapılmadı.';returnnull;}constfiltered=Object.entries(sitelinks).filter(([k])=>k!=='azwiki');if(filtered.length===0){message.textContent='Interviki yoxdur.';returnnull;}filtered.forEach(([key,val])=>{constlang=key.replace('wiki','');constpage=val.replace(/_/g,' ');consta=document.createElement('a');a.href=`https://${lang}.wikipedia.org/wiki/${val}`;a.target='_blank';a.textContent=`${lang} (${page})`;interwikiLinks.appendChild(a);});message.textContent='';returnentityId;}catch(e){message.textContent='Xəta baş verdi.';console.error(e);returnnull;}}// Kateqoriyalar yüklə və seçmək üçün göstərasyncfunctionloadCategories(langPage){message.textContent='Kateqoriyalar yüklənir...';catList.innerHTML='';const[lang,...pageParts]=langPage.split(':');constpage=pageParts.join(':').trim().replace(/ /g,'_');try{constapiUrl=`https://${lang}.wikipedia.org/w/api.php?action=query&prop=pageprops&titles=${encodeURIComponent(page)}&format=json&origin=*`;constdata=awaitfetch(apiUrl).then(r=>r.json());constpages=data.query.pages;constentityId=Object.values(pages)[0].pageprops?.wikibase_item;if(!entityId){message.textContent='Vikidata elementi tapılmadı.';return;}constwdUrl=`https://www.wikidata.org/wiki/Special:EntityData/${entityId}.json`;constwdJson=awaitfetch(wdUrl).then(r=>r.json());constclaims=wdJson.entities[entityId].claims.P910||[];if(claims.length===0){message.textContent='Heç bir kateqoriya tapılmadı.';return;}constcurrentCatsUrl=`https://az.wikipedia.org/w/api.php?action=query&prop=categories&titles=${encodeURIComponent(mw.config.get('wgPageName'))}&cllimit=max&format=json&origin=*`;constcurrentCatsData=awaitfetch(currentCatsUrl).then(r=>r.json());constpagesData=currentCatsData.query.pages;constcurrentCats=Object.values(pagesData)[0].categories?.map(c=>c.title)||[];lethtml=` <button id="selectAllBtn">Hamısını seç</button> <button id="deselectAllBtn">Heç birini seçmə</button><br><br> `;claims.forEach(claim=>{constcatId=claim.mainsnak.datavalue.value.id;constlabelAz=wdJson.entities[catId]?.labels?.az?.value||'';constlabelEn=wdJson.entities[catId]?.labels?.en?.value||'';constcatTitle=labelAz||labelEn||catId;if(currentCats.includes('Kateqoriya:'+catTitle))return;html+=`<label><input type="checkbox" class="catCheckbox" checked data-title="${catTitle}"> ${catTitle}</label><br>`;});if(!html.includes('catCheckbox')){message.textContent='Əlavə ediləcək yeni kateqoriya yoxdur.';return;}html+=`<br><button id="addSelectedBtn">Əlavə et</button>`;catList.innerHTML=html;message.textContent='';document.getElementById('selectAllBtn').onclick=()=>{catList.querySelectorAll('.catCheckbox').forEach(c=>c.checked=true);updateAddBtn();};document.getElementById('deselectAllBtn').onclick=()=>{catList.querySelectorAll('.catCheckbox').forEach(c=>c.checked=false);updateAddBtn();};constaddBtn=document.getElementById('addSelectedBtn');addBtn.onclick=()=>{constselected=[];catList.querySelectorAll('.catCheckbox').forEach(c=>{if(c.checked)selected.push(`[[Kateqoriya:${c.dataset.title}]]`);});if(selected.length===0){alert('Heç bir kateqoriya seçilməyib.');return;}insertCategories(selected.join('\n'));message.textContent='Kateqoriyalar əlavə olundu.';catList.innerHTML='';};catList.querySelectorAll('.catCheckbox').forEach(chk=>{chk.onchange=updateAddBtn;});functionupdateAddBtn(){consttotal=catList.querySelectorAll('.catCheckbox').length;constcheckedCount=[...catList.querySelectorAll('.catCheckbox')].filter(c=>c.checked).length;if(checkedCount===0){addBtn.textContent='Əlavə et';addBtn.disabled=true;}elseif(checkedCount===total){addBtn.textContent='Əlavə et';addBtn.disabled=false;}else{addBtn.textContent='Seçilənləri əlavə et';addBtn.disabled=false;}}updateAddBtn();}catch(e){message.textContent='Xəta baş verdi.';console.error(e);}}functioninsertCategories(text){consttextarea=document.getElementById('wpTextbox1');if(!textarea){alert(' sahəsi tapılmadı!');return;}textarea.value+='\n'+text;}// EventlərfinderLink.addEventListener('click',asynce=>{e.preventDefault();showModal();awaitloadInterwikis();});closeBtn.addEventListener('click',hideModal);overlay.addEventListener('click',hideModal);searchBtn.addEventListener('click',()=>{constlang=langInput.value.trim();constpage=pageInput.value.trim();if(!lang||!page){alert('Dil kodu və səhifə adı lazımdır!');return;}loadCategories(`${lang}:${page}`);});[langInput,pageInput].forEach(inp=>{inp.addEventListener('keydown',e=>{if(e.key==='Enter'){e.preventDefault();searchBtn.click();}});});})();