diff options
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}" |
