diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2021-02-15 19:06:27 +0100 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2021-02-15 21:15:23 +0100 |
| commit | ed053a45aeb42aa82e61ed645aba319dcd6019be (patch) | |
| tree | a3813d4eb289471a837c690ea064c09fed9a19a3 /build-member.sh | |
| parent | 0aff71b7cf87a046a4f731cdfec69a449177318c (diff) | |
| download | quatuorbellefeuille.com-ed053a45aeb42aa82e61ed645aba319dcd6019be.tar.xz | |
Simplify format of member file (1/4)
Diffstat (limited to 'build-member.sh')
| -rwxr-xr-x | build-member.sh | 66 |
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}" |
