lila/bin/svg-optimize
2017-10-18 11:45:14 -05:00

74 lines
1.5 KiB
Bash
Executable file

#!/bin/bash -e
# Uses svgo and also https://github.com/RazrFalcon/svgcleaner unless run with
# --no-svgcleaner.
SVGCLEANER=svgcleaner
SVGO=./node_modules/svgo/bin/svgo
for opt in "$@"; do
case $opt in
--no-svgcleaner)
unset SVGCLEANER
;;
*)
echo "Unknown option: $opt"
exit 129
;;
esac
done
svgo_optimize() {
echo "$1 -> $2"
$SVGO --quiet --multipass -i "$1" -o "$2"
}
svgcleaner_optimize() {
echo "$1 -> $2"
if [[ $SVGCLEANER ]]; then
$SVGCLEANER "$1" "$2" --multipass
else
cp "$1" "$2"
fi
}
svg_optimize () {
svgcleaner_optimize "$1" "$2"
$SVGO --quiet --multipass -i "$2"
if [[ $SVGCLEANER ]]; then
$SVGCLEANER "$2" "$2" --multipass
fi
}
# pieces
for pset in alpha chess7 chessnut fantasy letter merida mono pirouetti reillycraig spatial shapes riohacha; do
mkdir -p public/piece/$pset
for file in public/piece-src/$pset/*.svg; do
svg_optimize $file $(echo $file | sed 's#/piece-src/#/piece/#')
done
done
# pieces broken by svgcleaner
for pset in cburnett; do
mkdir -p public/piece/$pset
for file in public/piece-src/$pset/*.svg; do
svgo_optimize $file $(echo $file | sed 's#/piece-src/#/piece/#')
done
done
# pieces broken by svgo
for pset in companion; do
mkdir -p public/piece/$pset
for file in public/piece-src/$pset/*.svg; do
svgcleaner_optimize $file $(echo $file | sed 's#/piece-src/#/piece/#')
done
done
# logo
for file in public/images/bN-bg.src.svg public/images/wN-bg.src.svg; do
svg_optimize $file $(echo $file | sed 's#.src.svg#.svg#')
done