1
1
mirror of https://github.com/rsms/inter.git synced 2024-11-26 23:56:59 +03:00
inter/docs/_scripts/optimize-resources.sh
2019-05-27 14:19:08 -07:00

76 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
set -e
cd "$(dirname "$0")/.."
MISSING_UTILS=()
if ! (which svgo >/dev/null); then
echo 'svgo not found in $PATH' >&2
MISSING_UTILS+=( svgo )
fi
if ! (which pngcrush >/dev/null); then
echo 'pngcrush not found in $PATH' >&2
MISSING_UTILS+=( pngcrush )
fi
if ! (which convert >/dev/null); then
echo 'convert not found in $PATH' >&2
MISSING_UTILS+=( imagemagick )
fi
if ! [ -z $MISSING_UTILS ]; then
if [[ "$(uname)" = *Darwin* ]]; then
echo 'try `brew install '"${MISSING_UTILS[@]}"'` on mac'
fi
exit 1
fi
pushd res >/dev/null
# crunch /docs/res/*.svg
for f in *.svg; do
svgo --multipass -q "$f" &
done
# crunch /docs/res/icons/*.svg
for f in icons/*.svg; do
svgo --multipass -q "$f" &
done
# crunch /docs/res/*.png
for f in *.png; do
TMPNAME=.$f.tmp
(pngcrush -q "$f" "$TMPNAME" && mv -f "$TMPNAME" "$f") &
done
popd >/dev/null
pushd samples/img >/dev/null
# crunch /docs/samples/img/*.png
for f in *.png; do
TMPNAME=.$f.tmp
if (echo "$f" | grep -q 'thumb'); then
(convert "$f" -flatten -background white -colors 16 "$TMPNAME" && pngcrush -q "$TMPNAME" "$f") &
else
(pngcrush -q "$f" "$TMPNAME" && mv -f "$TMPNAME" "$f") &
fi
done
popd >/dev/null
pushd samples/icons >/dev/null
# crunch /docs/samples/icons/*.svg
for f in *.svg; do
svgo --multipass -q "$f" &
done
popd >/dev/null
# wait for all background processes to exit
wait