summaryrefslogtreecommitdiff
path: root/build-member.sh
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@gmail.com>2021-02-15 19:06:27 +0100
committerKévin Le Gouguec <kevin.legouguec@gmail.com>2021-02-15 21:15:23 +0100
commited053a45aeb42aa82e61ed645aba319dcd6019be (patch)
treea3813d4eb289471a837c690ea064c09fed9a19a3 /build-member.sh
parent0aff71b7cf87a046a4f731cdfec69a449177318c (diff)
downloadquatuorbellefeuille.com-ed053a45aeb42aa82e61ed645aba319dcd6019be.tar.xz
Simplify format of member file (1/4)
Diffstat (limited to 'build-member.sh')
-rwxr-xr-xbuild-member.sh66
1 files changed, 66 insertions, 0 deletions
diff --git a/build-member.sh b/build-member.sh
new file mode 100755
index 0000000..1dbccc3
--- /dev/null
+++ b/build-member.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+set -eu
+
+input=$1
+output=$2
+
+firstname ()
+{
+ local -r fullname=$1
+ local name=${fullname%% *}
+ echo ${name,}
+}
+
+generate-parameters ()
+{
+ read fullname
+
+ cat <<EOF
+title='${fullname}'
+stylesheets=(membre)
+transforms=("\$(transform-li-dropdown-current-a quatuor)"
+ "\$(transform-li-current-a $(firstname "${fullname}"))")
+EOF
+}
+
+generate-main ()
+{
+ read fullname
+ read h1
+ read dt
+ local -r name=$(firstname "${fullname}")
+
+ cat <<EOF
+<main>
+ <div id="bio" style="${h1}; ${dt}">
+ <h1>${fullname}</h1>
+EOF
+
+ while read line
+ do
+ if ! [[ ${line} =~ ([^:?]+[:?] )(.+) ]]
+ then
+ >&2 echo "Invalid line: ${line}"
+ fi
+
+ cat <<EOF
+ <dl>
+ <dt>${BASH_REMATCH[1]}</dt>
+ <dd>${BASH_REMATCH[2]}</dd>
+ </dl>
+EOF
+ done
+
+ cat <<EOF
+ </div>
+ <div id="photo">
+ <img src="images/${name}/portrait.png" style="background-image: url(images/${name}/bg.jpg)">
+ </div>
+</main>
+EOF
+}
+
+./build.sh <(generate-main < "${input}") \
+ <(generate-parameters < "${input}") \
+ "${output}"