Plagger
Plagger、最初聞いたときに、なんだか便利そうだけど...
と思っていたけど、なんかとても面白そうに思えてきたので
入門してみることに。Perl書けないので試行錯誤。
インストール
さて、FreeBSDではportsが用意されているのでportsからインストール。
同時にgentooには、http://plagger.org/tracの
http://plagger.org/trac/wiki/PlaggerQuickStart
を見ながらcpanでインストール。
cpan install Plagger
...エラー。cpanキャッシュサイズの大きさが小さいのが
問題だと教えてもらったので
/usr/lib/perl5/5.8.7/CPAN/Config.pm
のbuild_cacheの値を100に変更してインストール
...とかしてたらCPANモジュールをportage管理してくれる
g-cpanがあるので、そっちを使った方がよいようだ。
Plaggerだけでは、不十分で、
Can't locate XML/Feed.pm
などといわれるので、
g-cpan -i Template::Provider::Encoding g-cpan -i XML::Feed
最新版のPlagger本体は、subversionから
svn co http://svn.bulknews.net/repos/plagger/trunk/plagger plagger
とかして用意。
使ってみる
Recipe: Bloglines to Gmail
で、http://plagger.org/trac/wiki/PlaggerCookbookを試してみると
gmail_notify.ttがないと言って怒られたので調べてみたら、
assetsのパスの指定が必要だったよう。
http://sky.taro-web.com/2006/03/14/000552
とする必要があった。
assetsは、svnでとってきたファイルの中にある。
ちなみにBloglinesのアクセスパスワードとか書かないといけないのだが
実行してみたら、base64にエンコードしてあった。なるほど。
設定そのほか
yaml
yamlで書きます。スペースインデントなのかな。
知らなくてTAB使ったら、読み込みエラーになった。
参考にしたURL
http://d.hatena.ne.jp/toshi123/20060912#p1
http://hsbt.que.ne.jp/hiki/hiki.cgi?Plagger
http://gomimemo.g.hatena.ne.jp/koyachi/20060223/1140645610
プラグイン
プラグインメモ
Pipe.pmとかできるのかー。これは便利だ。
Plagger::Plugin::Publish::Gmailを参考にHello World
PlaggerでHello Worldもないだろうけど、Gmailを参考に。
init内で、mailtoとmailfromをチェックしている部分を削除
initialize内で、POP before SMTPをやっているところを削除
ちなみにinitializeは、publish.initに登録されている。
Plagger内部での初期化のためのメソッドなのかな。
notifyがpublish.feedに登録されている
実際に処理をするためのメソッドのようなので、
ここに
print "Hello World?n";
とか書いておく。
あとは、適当な設定として
- module: Publish::Test config:
とかでいい。
設定からデータを読み込む場合は、(そして表示させる時には)
my $cfg = $self->conf; print $cfg->{name};
とか。こうすると、
- module: Publish::Test config: name Takefumi
からTakefumiを読んで出力する。
まあ、Plaggerとして利用するためには、
my($self, $context, $args) = @_;
の$argsを使えばいいのかな.