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: [email protected]
mailfrom: [email protected]
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: ecceecce
password: base64::AyBAbtU0