blob: 14645b20dba12a6083b665ef44653756a1fd5eba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#!/bin/sh
IN_ROW=15
DELAY_BETWEEN=0.3
DEG_BETWEEN=24
SUBUNITS="5.3 3.2 1.5 1"
SUBUNITS_N=$(wc -w <<EOF
$SUBUNITS
EOF
)
END_DEG=360
ANIMATION_DURATION=8 # must match that in kwiatuszek.html.template
ANIMATION_DELAY=$(bc <<EOF
2 + $SUBUNITS_N * $IN_ROW * $DELAY_BETWEEN
EOF
)
print_petal() {
cat <<EOF
<div class="petal">
<div style="--subunit: $SUBUNIT; --end-deg: -${END_DEG}deg; animation-delay: ${ANIMATION_DELAY}s;">
<img src="./petal.svg" alt="flower petal" draggable="false">
</div>
</div>
EOF
}
I=0
for SUBUNIT in $SUBUNITS; do
I=$((I + 1))
if [ $I -eq $((SUBUNITS_N - 1)) ]; then
bc >_inner_row_delay <<EOF
$ANIMATION_DELAY + $ANIMATION_DURATION
EOF
fi
if [ $I -eq 1 ]; then
bc >_flower_delay <<EOF
$ANIMATION_DELAY + $ANIMATION_DURATION - $DELAY_BETWEEN
EOF
fi
for _ in $(seq $IN_ROW); do
print_petal
END_DEG=$((END_DEG + DEG_BETWEEN))
ANIMATION_DELAY=$(bc <<EOF
$ANIMATION_DELAY - $DELAY_BETWEEN
EOF
)
done
END_DEG=$((END_DEG + DEG_BETWEEN / 2))
done
|