Git hooks to optimize and manipulate images based on the pre-commit framework. For supported image formats see the list of available hooks below.
Add this to your .pre-commit-config.yaml
:
- repo: https://github.com/boidolr/pre-commit-images
rev: v1.7.0 # Use the ref you want to point at
hooks:
- id: optimize-png
# - id: ...
For an extended example see .pre-commit-config.yaml
.
optimize-avif
: Compressavif
images.--threshold
can be used to configure which size difference should be used to keep the image.--quality
to configure minimum quality setting (best: 100, worst: 0).--effort
to set the quality/speed tradeoff (slowest: 0, fastest: 10).
optimize-jpg
: Compressjpeg
images.--threshold
can be used to configure which size difference should be used to keep the image.--quality
can be used to configure quality setting for a JPG image.
optimize-png
: Compresspng
images.--threshold
can be used to configure which size difference should be used to keep the image.
optimize-svg
: Compresssvg
images.--threshold
can be used to configure which size difference should be used to keep the image.
optimize-webp
: Compresswebp
images.--threshold
can be used to configure which size difference should be used to keep the image.--lossless
switch to lossless compression.--quality
can be used to configure quality setting for lossy compression or effort to spend on lossless compression.
resize
(experimental): Resizeavif
,jpeg
,png
andwebp
images with fixed dimensions. Required options:--width
new width of images.--height
new height of images.
These hooks only work because of other projects: