初めてのPlagger
Plaggerのインストールが終わった(「Plagger」の読み方を教えてください(P口`q。)". - ヒルズで働く@robarioの技ログ)ので、早速何か試してみる。
とりあえず最初なので、feedを取得するだけのものを。
$ cat - > sample.yaml plugins: - module: Subscription::Config config: feed: - url: http://del.icio.us/rss/hironori.yoshida - module: Publish::Debug $ plagger -c sample.yaml Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded. Plagger [info] plugin Plagger::Plugin::Publish::Debug loaded. Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded. Plagger::Plugin::Aggregator::Simple [info] Fetch http://del.icio.us/rss/hironori.yoshida Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://del.icio.us/rss/hironori.yoshida Plagger::Plugin::Aggregator::Simple [debug] 304: http://del.icio.us/rss/hironori.yoshida Plagger::Plugin::Aggregator::Simple [info] Aggregate http://del.icio.us/rss/hironori.yoshida success: 31 entries. Plagger [debug] $VAR1 = bless( { 'source_xml' => '<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" (中略) }, 'Plagger::Entry' ) ], 'author' => undef, 'description' => '', 'tags' => [], 'meta' => {}, 'url' => 'http://del.icio.us/rss/hironori.yoshida', 'updated' => undef, 'type' => 'feed', 'title' => 'del.icio.us/hironori.yoshida' }, 'Plagger::Feed' );
すんばらしいね!
プラグインはいっぱいあるけど、feedを引っ張ってくるにはPlagger::Plugin::Subscription::*を、出力するにはPlagger::Plugin::Publish::*を、途中で変換をかけるにはPlagger::Plugin::Filter::*を使うみたい。
例えばPublishする前に
- module: Filter::DeliciousFeedTags - module: Publish::Debug
のようにPlagger::Plugin::Filter::DeliciousFeedTagsを入れると
'tags' => [ 'cpan perl' ],
という出力を
'tags' => [ 'cpan', 'perl' ],
に変換してくれる。これは夢が広がるね。