51 lines
1.2 KiB
Bash
51 lines
1.2 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
if [[ -z $1 ]]; then
|
||
|
echo "Usage: (1) ${0##*/} assets/static/icons/[name].svg (icons are rendered as assets/static/icons/[name]/{size}.png)" 1>&2
|
||
|
echo " (2) ${0##*/} [source.svg] [dest]/{size}.png" 1>&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
set -e
|
||
|
|
||
|
sizes=(16 20 29 32 40 48 50 55 56 60 64 72 76 80 100 114 120 128 144 152 160 167 172 175 180 192 196 200 216 256 267 400 512 1024)
|
||
|
|
||
|
if [[ -z $2 ]]; then
|
||
|
# Check if source file exists.
|
||
|
if [ -f "assets/static/icons/$1.svg" ]; then
|
||
|
echo "Creating icons from assets/static/icons/$1.svg..."
|
||
|
else
|
||
|
echo "assets/static/icons/$1.svg not found"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Create dest folder.
|
||
|
mkdir -p "assets/static/icons/$1"
|
||
|
|
||
|
# Create icons in all sizes.
|
||
|
for i in "${sizes[@]}"
|
||
|
do
|
||
|
rsvg-convert -a -w $i -h $i "assets/static/icons/$1.svg" > "assets/static/icons/$1/$i.png"
|
||
|
echo "assets/static/icons/$1/$i.png"
|
||
|
done
|
||
|
else
|
||
|
# Check if source file exists.
|
||
|
if [ -f "$1" ]; then
|
||
|
echo "Creating icons from $1..."
|
||
|
else
|
||
|
echo "$1 not found"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Create dest folder.
|
||
|
mkdir -p "$2"
|
||
|
|
||
|
# Create icons in all sizes.
|
||
|
for i in "${sizes[@]}"
|
||
|
do
|
||
|
rsvg-convert -a -w $i -h $i $1 > "$2/$i.png"
|
||
|
echo "$2/$i.png"
|
||
|
done
|
||
|
fi
|
||
|
|
||
|
echo "Done."
|