英文かひらがなを含むエントリーのみの抽出
bloglinesでのキーワード検索がはてなより広範囲な為、早速乗り換えました。
しかし、2バイト文字の判定は難しいらしく、言語を日本語にしても他のアジアの漢字圏のFeedも混ざってきます*1。そこで、英文のみかひらがながあるエントリーのみ残すフィルタを作成しました。
ここでもruleとして同じようなものが公開されています。が、英文のみのエントリーも削除してしまうのでFilterとして実装してみました*2。
package Plagger::Plugin::Filter::JapaneseHiragana;
use strict;
use base qw( Plagger::Plugin ); our $VERSION = '0.1';
sub register {
my($self, $context) = @_;
$context->register_hook(
$self,
'update.feed.fixup' => \&filter,
);
}
sub filter {
my($self, $context, $args) = @_;
for my $entry ($args->{feed}->entries) {
my $body = $entry->body;
if ($body =~ /\p{InCJKUnifiedIdeographs}/ && $body !~ /\p{InHiragana}/) {
$context->log(info => "Strip entry " . $entry->link);
$args->{feed}->delete_entry($entry);
}
}
}
1;