www.moparisthebest.com/source/javascripts/twitter.js

57 lines
1.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// The Octopress Twitter Feed is based on the following work:
// Valerio's javascript framework Mootools: Mootools.net
// David Walsh's Twitter Gitter plugin: http://davidwalsh.name/mootools-twitter-plugin
// Aaron Newtons JSONP plugin: http://clientcide.com/js
//
var username = 'imathis';
var filter_mentions = true;
var tweet_count = 5;
var tweet_tag = 'p';
var twitter_div = 'twitter_status';
window.addEvent('domready',function() {
getTwitterStatus();
});
function showTweets(the_tweets, from_cookie){
if(from_cookie){
the_tweets = the_tweets.split('^!^!^!^!^');
}
$(twitter_div).set('html', '');
the_tweets.each(function(tweet){
new Element(tweet_tag,{
html: tweet
}).inject(twitter_div);
});
}
function getTwitterStatus(){
$(twitter_div).set('html', 'Fetching tweets...');
if(!Cookie.read('the_tweets')) {
var myTwitterGitter = new TwitterGitter(username,{
count: ((!filter_mentions) ? tweet_count : 15 + tweet_count),
onComplete: function(tweets,user) {
the_tweets = Array();
tweets.each(function(tweet,i) {
if((tweet.in_reply_to_status_id && !filter_mentions) || !tweet.in_reply_to_status_id){
if(the_tweets.length == tweet_count) return;
the_tweets.push(tweet.text);
}
});
Cookie.write('the_tweets',the_tweets.join('^!^!^!^!^'), { duration: 1 });
showTweets(the_tweets);
}
}).retrieve();
} else {
showTweets(Cookie.read('the_tweets'),true);
}
}
//implement string.tweetify();
String.implement({
tweetify: function() {
return this.replace(/(https?:\/\/\S+)/gi,'<a href="$1">$1</a>').replace(/(^|\s)@(\w+)/g,'$1<a href="http://twitter.com/$2">@$2</a>').replace(/(^|\s)#(\w+)/g,'$1<a href="http://search.twitter.com/search?q=%23$2">#$2</a>');
}
});