Entry速読用Filter

先週末はPlaggerの秘密集会(行けませんでしたが)、飲み会、家族サービスがあったりで、メールやWebそしてIRCのログの未読がかなり溜まってしまい、全てに目を通すのにかなり時間がかかりました。

特にPlaggerでFeedの確認をやり出してからはBloglinesの登録件数が増える一方で、二日も確認しないでいると未読件数がすごい数になってしまいます。おまけにEntryFullTextで全文取得なんかしていると本文が長くなり、スペースバーを連打で親指が腱鞘炎になりそうです。

ということで、EntryFullTextで取得した本文をsubstrするFilterを作って見ました。


    package Plagger::Plugin::Filter::BodyTextSubstr;
use strict;
use warnings;
use base qw( Plagger::Plugin );

our $VERSION = 0.01;

sub register {
my($self, $context) = @_;
$context->register_hook(
$self,
'update.entry.fixup' => \&filter,
);
}

sub filter {
my($self, $context, $args) = @_;
my $cfg = $self->conf;
my $entry = $args->{entry};
my $start = $cfg->{start_position} || 0;
my $end = $cfg->{end_position} || 400;
$entry->body(substr($entry->body_text,$start,$end));
}

1;

考えている使い方としては、以下の通り。

  1. 購読しているFeedをこのFilterを使って、Gmailに送信
  2. 気になるEntryがあった場合はリンクを新しいタブ(バックグラウンド)で開きながらGmailで未読を処理
  3. タブで開いたEntryはこのBookmarkletを使ってdel.icio.usへtoreadタグで登録
  4. del.icio.usからこの設定をつかって回収し、厳選したEntryを後日ゆっくりと確認する

少しの間この運用で様子を見ようと思います。