Publish::OOoWriter
OpenOffice.org Writerに出力するPlugin。
つくりかけ。
package Plagger::Plugin::Publish::OOoWriter; use strict; use base qw(Plagger::Plugin); our $Version = '0.01'; use OpenOffice::OODoc; ooLocalEncoding('UTF-8'); sub register { my ($self, $context, $args) = @_; $context->register_hook( $self, 'publish.feed' => \&feed, ); } sub feed { my ($self, $context, $args) = @_; my $body = $self->templatize('oo.tt', { feed => $args->{feed} }); Encode::_utf8_off($body) if Encode::is_utf8($body); my $filename = $args->{feed}->title . '.odt'; my $oo = ooDocument( file => $filename, create => 'text' ); $oo->appendParagraph(text => $body); $oo->save; $context->log(info => "Save $filename"); } 1;
oo.tt
[% feed.title_text %] [% FOREACH entry = feed.entries %] [% entry.title_text %] Link: [% entry.permalink %] by [% entry.author %] [% entry.body_text %] Posted on [% entry.date.format('Mail') %] [% END %]
TODO
OpenOffice::OODocの使い方を調べる。
文字コード関連の処理がよくわからんので調べる。
テンプレート使わずに出力できるようにする。