Created
August 4, 2012 20:32
-
-
Save ArupSen/3259775 to your computer and use it in GitHub Desktop.
twitterCallback2 for getting tweets to be embedded on your site
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function twitterCallback2(twitters) { | |
var statusHTML = []; | |
for (var i=0; i<twitters.length; i++){ | |
var username = twitters[i].user.screen_name; | |
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) { | |
return '<a href="'+url+'">'+url+'</a>'; | |
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) { | |
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>'; | |
}); | |
statusHTML.push('<li><span>'+status+'</span> <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'">'+relative_time(twitters[i].created_at)+'</a></li>'); | |
} | |
document.getElementById('twitter_update_list').innerHTML = statusHTML.join(''); | |
} | |
function relative_time(time_value) { | |
var values = time_value.split(" "); | |
time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; | |
var parsed_date = Date.parse(time_value); | |
var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); | |
var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); | |
delta = delta + (relative_to.getTimezoneOffset() * 60); | |
if (delta < 60) { | |
return 'less than a minute ago'; | |
} else if(delta < 120) { | |
return 'about a minute ago'; | |
} else if(delta < (60*60)) { | |
return (parseInt(delta / 60)).toString() + ' minutes ago'; | |
} else if(delta < (120*60)) { | |
return 'about an hour ago'; | |
} else if(delta < (24*60*60)) { | |
return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago'; | |
} else if(delta < (48*60*60)) { | |
return '1 day ago'; | |
} else { | |
return (parseInt(delta / 86400)).toString() + ' days ago'; | |
} | |
} |
Thanks, this was hugely valuable in getting some of our Twitter feeds working again. Twitter decided to delete this (blogger.js) off their servers.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If you load this file from your own server rather than from twitter then you can edit this one yourself. There is an inline style rule with font-size:85% which can be changed as well as all the time messages. The relative time values can also be omitted.