Yapra で Trac の timeline feed を 1本に

本当は Yapra でやりたかったことナンバーワンだったはずなのに全然やってなかったイントラの Trac の timeline の一本化をやりました。(面倒くさがってただけでやり始めたら割とすぐできた。)

今回のキモはイントラの Trac の URL が

http://host/trac/NAME

の形で統一されているので、/ で split して NAME を引っぱり出すところかな? これで一本化された feed を読んでいてもどの Trac からの情報かが title だけで分かる。(まぁリンクを踏めば間違いなく分かるんだけど。)

- module: RSS::load
  config:
    url:
      - http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
      - http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
      - http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
      - http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
      - http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
      - http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
- module: Filter::sort
  config:
    method: date
- module: Filter::ApplyTemplate
  config:
    title: '<%= "[#{item.link.split( /\// )[4]}] #{item.title}" %>'
- module: RSS::save
  config:
    title: "multitrack"
    link: http://HOST/PATH
    filename: /PATH/TO/FEED

実際の Trac の URL とか保存先のファイル名とかよしなにしてください。

本当は My Tickets の一本化もやりたいんだけど、なんかあまりうまい方法が思いつかないんだなぁ。ユーザーごとに feed を作るようにするしかないかな? 人数少ないうちなら全然それでも問題ないんだよな。

あーあと本当に今いちばん欲しいのは Roadmap の iCal データを merge して出してくれるものだな。あったらすっげー便利だと思う。

trac の情報を引き出す plugin にしちゃった方が応用はやりやすいんだろうなぁ。

More