fr: fix a few bugs.
authorThérèse Godefroy <godef.th@free.fr>
Tue, 19 Aug 2014 13:55:34 +0000 (15:55 +0200)
committerThérèse Godefroy <godef.th@free.fr>
Tue, 19 Aug 2014 13:55:34 +0000 (15:55 +0200)
fr/kitchen/assemble-all-pages

index 702aced8d5ee5c662afbb0b4af21daec9a90fda0..7cfdb8108e43d7c64e27080b84e094de38052c15 100755 (executable)
@@ -5,7 +5,7 @@
 
 ## Synopsis:             assemble-all-pages
 
-## Overview
+## Description
 
 # Each page is built from a template and one or several includes, as usual;
 # in addition, several versions of a page can be built from a single
 # ===========================================================================
 
 set -e
+set -o pipefail
 
-close_term () {
+function close_term () {
   printf '\n%s' '*** Close the terminal window or press Return.'; read OK
   test -z "$OK" && exit $1
 }
 
 # Create temporary files.
-names=$(mktemp -t aap.XXXXXX)  || close_or_exit 1
-list=$(mktemp -t aap.XXXXXX)   || close_or_exit 1
-before=$(mktemp -t aap.XXXXXX) || close_or_exit 1
-after=$(mktemp -t aap.XXXXXX)  || close_or_exit 1
+names=$(mktemp -t aap.XXXXXX)  || close_term 1
+list=$(mktemp -t aap.XXXXXX)   || close_term 1
+before=$(mktemp -t aap.XXXXXX) || close_term 1
+after=$(mktemp -t aap.XXXXXX)  || close_term 1
 trap 'rm -f "$names" "$list" "$before" "$after"' EXIT
 
 # List all the templates in the working directory.
@@ -80,7 +81,7 @@ while read name; do
     if [ -f "$include" ]; then
       cat $before $include $after > ../$name.html
     else
-      echo "$include is missing." && exit 1
+      echo "$include is missing." && close_term 1
     fi
     sed -i "/^<!-- include virtual=\"$include\"/d" ../$name.html
   done < $list
@@ -102,12 +103,12 @@ while read name ; do
   | grep -v "$name" \
   | sed 's%^<!-- START DELETION \([0-9][0-9]\),.*$%\1%' > $list
   echo $name
-  # Make the deletions.
+  # Delete.
   while read deletion; do
     sed -i "/^<!-- START DELETION $deletion/, \
     /^<!-- END DELETION $deletion/d" ../$name.html
   done < $list
-  # Delete the markers and any extra blank lines at the end of the page.
+  # Remove the markers and any extra blank lines at the end of the page.
   sed -i '/^<!-- [A-Z]* DELETION/d' ../$name.html
   sed -i ':a /^\n*$/ {$d; N; ba}' ../$name.html
 done < $names