初めての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'
      ],

に変換してくれる。これは夢が広がるね。