35 lines
847 B
Bash
Executable File
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
|