Skip to content

Instantly share code, notes, and snippets.

@psynewave
Created December 5, 2012 23:28
Show Gist options
  • Save psynewave/4220486 to your computer and use it in GitHub Desktop.
Save psynewave/4220486 to your computer and use it in GitHub Desktop.
google.load("feeds", "1");
function feed_init() {
}
google.setOnLoadCallback(feed_init);
function getRecentPosts(url,num_max,title,target){
google.feeds.lookupFeed(url, function(result) {
if (result.error) {
console.log(result.error.message);
}else{
feed2ulist(result.url,num_max,title,target);
}
});
}
function getRelatedPosts(url,tags,num_max,title,target){
findfeed2ulist("site:"+url+" "+tags,num_max,title,target);
}
function getLinkbackPosts(url,num,title,target){
var feedurl = 'http://www.google.com/search?q=link:'+ url +'&ie=utf-8&tbm=blg&tbs=sbd:1&num='+ num +'&output=rss';
feed2ulist(feedurl,10,title,target);
}
function feed2ulist(feedurl,num_max,title,target){
var feed = new google.feeds.Feed(feedurl);
feed.setNumEntries(num_max);
feed.load(display);
function display(result){
if (!result.error){
var container = document.getElementById(target);
var htmlstr = "<ul>";
htmlstr+="<li>"+ feed + "</li>";
htmlstr+="<li class='title'>"+title+"</li>";
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
htmlstr += '<li><a href="' + entry.link + '">' + entry.title + '<span>' + getDate(entry.publishedDate) + '</span></a></li>';
}
htmlstr += "</ul>";
container.innerHTML = htmlstr;
}else{
console.log(result.error.code + ":" + result.error.message);
}
}
}
function findfeed2ulist(keyword,num_max,title,target){
var feed = new google.feeds.findFeeds(keyword,display);
function display(result){
if (!result.error && result.entries.length > 0){
var container = document.getElementById(target);
var htmlstr = "";
for (var i = 0; i < result.entries.length; i++) {
var entry = result.entries[i];
if (entry.link != location.href && num_max > i){
htmlstr += "<li><a href='" + entry.link + "'>" + entry.title + "</a></li>";
} else { num_max++;}
}
if (htmlstr != ""){
container.innerHTML = "<ul><li class='title'>Related Posts</li>" +htmlstr+ "</ul>";
}
}
}
}
function getDate(publishedDate){
var pdate = new Date(publishedDate);
var pday = pdate.getDate();
var pmonth = pdate.getMonth() + 1;
var pyear = pdate.getFullYear();
//var phour = pdate.getHours();
//var pminute = pdate.getMinutes();
//var psecond = pdate.getSeconds();
var strdate = pyear + "-" + pmonth + "-" + pday;
return strdate;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment