トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Plagger

[コンピュータ関連Tips]

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を使えばいいのかな.