Saturday, September 10, 2016

Related Post Blogger Widget

Related Post Blogger Widget


CSS

.item-related h3 a,
.post-box-title {
font-family: Roboto Slab;
font-weight: 700;
font-style: normal;
color: #363b3f
}
.post-box-title {
font-size: 22px;
line-height: 1.75;
letter-spacing: 0;
text-transform: none;
margin-bottom: 20px
}
.item-related {
width: 292px;
float: left;
margin-right: 32px
}
.item-related:last-child {
margin-right: 0
}
.container.sp_sidebar .item-related {
width: 188px;
margin-right: 19px
}
.container.sp_sidebar .item-related:last-child {
margin-right: 0
}
.item-related img {
margin-bottom: 6px;
width: 100%;
height: auto
}
.item-related h3 a {
font-size: 16px;
line-height: 1.5em;
margin-top: 0;
margin-bottom: 15px
}
.item-related span.date {
font-size: 10px;
font-family: "Open Sans", sans-serif;
text-transform: uppercase;
font-style: italic;
color: #999
}
.post-related {
margin-top: 30px;
margin-bottom: 70px;
overflow: hidden;
border-style: double;
border-width: 4px 0 0;
padding-top: 50px;
padding-bottom: 0;
border-color: #efeff0;
border-color: rgba(54, 59, 63, .08)
}

Javascript

<script type='text/javascript'>
//<![CDATA[
var relatedTitles=new Array();var relatedTitlesNum=0;var relatedUrls=new Array();var thumburl=new Array();function related_results_labels_thumbs(json){for(var i=0;i<json.feed.entry.length;i++){var entry=json.feed.entry[i];relatedTitles[relatedTitlesNum]=entry.title.$t;try{thumburl[relatedTitlesNum]=entry.gform_foot.url}catch(error){s=entry.content.$t;a=s.indexOf("<img");b=s.indexOf("src="",a);c=s.indexOf(""",b+5);d=s.substr(b+5,c-b-5);if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")){thumburl[relatedTitlesNum]=d}else thumburl[relatedTitlesNum]='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi726_hl_UmOQw0BvyHz__Rud8UDJa5OtAlfzuh-AUIgtf7mPHfoO0RrlNOPYjyPQDwx7lhd8dOiCeM9zOm6rFDnVFARZW1f9qf48AYVnDUPn1ASLjKysBGT9KT-5f2YnWCL8wzxR-DU2k6/s1600/no-thumbnail.png'}if(relatedTitles[relatedTitlesNum].length>35)relatedTitles[relatedTitlesNum]=relatedTitles[relatedTitlesNum].substring(0,35)+"...";for(var k=0;k<entry.link.length;k++){if(entry.link[k].rel=='alternate'){relatedUrls[relatedTitlesNum]=entry.link[k].href;relatedTitlesNum++}}}}function removeRelatedDuplicates_thumbs(){var tmp=new Array(0);var tmp2=new Array(0);var tmp3=new Array(0);for(var i=0;i<relatedUrls.length;i++){if(!contains_thumbs(tmp,relatedUrls[i])){tmp.length+=1;tmp[tmp.length-1]=relatedUrls[i];tmp2.length+=1;tmp3.length+=1;tmp2[tmp2.length-1]=relatedTitles[i];tmp3[tmp3.length-1]=thumburl[i]}}relatedTitles=tmp2;relatedUrls=tmp;thumburl=tmp3}function contains_thumbs(a,e){for(var j=0;j<a.length;j++)if(a[j]==e)return true;return false}function printRelatedLabels_thumbs(){for(var i=0;i<relatedUrls.length;i++){if((relatedUrls[i]==currentposturl)||(!(relatedTitles[i]))){relatedUrls.splice(i,1);relatedTitles.splice(i,1);thumburl.splice(i,1);i--}}var r=Math.floor((relatedTitles.length-1)*Math.random());var i=0;if(relatedTitles.length>0)document.write('<h4>'+relatedpoststitle+'</h4>');document.write('<div style="clear: both;"/>');while(i<relatedTitles.length&&i<20&&i<maxresults){document.write('<a style="text-decoration:none;margin:0 4px 10px 0;float:left;');if(i!=0)document.write('"');else document.write('"');document.write(' href="'+relatedUrls[r]+'"><img class="related_img" src="'+thumburl[r]+'"/><br/><div id="related-title">'+relatedTitles[r]+'</div></a>');if(r<relatedTitles.length-1){r++}else{r=0}i++}document.write('</div>');relatedUrls.splice(0,relatedUrls.length);thumburl.splice(0,thumburl.length);relatedTitles.splice(0,relatedTitles.length)}
//]]>
</script>

Implementasi

<!-- related post -->
<div class='post-footer-line post-footer-line-3'>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='related-posts'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast != &quot;true&quot;'>
</b:if>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels_thumbs&amp;max-results=5&quot;' type='text/javascript'/></b:loop>
<script type='text/javascript'>
var currentposturl=&quot;<data:post.url/>&quot;;
var maxresults=5;
var relatedpoststitle=&quot;<b>Related Posts:</b>&quot;;
removeRelatedDuplicates_thumbs();
printRelatedLabels_thumbs();
</script>
</div>
<div style='clear: both;'/>
</b:if>
<!-- e: related post -->

0 comments

Post a Comment