Skip to content

Instantly share code, notes, and snippets.

@carcam
Created December 11, 2015 09:46
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carcam/7d2bbbc38f416409a2fa to your computer and use it in GitHub Desktop.
Save carcam/7d2bbbc38f416409a2fa to your computer and use it in GitHub Desktop.
Image optimization bash script
##
# @author Carlos Cámara <cmcamara@gmail.com> based on the script by freakie guy <freakie2007@gmail.com>
# @package Batch Optimize Image for web performance similar to Compressor.io
# @requirement jpegoptim, optipng
##
#
# Folder path
#
FOLDER="$HOME/Desktop"
WORKFOLDER="$FOLDER/optimized"
FILE="run.jpeg"
WIDTH="900"
#
# check jpeg cmd if not install
#
jpegoptimize() {
for f in *.jp*g
do
FILENAME="${f%%.*}"
EXTENSION="${f##*.}"
convert "$f" -resize $WIDTH "${FILENAME}_${WIDTH}.${EXTENSION}"
cp "${FILENAME}_${WIDTH}.${EXTENSION}" "${FILENAME}_${WIDTH}_control.${EXTENSION}"
jpegoptim --max=80 --strip-all --preserve --totals --all-progressive "${FILENAME}_${WIDTH}.${EXTENSION}"
done
}
#
# check jpeg cmd if not install
#
pngoptimize() {
for f in *.png
do
FILENAME="${f%%.*}"
EXTENSION="${f##*.}"
convert "$f" -resize $WIDTH "${FILENAME}_${WIDTH}.${EXTENSION}"
optipng -o7 -preserve "${FILENAME}_${WIDTH}.${EXTENSION}"
done
}
if [ ! -d "$WORKFOLDER" ]
then
mkdir $WORKFOLDER
fi
cd $WORKFOLDER
cp "$FOLDER/$FILE" $WORKFOLDER
echo "jpeg Optimization start ...."
jpegoptimize
echo -e "jpeg Done.\n"
echo "png Optimization start ...."
pngoptimize
echo "png Done."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment