ekşi sözlük entrylerine sıra numarası verme aracı
目前為
// ==UserScript==
// @name enrtyNo
// @namespace https://eksisozluk.com/biri/bagcivan
// @version 0.4
// @description ekşi sözlük entrylerine sıra numarası verme aracı
// @author Tevfik Bagcivan
// @match https://eksisozluk.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=eksisozluk.com
// @grant nones
// @run-at document-end
// @license MIT
// ==/UserScript==
(function() {
'use strict';
const sayfadakiEnrty = 25 ; //sayfa başı entry ayarında gösterilen enrty sayısı
const entryler = document.getElementsByClassName('content'); //sayfadaki enrtyler
const linkler = document.getElementsByClassName('entry-date permalink'); //sayfadaki enrty linkleri
//sayfa numarasını bulma. eğer henüz diğer sayfalar oluşmadıysa varsayılan 1
try {
var sayfa = parseInt(document.querySelector("#topic > div.clearfix.sub-title-container > div.pager").getAttribute('data-currentpage'));
} catch(err) {
var sayfa = 1;
}
// her enrtye değer atamak için for döngüsü
for (let i = 0; i < entryler.length; i++) {
const baslangicNo = (sayfadakiEnrty*sayfa)+1-(sayfadakiEnrty)+i //döngünün başlayacağını enrtyNo hesaplama formülü. örneğin 2. sayfa 26'dan başlamalı
const enrty = entryler[i] //enrty listesindeki her bir enrty
const newChild = document.createElement('a'); //enrtyNo için a elementinin oluşturulması
newChild.style = "font-weight:bold"; //kalın
newChild.textContent = (baslangicNo)+'.';//enrtyNo
newChild.style.marginRight = "1px"; //sağdan boşluk
newChild.style.color = "#43A245"; //renk
newChild.className += " enrtyNo" //class
//click etkinliğindeki kopyalama olayı
newChild.addEventListener("click", function () {
let linkelement = document.createElement("input") //kopyalama elementi oluştur
linkelement.type = "text" ////kopyalama elementi text
let copylink = document.getElementsByClassName('entry-date permalink')[i].href; //kopyalanacak link
linkelement.value = copylink; //kopyalama elementine link ataması
document.body.appendChild(linkelement); //kopyalama elementin sayfaya eklenmesi
linkelement.select(); //kopyalama elementin sayfaya seçilmesi
document.execCommand('copy'); //kopyalama elementin panayo kopyalanması
linkelement.remove(); //kopyalama elementin slinmesi
});
newChild.title="enrty linkini kopyalamak için tıklayın" //enrtyNo üzerine geldiğinde çıkan açıkmala
enrty.insertAdjacentElement('afterbegin', newChild); //enrtyNo'un sayfaya eklenmesi
};
})();