diff --git a/quack.sh b/quack.sh index 1823768e2d0be3cf073d604e0838e41db52eb377..f0338c6b2820d66d3f158da24898465a9fee25cf 100755 --- a/quack.sh +++ b/quack.sh @@ -198,9 +198,9 @@ function template () { # We need to escape \, &, / and newline in replacement to avoid sed problems # http://stackoverflow.com/questions/407523/escape-a-string-for-sed-search-pattern # http://stackoverflow.com/questions/1251999/sed-how-can-i-replace-a-newline-n - local EREPLACEMENT=`echo "$REPLACEMENT" | sed -e 's/[\\/&]/\\\\&/g' | sed ':a;N;$!ba;s/\\n/\\\\\&br;/g'` + ( echo -n "s/\${$PATTERN}/" ; echo -n "$REPLACEMENT" | sed -e 's/[\\/&]/\\&/g' | awk 1 ORS="\\\\&br;" ; echo "/g" ) | sed -f - -i $TEMPLATE # Insert into template, then unescape newlines - echo "$TEMPLATE" | sed "s/\${$PATTERN}/$EREPLACEMENT/g" | sed 's/\&br;/\n/g' + sed 's/\&br;/\n/g' -i $TEMPLATE } # Creates the bash environment variables corresponding to those used by makeImages @@ -573,19 +573,20 @@ function makePreviewPage() { NAVIGATION="${NAVIGATION} | next" fi - local IHTML=`cat $IMAGE_TEMPLATE` - IHTML=`template "$IHTML" "PARENT" "$PARENT"` + cp $IMAGE_TEMPLATE $P + IHTML=$P + template "$IHTML" "PARENT" "$PARENT" local DATE=`date "+%Y-%m-%d %H:%M"` - IHTML=`template "$IHTML" "DATE" "$DATE"` - IHTML=`template "$IHTML" "UP" "$UP"` - IHTML=`template "$IHTML" "NAVIGATION" "$NAVIGATION"` - IHTML=`template "$IHTML" "BASE" "$BASE"` - IHTML=`template "$IHTML" "SOURCE" "$SOURCE_IMAGE"` - IHTML=`template "$IHTML" "FULL_RELATIVE_HEIGHT" "$FULL_RELATIVE_HEIGHT"` + 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" EDEST=${DEST_IMAGE##*/} - IHTML=`template "$IHTML" "IMAGE" "$EDEST"` - IHTML=`template "$IHTML" "IMAGE_WIDTH" "$IMAGE_WIDTH"` - IHTML=`template "$IHTML" "IMAGE_HEIGHT" "$IMAGE_HEIGHT"` + template "$IHTML" "IMAGE" "$EDEST" + template "$IHTML" "IMAGE_WIDTH" "$IMAGE_WIDTH" + template "$IHTML" "IMAGE_HEIGHT" "$IMAGE_HEIGHT" if [ "true" == "$TILE" ]; then TILE_SOURCES=" Image: {\ xmlns: \"http://schemas.microsoft.com/deepzoom/2008\",\ @@ -608,31 +609,30 @@ function makePreviewPage() { }\ ]"$'\n' fi - IHTML=`template "$IHTML" "TILE_SOURCES" "$TILE_SOURCES"` - IHTML=`template "$IHTML" "THUMB" "$THUMB_LINK"` - IHTML=`template "$IHTML" "THUMB_WIDTH" "$THUMB_WIDTH"` - IHTML=`template "$IHTML" "THUMB_HEIGHT" "$THUMB_HEIGHT"` + template "$IHTML" "TILE_SOURCES" "$TILE_SOURCES" + template "$IHTML" "THUMB" "$THUMB_LINK" + template "$IHTML" "THUMB_WIDTH" "$THUMB_WIDTH" + template "$IHTML" "THUMB_HEIGHT" "$THUMB_HEIGHT" PRESENTATION_LINK=${PRESENTATION_IMAGE##*/} - IHTML=`template "$IHTML" "PRESENTATION" "$PRESENTATION_LINK"` - IHTML=`template "$IHTML" "PRESENTATION_WIDTH" "$PRESENTATION_WIDTH"` - IHTML=`template "$IHTML" "PRESENTATION_HEIGHT" "$PRESENTATION_HEIGHT"` + template "$IHTML" "PRESENTATION" "$PRESENTATION_LINK" + template "$IHTML" "PRESENTATION_WIDTH" "$PRESENTATION_WIDTH" + template "$IHTML" "PRESENTATION_HEIGHT" "$PRESENTATION_HEIGHT" WHITE_LINK=${WHITE_IMAGE##*/} - IHTML=`template "$IHTML" "WHITE" "$WHITE_LINK"` + template "$IHTML" "WHITE" "$WHITE_LINK" BLACK_LINK=${BLACK_IMAGE##*/} - IHTML=`template "$IHTML" "BLACK" "$BLACK_LINK"` - IHTML=`template "$IHTML" "OVERLAYS" "$OVERLAYS"` - IHTML=`template "$IHTML" "OCR_CONTENT" "$OCR_CONTENT"` - IHTML=`template "$IHTML" "IDNEXTS" "$IDNEXTS"` - IHTML=`template "$IHTML" "IDPREVS" "$IDPREVS"` - IHTML=`template "$IHTML" "ALTO_ELEMENTS_HTML" "$ELEMENTS_HTML"` + 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" EHIST=${HIST_IMAGE##*/} - IHTML=`template "$IHTML" "HISTOGRAM" "$EHIST"` - IHTML=`template "$IHTML" "ALTO" "$ALTO_FILE"` + template "$IHTML" "HISTOGRAM" "$EHIST" + template "$IHTML" "ALTO" "$ALTO_FILE" if [ "true" == "$RESOLVE_ALTERNATIVES" ]; then resolveAlternatives "$SRC_FOLDER" "$IMAGE" - IHTML=`template "$IHTML" "ALTERNATIVES" "$ALTERNATIVES_HTML"` + template "$IHTML" "ALTERNATIVES" "$ALTERNATIVES_HTML" fi - echo "$IHTML" > $P # echo "" # cat $P @@ -731,16 +731,16 @@ function makeIndex() { done fi - local FHTML=`cat $FOLDER_TEMPLATE` - FHTML=`template "$FHTML" "UP" "$UP"` - FHTML=`template "$FHTML" "PARENT" "$PARENT"` - FHTML=`template "$FHTML" "SRC_FOLDER" "$SRC_FOLDER"` - FHTML=`template "$FHTML" "DEST_FOLDER" "$DEST_FOLDER"` - FHTML=`template "$FHTML" "IMAGES_HTML" "$IMAGES_HTML"` - FHTML=`template "$FHTML" "THUMBS_HTML" "$THUMBS_HTML"` - FHTML=`template "$FHTML" "SUBFOLDERS_HTML" "$SUBFOLDERS_HTML"` - FHTML=`template "$FHTML" "EDITION_HTML" "$EDITION_HTML"` - echo "$FHTML" > $PP + cp $FOLDER_TEMPLATE $PP + FHTML=$PP + template "$FHTML" "UP" "$UP" + template "$FHTML" "PARENT" "$PARENT" + template "$FHTML" "SRC_FOLDER" "$SRC_FOLDER" + template "$FHTML" "DEST_FOLDER" "$DEST_FOLDER" + template "$FHTML" "IMAGES_HTML" "$IMAGES_HTML" + template "$FHTML" "THUMBS_HTML" "$THUMBS_HTML" + template "$FHTML" "SUBFOLDERS_HTML" "$SUBFOLDERS_HTML" + template "$FHTML" "EDITION_HTML" "$EDITION_HTML" # cat $PP | grep -A 10 Images