aboutsummaryrefslogtreecommitdiff
path: root/source/javascripts/twitter.js
blob: d698cf90568a551ad76b1c77aa7f172d0168ad29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// 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 Newton’s 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';
var tweet_cookie = 'the_tweets_' + username;

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(tweet_cookie)) {
  	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;
  			    tweet.text = tweet.text.replace(/\n/gi, '<br/>');
    			  the_tweets.push(tweet.text);
  				}
  			});
  			Cookie.write(tweet_cookie,the_tweets.join('^!^!^!^!^'), { duration: 1 });
  			showTweets(the_tweets);
  		}
  	}).retrieve();
	} else {
	  showTweets(Cookie.read(tweet_cookie),true);
	}
}