Thursday, December 28, 2006
■ [Plagger] Filter::Deduped のデータベースを削除したら落ちなくなった

最近Plaggerを実行するとSegmentation fault (core dumped)と言われることが増えたと書いたのですけど、3回に1回ぐらいしかまともに動かなくて困っていました。
そんなとき、もしかしてと思って Filter::Deduped のデータベースを削除(退避)したら―今のところですが―問題なく動くようになりました。
-rw-r--r-- 1 mayuki users 2797568 Dec 28 04:30 deduped.db.old
退避前はそんな感じのサイズ。壊れてたんですかねー?
コメント
トラックバック - http://subtech.g.hatena.ne.jp/mayuki/20061228
Wednesday, November 08, 2006
トラックバック - http://subtech.g.hatena.ne.jp/mayuki/20061108
Sunday, November 05, 2006
■ [Plagger] 野良Plugin - Shibuya.Plaggers::Publish::Kwiki を整理してみた

■ [Plagger] Filter::FixHTML

何らかの理由でHTMLのタグの対応が取れないなどの問題が発生した場合でも何とかするためのフィルタ。やってることはかなりアレ。
package Plagger::Plugin::Filter::FixHTML; use strict; use base qw( Plagger::Plugin ); use HTML::TreeBuilder; sub register { my($self, $context) = @_; $context->register_hook( $self, 'update.entry.fixup' => \&filter ); } sub filter { my($self, $context, $args) = @_; if (defined $args->{entry}->body && $args->{entry}->body->is_html) { my $body_html = ''; my $tree = HTML::TreeBuilder->new_from_content($args->{entry}->body->html); for my $c ( $tree->find_by_tag_name("body")->content_list ) { $body_html .= ref $c ? $c->as_XML : $c; } $args->{entry}->body($body_html); } } 1; __END__ =head1 NAME Plagger::Plugin::Filter::FixHTML - Fix entry HTML =head1 SYNOPSIS - module: Filter::FixHTML =head1 DESCRIPTION This plugin fixes a broken HTML in entry body. =head1 CONFIG =head1 AUTHOR Mayuki Sawatari =head1 SEE ALSO L<Plagger> =cut
トラックバック - http://subtech.g.hatena.ne.jp/mayuki/20061105
Saturday, November 04, 2006
■ [Plagger] 携帯に送るのに使っているPublish::Gmailのテンプレート

携帯でフィードを読む。で使ってるやつです(右端は変更前)。
[% USE util = Plagger.Util -%] <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> </head> <body> </style> [% FOREACH entry = feed.entries -%] <h1 style="margin: 0; font-size: 1.2em"><a style="color: #6495ed" href="[% entry.permalink | html %]">[% entry.title %]</a></h1> <p style="margin: 0 0 0.5em 0; font-size: 10pt; text-align: right; color: #808080">[% IF entry.date %][% entry.date.format('Mail') %][% END %][% IF entry.author %]<br /> by [% entry.author | html %][% END %][% IF entry.tags.size %] on [% entry.tags.join(',') %]</p>[% END %] [% IF entry.body -%] [% IF entry.body.match('(?i)^<p[ >]') %][% entry.body %][% ELSE %]<div class="body">[% entry.body %]</div>[% END %] [% ELSE %]<br />[% END %] [% UNLESS loop.last %]<hr style="border: 1px solid #6495ed; border-style: solid none none none; margin: 0.5em"/>[% END %] [%- END %] </body> </html>
Internet Explorer 7的な色使い。style要素で設定していないのは904SHでは無視されるためです。多分head要素とかも削ってよさそう。
利用方法はPublish::Gmail でテンプレートを指定したいのコメント欄参照。
ところで、エントリのURLの名前をつける方法を初めて知りました……。MTみたいに何か枠があるのかと思っていたのです。その代わり時刻が出ないんですね…。
トラックバック - http://subtech.g.hatena.ne.jp/mayuki/20061104