render-asset.sh
Bourne-Again shell script, ASCII text executable
1
#! /bin/bash
2
set -ueo pipefail
3
4
INKSCAPE="$(which inkscape)"
5
OPTIPNG="$(which optipng)"
6
7
if [[ "$1" == "dark" ]]; then
8
SRC_FILE="assets-dark.svg"
9
ASSETS_DIR="assets-dark"
10
else
11
SRC_FILE="assets.svg"
12
ASSETS_DIR="assets"
13
fi
14
15
i="$2"
16
17
GTK2_HIDPI=$(echo "${GTK2_HIDPI-False}" | tr '[:upper:]' '[:lower:]')
18
if [[ "${GTK2_HIDPI}" == "true" ]] ; then
19
EXTRA_OPTIONS=("--export-dpi=192")
20
else
21
EXTRA_OPTIONS=()
22
fi
23
24
if [[ -f "$ASSETS_DIR/$i.png" ]]; then
25
echo "'$ASSETS_DIR/$i.png' exists."
26
else
27
echo "Rendering '$ASSETS_DIR/$i.png'"
28
"$INKSCAPE" --export-id="$i" \
29
--export-id-only \
30
--export-background-opacity=0 \
31
${EXTRA_OPTIONS+"${EXTRA_OPTIONS[@]}"} \
32
--export-png="$ASSETS_DIR/$i.png" "$SRC_FILE" >/dev/null \
33
&& "$OPTIPNG" -o7 --quiet "$ASSETS_DIR/$i.png"
34
fi
35
36
exit 0
37