増殖中の favicon を Plack::Middleware ひとつで配信する
というわけで、以下のエントリを受けて、たったの一枚 favicon 画像を用意すればあとは良しなにする Plack::Middleware を書いたぞ!
Plack::Middleware::Favicon
使い方はこんな感じ。
use Plack::Builder;
builder {
enable 'Favicon',
src_image_file => 'path/to/src_favicon.png';
};
もしくはワンライナーで
$ plackup -e 'enable "Favicon", src_image_file => "path/to/src_favicon.png"; sub { [200,[],["OK"]] }'
これで、21個の favicon画像がよしなに返るようになる。
今後、favicon の形式が多少増えたりするのは想定して作ったけど、まだ画像の質とかあんまり考慮してなかったりする。拡大するより縮小する方向にした方が荒れないので 310x310 のを src_image_file にしとくのが良さそう(とはいえ、縮小したときも少しシャープ掛けたりする必要があるので微調整は追々考える)。あと content-type とかだいぶいい加減かもしれない。
うえーい。