だるそうだなーと思ってたけど、まあまあ簡単だった。
しかし、webiblo.plはImage::Resizeに依存していたので嫌だなーと思ったのでImagerを使うように書き換えた。
diff --git a/webiblo.pl b/webiblo.pl
index ba1fef0..c9af2d2 100755
--- a/webiblo.pl
+++ b/webiblo.pl
@@ -7,7 +7,7 @@ use LWP::Simple;
use URI;
use HTML::TreeBuilder::XPath;
use Text::Xslate;
-use Image::Resize;
+use Imager;
my $style = HTML::Element->new('style');
$style->attr('type', 'text/css');
@@ -30,11 +30,13 @@ if ( $book->{cover_image} ) {
my $file = ($uri->path_segments)[-1];
mirror($uri, "out/$file") unless -f "out/$file";
$book->{cover_file} = $file;
- my $image = Image::Resize->new("out/$file");
- my $gd = $image->resize(600, 800);
- open my $out, '>', "out/$file" or die $!;
- print $out $gd->jpeg;
- close $out;
+ my $image = Imager->new;
+ $image->read(file => "out/$file") or die $image->errstr;
+ $image->scale(
+ xpixels => 600,
+ ypixels => 800,
+ );
+ $image->write(file => "out/$file") or die $image->errstr;
}
$book->{parts}->[0]->{chapters} = $book->{chapters} unless $book->{parts};
mobiで吐き出してくれるのはすごくいい!自分で設定ファイル書くのは少し辛いものがあるけど。。
Imagerの使い方とか使う機会がほとんどないから、すぐ忘れる。で、perldocで探すんだけど、perldocの検索ってどうやればいいんだろう。
いつもはこんな感じで検索する。もしくはperldocを実行したときのPAGERで検索。
% perldoc Imager | grep scale
見つからない場合は、ほかのモジュールを探す。Imager::Cookbookでまた検索したりとかする。だるい。
Imagerの場合は、perldoc Imagerすればどこに何が書いてあるのか分かるようになってるけど、知らないモジュールを調べるときにもっと簡単にPODの中身を検索する方法はないのかな。