From 41973cc1a6e3f9d1f3c6cec7b178676addedf343 Mon Sep 17 00:00:00 2001
From: Toke Eskildsen <te@ekot.dk>
Date: Sun, 1 Dec 2013 02:54:41 +0100
Subject: [PATCH] First cat-based template version

---
 image_template.html |  2 +-
 quack.sh            | 82 ++++++++++++++++++++++-----------------------
 2 files changed, 41 insertions(+), 43 deletions(-)

diff --git a/image_template.html b/image_template.html
index ba43547..61258e2 100644
--- a/image_template.html
+++ b/image_template.html
@@ -123,7 +123,7 @@ ${ALTO_ELEMENTS_HTML}
       type: 'legacy-image-pyramid',
       levels:[
         {
-          url: '${PRESENTATION}',
+          url: '${PRESENTATION_LINK}',
           width:  ${PRESENTATION_WIDTH},
           height: ${PRESENTATION_HEIGHT}
         },
diff --git a/quack.sh b/quack.sh
index 71aaa11..bf5f1a7 100755
--- a/quack.sh
+++ b/quack.sh
@@ -200,6 +200,17 @@ function copyFiles () {
     cp ${ROOT}/*.css "$DEST"
 }
 
+# http://stackoverflow.com/questions/14434549/how-to-expand-shell-variables-in-a-text-file
+# Input: template-file
+function ctemplate() {
+    TMP="`tempfile`.sh"
+    echo 'cat <<END_OF_TEXT' >  $TMP
+    cat  "$1"                >> $TMP
+    echo 'END_OF_TEXT'       >> $TMP
+    . $TMP
+    rm $TMP
+}
+
 # template pattern replacement
 function template () {
     local TEMPLATE="$1"
@@ -612,20 +623,13 @@ function makePreviewPage() {
         NAVIGATION="${NAVIGATION} | next"
     fi
 
-    cp $IMAGE_TEMPLATE $P
-    IHTML=$P
-    template "$IHTML" "PARENT" "$PARENT"
-    local DATE=`date "+%Y-%m-%d %H:%M"`
-    template "$IHTML" "DATE" "$DATE"
-    template "$IHTML" "UP" "$UP"
-    template "$IHTML" "NAVIGATION" "$NAVIGATION"
-    template "$IHTML" "BASE" "$BASE"
-    template "$IHTML" "SOURCE" "$SOURCE_IMAGE"
-    template "$IHTML" "FULL_RELATIVE_HEIGHT" "$FULL_RELATIVE_HEIGHT"
+
+
+    # PARENT, DATE, UP, NAVIGATION, BASE, SOURCE, FULL_RELATIVE_HEIGHT, EDEST, IMAGE_WIDTH, IMAGE_HEIGHT, TILE_SOURCES, THUMB, THUMB_WIDTH, THUMB_HEIGHT, PRESENTATION, PRESENTATION_WIDTH, PRESENTATION_HEIGHT, WHITE, BLACK, OVERLAYS, OCR_CONTENT, IDNEXTS, IDPREVS, ALTO_ELEMENTS_HTML, HISTOGRAM, ALTO, ALTERNATIVES
+    SOURCE="$SOURCE_IMAGE"
     EDEST=${DEST_IMAGE##*/}
-    template "$IHTML" "IMAGE" "$EDEST"
-    template "$IHTML" "IMAGE_WIDTH" "$IMAGE_WIDTH"
-    template "$IHTML" "IMAGE_HEIGHT" "$IMAGE_HEIGHT"
+    IMAGE="$EDEST"
+
     if [ "true" == "$TILE" ]; then
         TILE_SOURCES="      Image: {\
         xmlns:    \"http://schemas.microsoft.com/deepzoom/2008\",\
@@ -648,52 +652,46 @@ function makePreviewPage() {
         }\
       ]"$'\n'
     fi
-    template "$IHTML" "TILE_SOURCES" "$TILE_SOURCES"
-    template "$IHTML" "THUMB" "$THUMB_LINK"
-    template "$IHTML" "THUMB_WIDTH" "$THUMB_WIDTH"
-    template "$IHTML" "THUMB_HEIGHT" "$THUMB_HEIGHT"
+    THUMB="$THUMB_LINK"
     if [ ".true" == ".$PRESENTATION" ]; then
         PRESENTATION_LINK=${PRESENTATION_IMAGE##*/}
-        template "$IHTML" "PRESENTATION" "$PRESENTATION_LINK"
-        template "$IHTML" "PRESENTATION_WIDTH" "$PRESENTATION_WIDTH"
-        template "$IHTML" "PRESENTATION_HEIGHT" "$PRESENTATION_HEIGHT"
     else
-        template "$IHTML" "PRESENTATION" ""
-        template "$IHTML" "PRESENTATION_WIDTH" "0"
-        template "$IHTML" "PRESENTATION_HEIGHT" "0"
+        PRESENTATION_LINK=""
+        PRESENTATION_WIDTH=0
+        PRESENTATION_HEIGHT=0
     fi
     WHITE_LINK=${WHITE_IMAGE##*/}
-    template "$IHTML" "WHITE" "$WHITE_LINK"
+    WHITE="$WHITE_LINK"
     BLACK_LINK=${BLACK_IMAGE##*/}
-    template "$IHTML" "BLACK" "$BLACK_LINK"
-    template "$IHTML" "OVERLAYS" "$OVERLAYS"
-    template "$IHTML" "OCR_CONTENT" "$OCR_CONTENT"
-    template "$IHTML" "IDNEXTS" "$IDNEXTS"
-    template "$IHTML" "IDPREVS" "$IDPREVS"
-    template "$IHTML" "ALTO_ELEMENTS_HTML" "$ELEMENTS_HTML"
+    BLACK="$BLACK_LINK"
+
+    ALTO_ELEMENTS_HTML="$ELEMENTS_HTML"
     EHIST=${HIST_IMAGE##*/}
-    template "$IHTML" "HISTOGRAM" "$EHIST"
-    template "$IHTML" "ALTO" "$ALTO_FILE"
+    HISTOGRAM="$EHIST"
+    ALTO="$ALTO_FILE"
     if [ "true" == "$RESOLVE_ALTERNATIVES" ]; then
         resolveAlternatives "$SRC_FOLDER" "$IMAGE"
     else
         local ALTERNATIVES_HTML=""
     fi
-    template "$IHTML" "ALTERNATIVES" "$ALTERNATIVES_HTML"
+    ALTERNATIVES="$ALTERNATIVES_HTML"
+
     # image stats
 #    grey_stats "$IMAGE"
     local GREY=`grey_stats "$IMAGE"`
     # $PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY
     # 1000095 512 82362 8.23 (0,0,0) 255 .02 (255,255,255)
-    template "$IHTML" "GREY_PIXELS" `echo "$GREY" | cut -d\  -f1`
-    template "$IHTML" "GREY_UNIQUE" `echo "$GREY" | cut -d\  -f2`
-    template "$IHTML" "GREY_COUNT_FIRST" `echo "$GREY" | cut -d\  -f3`
-    template "$IHTML" "GREY_PERCENT_FIRST" `echo "$GREY" | cut -d\  -f4`
-    template "$IHTML" "GREY_FIRST" `echo "$GREY" | cut -d\  -f5`
-    template "$IHTML" "GREY_COUNT_LAST" `echo "$GREY" | cut -d\  -f6`
-    template "$IHTML" "GREY_PERCENT_LAST" `echo "$GREY" | cut -d\  -f7`
-    template "$IHTML" "GREY_LAST" `echo "$GREY" | cut -d\  -f8`
-    
+    GREY_PIXELS=`echo "$GREY" | cut -d\  -f1`
+    GREY_UNIQUE=`echo "$GREY" | cut -d\  -f2`
+    GREY_COUNT_FIRST=`echo "$GREY" | cut -d\  -f3`
+    GREY_PERCENT_FIRST=`echo "$GREY" | cut -d\  -f4`
+    GREY_FIRST=`echo "$GREY" | cut -d\  -f5`
+    GREY_COUNT_LAST=`echo "$GREY" | cut -d\  -f6`
+    GREY_PERCENT_LAST=`echo "$GREY" | cut -d\  -f7`
+    GREY_LAST=`echo "$GREY" | cut -d\  -f8`
+ 
+    ctemplate $IMAGE_TEMPLATE > $P
+   
 #    ls -l "$IMAGE"
 #   echo "$GREY"
     # ***
-- 
GitLab