Twittelienで/homeに流れてこない人の発言を拾う

使い方

  1. Twittelienを読み込む
  2. 以下のJavaScriptの一番最後のintervalに更新間隔(秒単位)、userNamesに発言を拾いたい人のユーザ名を配列で入れて、実行。
(function($,params){
	var thumb = 
		$('<td/>')
			.addClass('thumb vcard author')
			.append(
			$('<a/>')
				.addClass('url')
				.attr('href','http://twitter.com/koizuka')
				.append(
				$('<img/>')
					.addClass('photo fn')
						)
					);
	$.each(params['userNames'],function(){
		var userName = '' + this;
		var nickName = '';
		var thumbNailUrl = '';
		function addThumb(){
			$(this)
				.removeClass('hentry')
				.addClass('hentry_hover')
				.prepend(thumb
							.clone()
								.find('img')
									.attr('src',thumbNailUrl)
									.end()
					)
				.children('.content')
					.prepend($('<strong/>')
								.append($('<a/>')
											.text(userName)
											.attr({href:'http://twitter.com/' + userName,title:nickName})
											)
						);
		}
		function scrape(html){
			var temp = $('<div/>');
			temp.get(0).innerHTML = html;
			if(!nickName){
				nickName = temp.find('.entry-author .fn').text();
			}
			if(!thumbNailUrl){
				thumbNailUrl = temp.find('h2.thumb img').attr('src').replace('_bigger.','_normal.');
			}
			return temp.find('#timeline tr.hentry');
		}
		function append(entries){
			$('tr:first')
				.before(entries);
		}
		function filter(index){
			var statusId = $(this).attr('id');
			return $('tr:last').attr('id') < statusId && $( '#' + statusId).size() < 1;
		}
		var appender = new Twittelien.Appender({'scrape':scrape,'append':append,'filter':filter});
		with(appender){
			url = 'http://twitter.com/' + userName;
			interval = params['interval']*1000;
			addBeforeAppend(addThumb);
		}
		appender.start();
	});
})(jQuery,{interval:60,userNames:['koizuka','coji']});

解説

ユーザ別タイムラインから取ってきたエントリを/home風に加工して追加していきます。
残念ながら最新の発言は取ってこれず、一つ前の発言まで取ってこれます(加工がめどいので)。