2015/01/10

増殖中の favicon を Plack::Middleware ひとつで配信する

というわけで、以下のエントリを受けて、たったの一枚 favicon 画像を用意すればあとは良しなにする Plack::Middleware を書いたぞ!

Webサイトに必要なfaviconが21個になっていた

Plack::Middleware::Favicon

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 とかだいぶいい加減かもしれない。

うえーい。

サイト内検索