続、Twitter登録でサイドバーにJSONP
function RecentTwitter(data2) {
if(data2.length) {
var twitter = new Array();
for(i in data2) {
var tweet = data2[i].text.replace(/(^|\W+)@(\w{1,15})/g, '$1@<a href="https://twitter.com/$2" target="_blank">$2</a>');
tweet = tweet.replace(/(^|\W+)(#\w)/g, '$1<a href="https://twitter.com/search?q=' + encodeURIComponent('$2') + '" target="_blank">$2</a>');
tweet = tweet.replace(/(^|\s+)(https?:\/\/\S+)/ig, '$1<a href="$2" target="_blank">$2</a>');
var dd = new Date(data2[i].created_at.replace(/^[A-Z]+\s([A-Z]+)\s(\d+)\s([0-9:]+)\s[0-9+]+\s(\d+)$/i, '$1 $2, $4 $3'));
dd.setTime(dd.getTime() + (data2[i].user.utc_offset * 1000));
var date = dd.getFullYear() + '-' + (dd.getMonth() + 1) + '-' + dd.getDate() + ' ' + dd.getHours() + ':' + dd.getMinutes() + ':' + dd.getSeconds();
twitter.push('<li>' + tweet + ' [<a href="https://twitter.com/' + data2[i].user.screen_name + '/statuses/' + data2[i].id + '" target="_blank">' + date + '</a>]</li>');
}
document.getElementById('twitter').innerHTML = twitter.join('');
} else {
document.getElementById('twitter').innerHTML = 'No tweet';
}
}
<dl>
<dt><a href="http://twitter.com/hogehoge" target="_blank">Tweets@Twitter</a></dt>
<dd>
<ul id="twitter"><li>......Loading</li></ul>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/hogehoge.json?count=5&callback=RecentTwitter"></script>
</dd>
</dl>
上段が外部JavaScriptファイルに記述したコードで、下段がSerene Bachのテンプレートのサイドバー部分に記述したコード。
下段の太字部分のうち数字は取得数で、その他太字部分は俺のUsernameなので、適宜書き換えればオケ。
しかしなんて不恰好なコードなんだろう。
Comments