Edited at

GitHub repository で管理している画像を自動で圧縮 - ImgBot の紹介


ImgBot


A GitHub app that optimizes your images


ということで ImgBot とは GitHub repository で管理している画像を監視して、最適化が可能であれば圧縮などを施した Pull request を自動的に作成してくれる GitHub App です。

Hugo や Jekyll などの静的サイトジェネレーターと相性がいいと思います。テーマを画像圧縮に対応させたり、自分でその処理のためのスクリプトを書いたりするのが面倒な時に便利でしょう。


導入方法

上記リンク先の Install now をクリックして GitHub と連携すればすぐに利用可能です。すべてのリポジトリに適応するか、指定のリポジトリに限定するかを選択できます。

最適化可能な画像があれば自動的に Pull request を作成してくれるので、ユーザーはそれをマージするだけです。簡単ですね。

例えば以下のような Pull request が作成されます。16% の圧縮が可能だと教えてくれています。


ボットの詳細設定

.imgbotconfig を置くことで ImgBot の詳細な設定が可能です。

{

"schedule": "daily",
"ignoredFiles": [
"*.jpg",
"image1.png",
"public/special_images/*",
],
"aggressiveCompression": "true"
}


監視時間間隔

scheduledaily weekly monthly などの値を設定して。ImgBot を毎日巡回させるのか、週一なのか、月一なのかを設定できます。


監視対象外画像

ignoredFiles に監視したくない画像を設定可能です。

例えば「オリジナル画像を残しつつ、圧縮した画像も別で保存したい」なんて使い方をしたいこともあるでしょう。

そのような場合は images/orgimages/min に画像を保存しておき、ignoredFilesimages/org を指定しておけば良いでしょう。

**/test_images/**path/to/prefix* のような指定も可能です。


もっと圧縮したい

"aggressiveCompression": true と指定すれば lossless ではない積極的な圧縮も可能になります。デフォルトは false です。