render.sh 933 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. set -e -u
  3. # Color variations to be generated
  4. COLORS="000000 ffffff"
  5. # Check for required commands
  6. COMMANDS="inkscape pngquant convert"
  7. for COMMAND in $COMMANDS; do
  8. if [ -z $(which $COMMAND) ]; then
  9. echo "Command '$COMMAND' not found."
  10. exit 1
  11. fi
  12. done
  13. BASE="$(dirname $0)"
  14. TMP="$(mktemp /tmp/tmp.XXXXXXXX)"
  15. # Render icons.svg variations.
  16. inkscape \
  17. --export-dpi=90 \
  18. --export-png=$TMP.png \
  19. $BASE/icons.svg > /dev/null
  20. inkscape \
  21. --export-dpi=180 \
  22. --export-png=$TMP@2x.png \
  23. $BASE/icons.svg > /dev/null
  24. echo ""
  25. for COLOR in $COLORS; do
  26. convert $TMP@2x.png -fill "#$COLOR" -colorize 100,100,100,0 - | pngquant 32 > $BASE/icons-$COLOR@2x.png
  27. echo -e "\033[01;33m✔ saved $BASE/icons-$COLOR@2x.png"
  28. done
  29. rm -f $TMP $TMP.png $TMP@2x.png
  30. echo -e "\n\033[00;33mCOMPLETE! Don't forget to update the \`background-size\` property if the sprite size changed\033[0m"