P::P::Filter::RegexpTitle
s_nobuの日記 - 長いタイトルがついたEntryをF::BreakEntriesToFeedsして送る時にGmailでデコードに失敗するのを避けるパッチ
http://d.hatena.ne.jp/s_nobu/20061222/1166748650
例えばこのEntoryの様に長いタイトルがついてる時にF::BreakEntriesToFeedsでuse_entry_title: 1すると、送信者の名前が長くなりすぎてGmailで受信するとデコードしてくれない。
ということで、適当にカットする。40という数字は適当。
Filterでやったほうが使い回しが効いていいような気がします。
package Plagger::Plugin::Filter::RegexpTitle; use strict; use base qw( Plagger::Plugin ); use Encode; sub register { my($self, $context) = @_; $context->register_hook( $self, 'update.entry.fixup' => \&filter, ); } sub filter { my($self, $context, $args) = @_; local $_ = $args->{entry}->title; my $regexp = decode_utf8($self->conf->{regexp}, Encode::FB_CROAK); my $count = eval $regexp; if ($@) { Plagger->context->log(error => "Error: $@ in " . $self->conf->{regexp}); return; } $args->{entry}->title($_) if($count); } 1;
ほとんどP::P::Filter::Regexpのコピペ。
で。
- module: Filter::RegexpTitle config: regexp: s/^(.{40}).*/$1/
コメント
コメントの投稿
トラックバック
https://emasaka.blog.fc2.com/tb.php/184-e1353660
[programing][Web]Plaggerを使って自分のネット上での活動を集約する
ネット上での活動場所が色々と増えてくると、それぞれの場所で書いたりやったりすることが増え、どうしても手薄になるところが出てきてしまうもの。 俺は文章を書くこと自体には抵抗がない、それどころか大好きなくらいですけれど、複数のところで場に合わせて内容や文体を