home > 2009.04

twitterをサイドバーに表示してみた

twitter

前年比1,382%って尋常じゃない勢いでユーザー人口が増えまくっているtwitterですが、私もやっとfollowが増えてきておもしろくなってきました。せっかくだからこのブログのサイドバーに最近のつぶやきを表示したい!って思っていろいろ探してみましたが、いまいちこれだ!ってツールが見つかりませんでした。

イメージはTwitter badgesのDisplay-only widgetが一番近いんだけど、ベースカラーの選択しかできないのが微妙でした。

次のような機能が理想

  • 自分のつぶやきのみを最近の1件のみ表示
  • ページ送りで次のつぶやきを順次表示
  • アイコンは表示しない

んで、いろいろ探した結果、
Twitterをブログに表示!ページ送り付き★ – Not satisfied!!
を参考にマネすることにしました。簡単2STEPです。

STEP.1 javascript

javascriptは全然わからないのでほぼコピーw
twitter.jsとして外部ファイルにします。

twdata =new Array();
var page = 0;
var fin = 0;
var end = 0;
var kazu = 10;
function relative_time(time_value) {
  time_values = time_value.split(" ");
  time_value = time_values[1]+" "+time_values[2]+", "+time_values[5]+" "+time_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);
  var dt = new Date();
  dt.setTime(dt.getTime() - (delta*1000));
  yy = dt.getYear();
  mm = dt.getMonth() + 1;
  dd = dt.getDate();
  dy = dt.getDay();
  hh = dt.getHours();
  mi = dt.getMinutes();
  ss = dt.getSeconds();
  if (yy < 2000) { yy += 1900; }
  if (mm < 10) { mm = "0" + mm; }
  if (dd < 10) { dd = "0" + dd; }
  dy = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")[dy];
  if (hh < 10) { hh = "0" + hh; }
  if (mi < 10) { mi = "0" + mi; }
  if (ss < 10) { ss = "0" + ss; }
  return yy+"."+mm+"."+dd+" ( "+hh+":"+mi+" )";
}

function twitterCallback(obj) {

	var i = 0;
	var j = 0;
	while (i < obj.length && j < kazu ){
	if(obj[i].text.substr(0, 1) != '@'){
		twdata[j] = obj[i];
		j++;
	}
	i++;
	}
	fin = j;

	hyouji();
}

function hyouji(){
	var tw = document.getElementById('twitter');
	var dsp = 1; //1ページに表示する数
	var cnt = 0;
	end = 0;

	for ( i= page * dsp ; cnt<dsp ; i++) {
		tw.innerHTML += '<p class="tw_text">'+twdata[i].text+'</p><p class="tw_day"> '+relative_time(twdata[i].created_at)+'</p>';
		cnt++;
		if(fin-1 == i){
		end = 1;
		}

	}

}

function twbtn(flg){
var tw = document.getElementById('twitter');
	if(flg=='next' && end == 0){
	tw.innerHTML ='';
	page++;
	hyouji();
	}
	else if(flg=='back'&& page > 0){
	page--;
	tw.innerHTML ='';
	hyouji();
	}
}

document.write(
'<scr'+'ipt '
+'type="text/javascript" '
+'src="http://www.twitter.com/statuses/user_timeline/ユーザー名.json?callback=twitterCallback&count=10">'
+'</scr'+'ipt>'
);

STEP.2 html

つぶやき表示用タグとページ送り用ボタンをhtml側に追記します。

<div id="twitter"></div>
-
-
<a href="javascript:twbtn('next');">next</a>
<a href="javascript:twbtn('back');">back</a>

あとはお好みにcssで微調整してできあがり!特定のつぶやき(@付)が反映されないけどあとは気に入ってます。(サイドバー右上にいます)

twitter.jsの呼び出しをheader側でやったら1件目のつぶやきがうまく表示されなかったのでfooter側にしたらちゃんと動作しました。他にも未知の不具合があるかもしれません (;´Д`)

WordCamp Tokyo 2009に行ってきた

wordcamp

WordPressユーザーと開発者の交流イベントWordCmap Tokyo 2009が葛西にて開催されました。WordPressを使いはじめてまだ数ヶ月の新人ですが、こっそりと(ちゃんと申し込みはしたよ)参加してきました。葛西区民館大ホールを貸し切り、関東以外からの参加者も多く、WordPressへの注目の高さを感じました。

WordPress創始者のMatt Mullenweg氏自らの基調講演・質疑応答があり、とても盛り上がりました。Mattの講演は英語だったのでちんぷんかんぷんでしたが (つД`)・゜・.。*(後日字幕付きの動画が公開されるそうです)

イベントは10:30〜16:30と長丁場でしたが、どのスピーカーの話も面白く、あっという間の6時間でした。Mattへの質疑応答、池田百合子さんのKtai Styleの話が一番盛り上がっていたかな。

個人的にはMichael PickさんのWordPress.tvについてのプレゼンのクオリティーの高さに感動しました。短時間でしたが、Appleのプレゼンのようなスマートな内容でこれが本当のプレゼンテーションなのかと愕然としました。

あとはライトニングトークで話をされたHiGash.Netの東さんのサイトがかっこよすぎて感動しました。20個以上プラグインを使っているとのこですが、WordPressの可能性の高さを感じます。いつかマネしよう (´∀`*)

WordCamp Tokyo 2009 講演リスト

タイトル スピーカー
1 WordPress地域コミュニティ”WordBench”紹介 三好隆之
iDeasilo
2 基調講演 Matt Mullenweg
Automatic
3 開発会社から見たWordPressのいいところ 柏岡秀男
alleyoop
4 日本語環境に必要なもの tenpura
EastCoder;
5 Ktai Styleによる携帯対応 池田百合子
Yuriko.Net
6 20分で見るプラグインの作り方 田中広将
hiromasa.another :)
7 ショートコード活用術 水野史士
PHPでWEB作成
8 WordPress.tv Michael Pick
Automattic
9 ライトニングトーク いろいろ

お土産ゲット!

残念ながら抽選会では何も当たりませんでしたが、イベント参加者全員に配られたのが下記のアイテムです。欲しかったWordPressのシールと缶バッチに加え、Firefoxグッズももらえて大満足です。

wordcmap_goods

iPhone用GPSロガー”iTrail”

itrail_gps

itrailだいぶ暖かくなってきたのでそろそろ自転車も乗らなくてはってことで、ついでに前から気になっていたiPhoneのGPSログ管理アプリiTrailを購入してみました(350円)。

iTrailは、サイクリング、マラソン、ウォーキングなどをするときに自分の行動経路を記録してくれるアプリです。経過時間、ペース、消費カロリー、走行距離、速度、標高といったデータが記録でき、それらデータをアプリ内でグラフ化したり、Google mapで表示したりできます。

さらに、Google Docs(またはtrailmapping.com、iTrail Desktop)経由でデータを転送し、PC側のGoogle map、Google earthにインポートすることも可能です。GPSロガーとして必要な機能は充分すぎるくらい搭載されています。

以前にガーミンのGPSロガーを所有していたこともあるのですが、どこをどう走ったか、どれくらいの距離を走ったかを視覚的に確認できるのはとてもおもしろいです。今年はこれを持って走りまくるのだ!

iTrail 参考画面

itrail_1itrail_2itrail_3itrail_4itrail_5

計測方法

  1. アプリを起動し、【新規経路】ボタンをタップ
  2. 経路名と活動形態を設定して、【経路作成】をタップ
  3. 【開始】をタップ
  4. (走行中の誤動作防止のためにカギマークをタップ)
  5. (最下部にある明るさのスライダーを最暗に設定してバッテリー節約)
  6. 頑張って走る
  7. ロックを解除して【停止】をタップ(おつかれさま)

データ転送

  1. アプリトップから【経路】ボタンをタップ
  2. 転送したい走行データをタップ
  3. 【データ書き出し】をタップ
  4. 転送先【Google Docs】をタップ
  5. Google Docsのアカウントを入力し、書き出し形式(KMLかGPX)を選択して再度【Google Docs】ボタンをタップ

TrailRunnerとの連携

今のところmacユーザー限定ですが、TrailRunnerというトレーニングメニュー管理ソフトが無償で提供されています。GPSies.comに登録されている最寄りのコースデータのダウンロードなどができるようです。

参考ページ