#!/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