tDiary プラグインの更新チェッカー
Twitterのタイムラインで「プラグインの更新を見落とさない仕組みが欲しいよね」という話が出ていたので作った。
GitHubの tdiary-contrib リポジトリで更新を見つけると、日記の編集画面でお知らせしてくれる。
今のバージョンでは、とりあえず過去7日間の更新をすべて表示するようにしている。いずれは使っているプラグインのみのお知らせを表示したり、何度も同じお知らせが表示されないようにしたい。
更新情報の取得にクロスドメイン通信を使っている。 JSONP ではなく XHR2 (Cross-Origin Resource Sharing) を使っているので、ブラウザが IE では動かないかも。
XHR2 については、この辺のページを参照。JSONPを使っていた頃に比べて、楽になったねぇ。
- HTTP access control | Mozilla Developer Network
- Cross-Origin Resource Sharing
- 404 Blog Not Found:Ajax - Goodbye, JSONP. Hello, Access-Control-Allow-Origin
仕組み
Webブラウザから直接 GitHub API を呼び出すのは大変そうだったので、更新情報を取得するWebサービスを先に作った。Rails3で作成し Heroku 上で動かしている。
plugin_checker.js はGitHub APIを呼び出す代わりに、このサイトから更新情報をJSON形式で取得している。