clmemoみたいなchangelog形式のファイルをplaggerでフィルタリングしながらしかるべきとこ(はてブ,gmail,デリシャスとか)に送れたら便利じゃんと思ったので、シコシコと書いてみた。最初ココいじればいいかなと思ったんだけど、配列だとちょっと使いにくいのとヘッダーもう少し分けたかったので自分で書いた(そのせいでちょっとおかしいとこがある)
Plagger::Plugin::CustomFeed::ChangeLog
clmemo.txtはこんな感じ
2006-05-26 kzfm <kerolinq@gmail.com> * test: テスト汁 断酒でコーディング、呑むとやる気なくなるからな 2006-05-23 kzfm <kerolinq@gmail.com> * 雑感: 今日は朝からお疲れ気味。 最近雑用おおすぎ ちょっと会議もふえすぎ * 雑感: WindowsXPだと環境変数の扱いがイマイチわからなくて苦労した なかなかつらい
global: timezone: Asia/Tokyo plugins: - module: CustomFeed::ChangeLog config: changelog_file: /home/kzfm/clmemo.txt - module: Publish::Gmail config: mailto: xxxxxx@gmail.com mailfrom: xxxxxx@gmail.com mailroute: via: smtp host: localhost:25
gmailに送ったらこんな感じ。
あー、毎度のことながらwarningでてます。
$ ./plagger -c changelog.yml Plagger [info] plugin Plagger::Plugin::CustomFeed::ChangeLog loaded. Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded. Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded. Plagger::Plugin::CustomFeed::ChangeLog [info] Load /home/kzfm/clmemo.txt Warning (line 22): Found an action ({$item[1]}) after an unconditional
Plagger::Plugin::Publish::Gmail [info] Sending ChangeLog to xxxxxx@gmail.com
まだParse::RecDescentのitembodyのところが駄目駄目なのと、データの構造汚いのが気に入らない。日付とアイテム毎に入れ子のループを回さないといけないのだが、そういう場合ってどういうデータの構造にするのがよいのだろう?ハッシュと配列が入り混じっててヘナチョコになってしまったヨ。