2006-09-11 (Mon)

Trac 用 RSS リーダ

作った。Javascript だけで動かしてる。

Trac で動かしている複数のプロジェクトのチケットをまとめて見れる画面が欲しかったんで結構前に作ったやつ。将来のバージョンで複数プロジェクトのサポートが良くなるのかもしれないから公開するつもり無かったんだけど、なかなか変わらないようなので、もしかしたら誰かの役に立つかもしれないと思って公開する事にしました。

使いたい人は、js/reader.js の先頭行にある sites っていう変数を書き換えて下さい。見たいプロジェクトのトップのパスを指定するだけです。XMLHttpRequest の制限で外部ドメインのサイトは見れないので、そこんとこ注意。

なんか微妙に使い勝手が悪い気もするけど、チケットの一覧を見たいだけなんでこんなもんかなと。

中見るとわかるけど、JKL.HinaJKL.ParseXML のお陰でほとんどコード書いてない。川崎さん、どうもありがとうございました。

IE だと position:fixed がちゃんと動かないみたいで Firefox とかと見た目が違うかもしれないからこれを機会に Firefox に乗り換えれば良いと思います。

* ライセンス

ライセンスに関するご質問を受けたので、追記します。

私が作った部分に関しては、パブリックドメインとします。具体的には、アーカイブ内の以下のファイルです。

  • js/reader.js
  • css/common.css
  • index.html

js/jkl-hina.js と js/jkl-parsexml.js は、オリジナルのライセンス*1に従ってご利用下さい。

* 追記

TraM とかいうプラグインを使うのが良いみたいです。

ちゃんとアクセス制御が出来てそうだったら、こっちを使おうかな…。

* 追記2

添付の JKL.Hina だとチケットが1つしか登録されていない場合にリーダー側に表示されない不具合があります。以下のパッチを適用すれば表示されるようになります。(Firefoxでしか動作検証していません。)

多分バグっぽいので、川崎さんへ問い合わせ中。

* 追記3

川崎さんに setOutputArrayElements を使えばパッチなしでも動作する事を教えてもらったので、配布アーカイブも更新しました。

--- reader.js.old       2006-09-28 17:22:27.000000000 +0900
+++ reader.js   2006-09-28 17:20:05.000000000 +0900
@@ -24,6 +24,7 @@
       dest.style.display = 'block';
    };
    http.async( func );
+   http.setOutputArrayElements( 'item' );
    http.parse();
 }
  • *1: 修正BSDライセンス

Posted by Kyosuke Takayama at 2006-09-11 (Mon) 14:57 printable version

この記事へのコメント

1) 逃避 (2006-09-20 (Wed) 12:36)

導入が容易そうなので、試してみました。
サーバ内の trac/htdocs/tracrss/ に入れて
動作確認しました。着眼がすばらしい。
公開ありがとうございます。
ただ、チケットが1件だとなぜか1件も表示されないようです。
1件だけなら見に行けば済むのでまあご愛嬌と思いますが、
xmlライブラリ側で「配列」と認識しないのでしょうかねえ。

2) takayama (2006-09-21 (Thu) 16:38)

ありがとうございます。
初期設定がちょっとわかりにくいかもしれないですけど、導入は楽ですよね。公開してよかったです。

ご愛嬌の件はテンプレートのパーサー側の処理を変えたらうまくいきそうです。追記しておきました。

3) 逃避 (2006-09-26 (Tue) 08:58)

おお、直りました。
早速ありがとうございます。

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/609


この記事のリンク元

 
Copyright (C) Kyosuke Takayama, All rights reserved.