Plagger::Plugin::Filter::BBSNotePermalink
BBSNote 8.xで実は出力できるRSS。とはいえPermalinkは壊れてるし本文が要約すら入ってないしとその使えなさは異常だけど、PlaggerのおかげでPermalinkさえ直せばなんとか使いものになる。しかしそもそも絵師はBBSNote 7.xからの移行すらしないのであんまり意味がないのであった。
BBSNotePermalink.pm
package Plagger::Plugin::Filter::BBSNotePermalink; use strict; use base qw( Plagger::Plugin ); sub register { my($self, $context) = @_; $context->register_hook( $self, 'update.entry.fixup' => \&filter, ); } sub filter { my($self, $context, $args) = @_; my $entry = $args->{entry}; if ($entry->permalink =~ m!^(.+?/bbsnote\.cgi)\?fc\=rss(.*)!) { my $permalink = $1.$2; $permalink =~ s/\%26/\&/; $entry->permalink($permalink); $context->log(info => "rewrite permalink to $permalink"); } } 1;
config.yaml
global: plugin_path: - /Users/ec/lib/Plagger/Plugin/ timezone: Asia/Tokyo plugins: - module: Subscription::Config config: feed: - http://xxx/bbsnote.cgi?fc=rss - module: Filter::BBSNotePermalink - module: Filter::EntryFullText config: store_html_on_failure: 1 - module: Filter::ResolveRelativeLink - module: Filter::Rule rule: module: Fresh mtime: path: /Users/ec/temp/bbsnote.mtime autoupdate: 1 - module: Publish::Gmail config: mailto: xxx@gmail.com mailfrom: xxx@gmail.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: ecceecce password: base64::AyBAbtU0