58 lines
1.8 KiB
Bash

#!/bin/bash
set -o nounset
set -o errexit
#####################################################
# Script to create PNG files from SVG source files. #
# Dependencies: cairosvg (https://cairosvg.org/) #
# #
# Rationale: Generating from SVG instead of storing #
# image files decreases size of repo and avoids #
# security vulnerabilites associated with binary #
# image files. #
#####################################################
convert () {
COLOR=$1
# echo "converting file $COLOR..."
FILE=logo/commitizen-logo-${COLOR}.svg
if [ ! -f ${FILE} ]; then
# echo "file $FILE missing!"
exit 1
fi
# echo "conversion in progress..."
for SIZE in 16 48 96 256 512 1024; do
cairosvg ${FILE} -f png -W ${SIZE} -H ${SIZE} -d 300 -o logo/commitizen_logo_${COLOR}_${SIZE}x${SIZE}.png
done
# echo "done"
return 0
}
if [[ $(which cairosvg) == "" ]]; then
# We're not going to mess with installation on OSX or Windows in our build pipelines.
if [[ "$OSTYPE" == "darwin"* ]]; then
echo "cairosvg not found in PATH. Please see https://cairosvg.org/documentation/#installation"
exit 0
elif [[ "$OSTYPE" == "msys"* ]]; then
echo "cairosvg not found in PATH. Please see https://cairosvg.org/documentation/#installation"
exit 0
fi
pip3 install cairosvg
fi
for COLOR in black blue white color; do
FILE=logo/commitizen-logo-${COLOR}.svg
if [ ! -f ${FILE} ]; then
# echo "generating file $FILE..."
sed 's|fill=\".*\"|fill=\"'${COLOR}'\"|g' <logo/commitizen-logo-mono.svg >${FILE}
convert ${COLOR}
# echo "removing generated file $FILE..."
rm $FILE
# echo "success!"
else
# echo "file found: $FILE"
convert ${COLOR}
fi
done
exit 0