35 lines
847 B
Bash
35 lines
847 B
Bash
|
#!/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
|