Add cmin support

* Follow cmin find argument
* cf #5
This commit is contained in:
Camille Lafitte 2019-07-17 17:59:10 +02:00
parent 35d692f17f
commit f0542d557c

View File

@ -13,6 +13,7 @@
CSI='\033[' CSI='\033['
CEND="${CSI}0m" CEND="${CSI}0m"
CGREEN="${CSI}1;32m" CGREEN="${CSI}1;32m"
FIND_ARGS=""
PNG_ARGS="" PNG_ARGS=""
JPG_ARGS="" JPG_ARGS=""
WEBP_ARGS="" WEBP_ARGS=""
@ -31,6 +32,7 @@ _help() {
echo " -q, --quiet ..... run image optimization quietly" echo " -q, --quiet ..... run image optimization quietly"
echo " Other options :" echo " Other options :"
echo " -h, --help, help ... displays this help information" echo " -h, --help, help ... displays this help information"
echo " --cmin <n> ... File's status was last changed n minutes ago."
echo "Examples:" echo "Examples:"
echo " optimize all jpg images in /var/www/images" echo " optimize all jpg images in /var/www/images"
echo " img-optimize --jpg /var/www/images" echo " img-optimize --jpg /var/www/images"
@ -96,6 +98,12 @@ else
JPG_ARGS+=" --quiet" JPG_ARGS+=" --quiet"
WEBP_ARGS+=" -quiet" WEBP_ARGS+=" -quiet"
;; ;;
--cmin)
if [ "$2" ]; then
FIND_ARGS+="-cmin $2"
shift
fi
;;
-h | --help | help) -h | --help | help)
_help _help
exit 1 exit 1
@ -160,7 +168,7 @@ if [ "$JPG_OPTIMIZATION" = "y" ]; then
} }
echo -ne ' jpg optimization [..]\r' echo -ne ' jpg optimization [..]\r'
cd "$IMG_PATH" || exit 1 cd "$IMG_PATH" || exit 1
find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -r -0 jpegoptim ${JPG_ARGS} --preserve --strip-all -m82 find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) ${FIND_ARGS} -print0 | xargs -r -0 jpegoptim ${JPG_ARGS} --preserve --strip-all -m82
echo -ne " jpg optimization [${CGREEN}OK${CEND}]\\r" echo -ne " jpg optimization [${CGREEN}OK${CEND}]\\r"
echo -ne '\n' echo -ne '\n'
@ -174,7 +182,7 @@ if [ "$PNG_OPTIMIZATION" = "y" ]; then
echo -ne ' png optimization [..]\r' echo -ne ' png optimization [..]\r'
cd "$IMG_PATH" || exit 1 cd "$IMG_PATH" || exit 1
find . -type f -iname '*.png' -print0 | xargs -r -0 optipng ${PNG_ARGS} -o5 -strip all find . -type f -iname '*.png' ${FIND_ARGS} -print0 | xargs -r -0 optipng ${PNG_ARGS} -o5 -strip all
echo -ne " png optimization [${CGREEN}OK${CEND}]\\r" echo -ne " png optimization [${CGREEN}OK${CEND}]\\r"
echo -ne '\n' echo -ne '\n'
fi fi
@ -186,7 +194,7 @@ if [ "$WEBP_OPTIMIZATION" = "y" ]; then
# convert png to webp # convert png to webp
echo -ne ' png to webp conversion [..]\r' echo -ne ' png to webp conversion [..]\r'
cd "$IMG_PATH" || exit 1 cd "$IMG_PATH" || exit 1
find . -type f -iname "*.png" -print0 | xargs -r -0 -I {} \ find . -type f -iname "*.png" ${FIND_ARGS} -print0 | xargs -r -0 -I {} \
bash -c '[ ! -f "{}.webp" ] && { cwebp ${WEBP_ARGS} -z 9 -mt -quiet "{}" -o "{}.webp"; }' bash -c '[ ! -f "{}.webp" ] && { cwebp ${WEBP_ARGS} -z 9 -mt -quiet "{}" -o "{}.webp"; }'
echo -ne " png to webp conversion [${CGREEN}OK${CEND}]\\r" echo -ne " png to webp conversion [${CGREEN}OK${CEND}]\\r"
@ -195,7 +203,7 @@ if [ "$WEBP_OPTIMIZATION" = "y" ]; then
# convert jpg to webp # convert jpg to webp
echo -ne ' jpg to webp conversion [..]\r' echo -ne ' jpg to webp conversion [..]\r'
cd "$IMG_PATH" || exit 1 cd "$IMG_PATH" || exit 1
find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 -I {} \ find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) ${FIND_ARGS} -print0 | xargs -0 -I {} \
bash -c '[ ! -f "{}.webp" ] && { cwebp ${WEBP_ARGS} -q 82 -mt "{}" -o "{}.webp"; }' bash -c '[ ! -f "{}.webp" ] && { cwebp ${WEBP_ARGS} -q 82 -mt "{}" -o "{}.webp"; }'
echo -ne " jpg to webp conversion [${CGREEN}OK${CEND}]\\r" echo -ne " jpg to webp conversion [${CGREEN}OK${CEND}]\\r"