parse-sass.sh
Bourne-Again shell script, ASCII text executable
1
#!/bin/bash
2
set -ueo pipefail
3
4
if [[ ! "$(which sassc 2> /dev/null)" ]]; then
5
echo "'sassc' needs to be installed to generate the CSS."
6
exit 1
7
fi
8
9
SASSC_OPT=('-M' '-t' 'expanded')
10
11
_COLOR_VARIANTS=('' '-dark' '-light')
12
_SIZE_VARIANTS=('' '-compact')
13
14
GTK_VERSIONS=('3.0')
15
GS_VERSIONS=('3.18' '3.24' '3.26' '3.28' '3.30')
16
17
if [[ ! -z "${COLOR_VARIANTS:-}" ]]; then
18
IFS=', ' read -r -a _COLOR_VARIANTS <<< "${COLOR_VARIANTS:-}"
19
fi
20
21
if [[ ! -z "${SIZE_VARIANTS:-}" ]]; then
22
IFS=', ' read -r -a _SIZE_VARIANTS <<< "${SIZE_VARIANTS:-}"
23
fi
24
25
echo "== Generating the CSS..."
26
27
for color in "${_COLOR_VARIANTS[@]}"; do
28
for size in "${_SIZE_VARIANTS[@]}"; do
29
sassc "${SASSC_OPT[@]}" "src/cinnamon/cinnamon$color$size."{scss,css}
30
31
for version in "${GTK_VERSIONS[@]}"; do
32
sassc "${SASSC_OPT[@]}" "src/gtk/$version/gtk$color$size."{scss,css}
33
done
34
35
for version in "${GS_VERSIONS[@]}"; do
36
sassc "${SASSC_OPT[@]}" "src/gnome-shell/$version/gnome-shell$color$size."{scss,css}
37
done
38
done
39
done
40
41
sassc "${SASSC_OPT[@]}" src/chrome/chrome-scrollbar/scrollbars.{scss,css}
42
sassc "${SASSC_OPT[@]}" src/chrome/chrome-scrollbar-dark/scrollbars.{scss,css}
43