ImgBot
A GitHub app that optimizes your images
ということで ImgBot とは GitHub repository で管理している画像を監視して、最適化が可能であれば圧縮などを施した Pull request を自動的に作成してくれる GitHub App です。
Hugo や Jekyll などの静的サイトジェネレーターと相性がいいと思います。テーマを画像圧縮に対応させたり、自分でその処理のためのスクリプトを書いたりするのが面倒な時に便利でしょう。
Public Repository であれば無料で導入できます。
導入方法
上記リンク先の Install now
をクリックして GitHub と連携すればすぐに利用可能です。すべてのリポジトリに適応するか、指定のリポジトリに限定するかを選択できます。
最適化可能な画像があれば自動的に Pull request を作成してくれるので、ユーザーはそれをマージするだけです。簡単ですね。
例えば以下のような Pull request が作成されます。16% の圧縮が可能だと教えてくれています。
ボットの詳細設定
.imgbotconfig
を置くことで ImgBot の詳細な設定が可能です。
{
"schedule": "daily",
"ignoredFiles": [
"*.jpg",
"image1.png",
"public/special_images/*",
],
"aggressiveCompression": "true"
}
監視時間間隔
schedule
に daily
weekly
monthly
などの値を設定して。ImgBot を毎日巡回させるのか、週一なのか、月一なのかを設定できます。
監視対象外画像
ignoredFiles
に監視したくない画像を設定可能です。
例えば「オリジナル画像を残しつつ、圧縮した画像も別で保存したい」なんて使い方をしたいこともあるでしょう。
そのような場合は images/org
と images/min
に画像を保存しておき、ignoredFiles
に images/org
を指定しておけば良いでしょう。
**/test_images/**
や path/to/prefix*
のような指定も可能です。
もっと圧縮したい
"aggressiveCompression": true
と指定すれば lossless ではない積極的な圧縮も可能になります。デフォルトは false
です。