今のところ、Plugin::Publishは Gmailしか試していないのですが、 どのような状態で Gmailに送るのが自分に合っているのかいろいろ試しています。
今回は、Bloglinesのフォルダ別に Gmailへ送って、ラベルを付ける方法を試してみました。
CookbookBloglinesGmail - Plagger - Trac
の「Hack: Use Bloglines folder info」に記述されていることをやっているだけです。
今回の私の例として、Bloglinesでフォルダが "Blog","News","Search" の3つに分けてあるとして、
Gmailでもそれぞれ同じ名前でラベルを付けて分けられるようにしました。
Subscription::Bloglines で fetch_meta オプションを付けると、フォルダ情報も取ってくるので、 ruleでフォルダ名別に mailtoを変えればいいようです。
config.yaml は以下のように。
global:
plugin_path:
- C:\Perl\site\lib\Plagger\Plugin
assets_path: C:\Perl\site\lib\Plagger\assets
timezone: Asia/Tokyo
log:
level: info
cache:
base: C:\plagger
plugins:
- module: Subscription::Bloglines
config:
username: example@example.com
password: Bloglines_PASSWORD
mark_read: 1
fetch_meta: 1
- module: Filter::HatenaBookmarkUsersCount
- module: Widget::HatenaBookmarkUsersCount
- module: Filter::StripRSSAd
- module: Publish::Gmail
rule:
expression: $args->{feed}->has_tag('Blog')
config:
mailto: example+blog@gmail.com
mailfrom: example@gmail.com
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: example@gmail.com
password: Gmail_PASSWORD
- module: Publish::Gmail
rule:
expression: $args->{feed}->has_tag('News')
config:
mailto: example+news@gmail.com
...
- module: Publish::Gmail
rule:
expression: $args->{feed}->has_tag('Search')
config:
mailto: example+search@gmail.com
...
あとは、Gmailでラベルを作成し、以下のような条件で "Blog","News","Search"についてフィルタを作成します。
条件: to:(example+blog@gmail.com) アクション: 受信トレイをスキップします, ラベル "Blog" を適用
これで、Gmailのラベルで Bloglinesのフォルダと同じ感覚で管理できるので、しばらくはこれでやってみます。
上記 config.yaml はもっとうまく書けるのかもしれませんが、私にはこれが限界です。
Bloglinesのフォルダが 「"Blog","News","Search"以外のもの」という ruleはどう書けばいいのでしょうか?
また、「"News"フォルダ内で、はてなブックマーク件数が3人以上」という場合はどうでしょうか?
Filter::HatenaBookmarkUsersCount で取得した hatenabookmark_users が 3以上とすればいいと思うのですが、
具体的にどう記述すればいいのかわかりません。orz










