boxespy/scripts/gen_thumbnails.sh

35 lines
847 B
Bash
Executable File

#!/bin/sh
set -e
STATIC_DIR=../static/samples/
THUMB_WIDTH=200
THUMB_HEIGHT=10000 # height: auto;
thumbnail() {
echo "convert \"$1\" -thumbnail ${THUMB_WIDTH}x${THUMB_HEIGHT} \"${1%.*}-thumb.jpg\""
convert "$1" -thumbnail ${THUMB_WIDTH}x${THUMB_HEIGHT} "${1%.*}-thumb.jpg"
}
[ ! -f "$STATIC_DIR"samples.sha256 ] && touch "$STATIC_DIR"samples.sha256
find "$STATIC_DIR" -name '*.jpg' ! -name '*-thumb.jpg' -type f | while read -r f
do
f_=$(echo "$f" | sed -E -e 's@([/.])@\\\1@g')
checksum=$(grep "$f_" "$STATIC_DIR"samples.sha256 || /bin/true)
if [ -n "$checksum" ]
then
echo "$checksum" | sha256sum -c --status || {
echo "File $f changed"
sed -i "/$f_/ c\\
$(sha256sum "$f")
" "$STATIC_DIR"samples.sha256
thumbnail "$f"
}
else
echo "New file $f"
sha256sum "$f" >> "$STATIC_DIR"samples.sha256
thumbnail "$f"
fi
done