En çok yorum yapanlar eklentisi |
Yorumlar aslında blog sayfalarının olmazsa olmazlarıdır. Kişisel olarak paylaşılan düşüncelere yapılan yorumlar yazarı doğru yönlendirir ve ilerde daha güzel, daha kaliteli paylaşımların yapılmasını sağlar. Bu açıdan bakıldığında da kimlerin en çok katkıda bulunduğunu bilmek önemlidir.
En çok yorum yapanlar listesi |
Yukarıda yer alan görsel bu eklentinin (en çok yorum yapanlar) canlı görünümü. Bu arada yorumlarıyla bana ve bloguma katkıda bulunan arkadaşlarıma teşekkür ederim.
Şimdi gelelim en çok yorum yapanlar eklentisini blogumuza eklemeye
İlk olarak Blogger kullanıcı panelinden Yerleşim sekmesini seçiyoruz. Ardından açılan sayfada dilediğimiz alan için Gadget Ekle ve son olarak seçeneklerden HTML/JavaScript Ekle yi tercih edip, aşağıdaki kodları ekliyoruz.
<style type="text/css">
.top-commentators {
margin: 3px 0;
border-bottom: 1px dotted #ccc;
}
.avatar-top-commentators {
vertical-align:middle;
border-radius: 30px;
}
.top-commentators .commenter-link-name {
padding-left:0;
}
</style>
<script type="text/javascript">
var maxTopCommenters = 8;
var minComments = 1;
var numDays = 0;
var excludeMe = true;
var excludeUsers = ["Anonymous", "someotherusertoexclude"];
var maxUserNameLength = 42;
//
var txtTopLine = '<b>[#].</b> [image] [user] ([count])';
var txtNoTopCommenters = 'No top commentators at this time.';
var txtAnonymous = '';
//
var sizeAvatar = 33;
var cropAvatar = true;
//
var urlNoAvatar = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSJeTaE_ebH3c1SIJfqhCT2PA7KKazI73Vl2ibgYVxMVJCCoo9a3AIOeVXURwj8rCxVbL1UqWM-ZNVoScIV5ZPH3rF-LhxP0O5D9SAHRm6-Zr-KFHh8IYXQE5Ske7T6zSKs1CTnZ9WKCxE/s1600/avatar_blue_m_96.png" + sizeAvatar;
var urlAnoAvatar = 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTncSyhyphenhyphenYYwKcepSsh5iIDptMvTCfsXekupL7yoBaCJua85_jEE3rHBECUAyDscg60eDVXZM3BHjsbEBv9MhNpAXLK3VW6n1f-KbhwozBM7sespTvA4qbC3CUM16yQvWac9H7QEzkohsmd/s1600/avatar1.png' + sizeAvatar;
var urlMyProfile = '';
var urlMyAvatar = '';
if(!Array.indexOf) {
Array.prototype.indexOf=function(obj) {
for(var i=0;i<this.length;i++) if(this[i]==obj) return i;
return -1;
}}
function replaceTopCmtVars(text, item, position)
{
if(!item || !item.author) return text;
var author = item.author;
var authorUri = "";
if(author.uri && author.uri.$t != "")
authorUri = author.uri.$t;
var avaimg = urlAnoAvatar;
var bloggerprofile = "https://www.blogger.com/profile/";
if(author.gd$image && author.gd$image.src && authorUri.substr(0,bloggerprofile.length) == bloggerprofile)
avaimg = author.gd$image.src;
else {
var parseurl = document.createElement('a');
if(authorUri != "") {
parseurl.href = authorUri;
avaimg = 'https://www.google.com/s2/favicons?domain=' + parseurl.hostname;
}
}
if(urlMyProfile != "" && authorUri == urlMyProfile && urlMyAvatar != "")
avaimg = urlMyAvatar;
if(avaimg == "https://img2.blogblog.com/img/b16-rounded.gif" && urlNoAvatar != "")
avaimg = urlNoAvatar;
var newsize="s"+sizeAvatar;
avaimg = avaimg.replace(/\/s\d\d+-c\//, "/"+newsize+"-c/");
if(cropAvatar) newsize+="-c";
avaimg = avaimg.replace(/\/s\d\d+(-c){0,1}\//, "/"+newsize+"/");
var authorName = author.name.$t;
if(authorName == 'Anonymous' && txtAnonymous != '' && avaimg == urlAnoAvatar)
authorName = txtAnonymous;
var imgcode = '<img class="avatar-top-commentators" height="'+sizeAvatar+'" width="'+sizeAvatar+'" title="'+authorName+'" src="'+avaimg+'" />';
if(authorUri!="") imgcode = '<a href="'+authorUri+'">'+imgcode+'</a>';
if(maxUserNameLength > 3 && authorName.length > maxUserNameLength)
authorName = authorName.substr(0, maxUserNameLength-3) + "...";
var authorcode = authorName;
if(authorUri!="") authorcode = '<a class="commenter-link-name" href="'+authorUri+'">'+authorcode+'</a>';
text = text.replace('[user]', authorcode);
text = text.replace('[image]', imgcode);
text = text.replace('[#]', position);
text = text.replace('[count]', item.count);
return text;
}
var topcommenters = {};
var ndxbase = 1;
function showTopCommenters(json) {
var one_day=1000*60*60*24;
var today = new Date();
if(urlMyProfile == "") {
var elements = document.getElementsByTagName("*");
var expr = /(^| )profile-link( |$)/;
for(var i=0 ; i<elements.length ; i++)
if(expr.test(elements[i].className)) {
urlMyProfile = elements[i].href;
break;
}
}
if(json && json.feed && json.feed.entry && json.feed.entry.length) for(var i = 0 ; i < json.feed.entry.length ; i++ ) {
var entry = json.feed.entry[i];
if(numDays > 0) {
var datePart = entry.published.$t.match(/\d+/g);
var cmtDate = new Date(datePart[0],datePart[1]-1,datePart[2],datePart[3],datePart[4],datePart[5]);
var days = Math.ceil((today.getTime()-cmtDate.getTime())/(one_day));
if(days > numDays) break;
}
var authorUri = "";
if(entry.author[0].uri && entry.author[0].uri.$t != "")
authorUri = entry.author[0].uri.$t;
if(excludeMe && authorUri != "" && authorUri == urlMyProfile)
continue;
var authorName = entry.author[0].name.$t;
if(excludeUsers.indexOf(authorName) != -1)
continue;
var hash=entry.author[0].name.$t + "-" + authorUri;
if(topcommenters[hash])
topcommenters[hash].count++;
else {
var commenter = new Object();
commenter.author = entry.author[0];
commenter.count = 1;
topcommenters[hash] = commenter;
}
}
if(json && json.feed && json.feed.entry && json.feed.entry.length && json.feed.entry.length == 200) {
ndxbase += 200;
document.write('<script type="text/javascript" src="https://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&start-index='+ndxbase+'&alt=json-in-script&callback=showTopCommenters"></'+'script>');
return;
}
// convert object to array of tuples
var tuplear = [];
for(var key in topcommenters) tuplear.push([key, topcommenters[key]]);
tuplear.sort(function(a, b) {
if(b[1].count-a[1].count)
return b[1].count-a[1].count;
return (a[1].author.name.$t.toLowerCase() < b[1].author.name.$t.toLowerCase()) ? -1 : 1;
});
var realcount = 0;
for(var i = 0; i < maxTopCommenters && i < tuplear.length ; i++) {
var item = tuplear[i][1];
if(item.count < minComments)
break;
document.write('<di'+'v class="top-commentators">');
document.write(replaceTopCmtVars(txtTopLine, item, realcount+1));
document.write('</d'+'iv>');
realcount++;
}
if(!realcount)
document.write(txtNoTopCommenters);
}
document.write('<script type="text/javascript" src="https://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&alt=json-in-script&callback=showTopCommenters"></'+'script>');
</script>
Daha sonra kaydedip blogumuzu kontrol ediyoruz. Biraz geç açılabilir haberiniz olsun.
Harika bir paylasim olmuş ellerinize sağlık.
YanıtlaSilBu kodu kullanmak isteyen çok kişi olacaktır. Teşekkürler
YanıtlaSilBen teşekkür ederim yorumunuz için.
SilÇok işimize yarayacak bir konu.
YanıtlaSilTeşekkürler
Bu yorum yazar tarafından silindi.
YanıtlaSilO kadar kolay oldu ki tek seferde başardım. Günlerdir bu eklentiyi arıyordum. Çok çok teşekkür ederim :-)
YanıtlaSilBu yorum yazar tarafından silindi.
YanıtlaSilEklenti olarak istediğiniz alana ekleyebilirsiniz.
SilTuhaf bir şey yazdığımı anlayıp sildim yazdığımı. Sayfanda göremediğim için birden farklı bir yere yapıştırıyoruz gibi algıladım :) teşekkürler.. (amma gevezeymişim senin sayfanda :))
Silİlginçmiş cidden :) beğendim.. aklıma da not ettim bu ayrıntıyı :)
YanıtlaSilTeşekkürler çok ama çok işime yaradı :D
YanıtlaSilGeçen haftalarda bu sene bloguma en çok yorum yapan 2 okuyucuma Krakow'dan bir hediye göndereceğimi yazdıktan sonra, 1 senelik yorumların yapıldığı bir excel dosyası hazırladım. Keşke o zaman bu eklentiden haberim olsaydı.
YanıtlaSilÇok uğraştırmıştır o, yazık olmuş...
SilEliniz Sağlık Kesinlikle mükemmel bir eklenti keşke daha önceden görseydim bencede etkinlikler için muazzam bir eklenti teşekkürler @Blog Tecrübem
YanıtlaSil