Created
October 15, 2009 16:45
-
-
Save alexdunae/211082 to your computer and use it in GitHub Desktop.
Image optimization with a home-rolled Smush.it
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Home-rolled Smush.it, by Alex Dunae (http://dialect.ca). | |
# | |
# N.B. This script works for me; it may not work for you. | |
# Since it overwrites your images with the optimized version, you should | |
# backup your files before running this script and do a trial run before | |
# getting too excited. This is your disclaimer. | |
# | |
# Uses jpegtran (http://jpegclub.org/jpegtran/), part of libjpeg, | |
# and pngcrush (http://pmt.sourceforge.net/pngcrush/index.html). | |
# Set to WordPress upload directory or any folder with images. | |
base_path=~/wptrunk.dunae.ca/wp-content/uploads/ | |
# Find files with a JPG extension recursively and process with jpegtran by | |
# - stripping comments | |
# - optimize image table | |
# - making the JPEG progressive | |
if type -P jpegtran &>/dev/null; then | |
echo 'Running jpegtran'; | |
find $base_path -iname "*.jpg" -type f -exec jpegtran -outfile '{}' -copy none -optimize -progressive '{}' \; | |
else | |
echo 'jpegtran not found'; | |
fi | |
# Find files with a PNG extension recursively and process with pngcrush | |
if type -P pngcrush &>/dev/null; then | |
echo 'Running pngcrush'; | |
find $base_path -iname "*.png" -type f -exec pngcrush -reduce -brute -nofilecheck '{}' '{}' \; | |
else | |
echo 'pngcrush not found'; | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment