eureka/thumbnailer.sh

43 lines
943 B
Bash
Raw Permalink Normal View History

2021-05-18 04:03:18 +00:00
#!/bin/sh
SRC=../www/img
SIZE=500
# transform path to /img/*/.thumb/
pathtrans() {
2024-09-27 01:32:04 +00:00
filename=$(basename "${1%.*}")
pathname="${1%/*}"
if [ ! -d ${pathname}/.thumb ]; then
mkdir ${pathname}/.thumb/
2021-05-18 04:03:18 +00:00
fi
2024-09-27 01:32:04 +00:00
echo "${pathname}/.thumb/${filename}.png"
2021-05-18 04:03:18 +00:00
}
# generate thumbnails in /img/*/.thumb/
resize() {
output=$(pathtrans $1)
if echo $1 | grep -e .gif -e .zip > /dev/null; then
return
fi
2021-05-18 04:03:18 +00:00
if [ ! -f ${output} ]; then
echo "Stripping metadata from $1"
2024-09-27 01:32:04 +00:00
convert "$1" -strip "$1"
echo "Generating thumbnail for $1"
2024-09-27 01:32:04 +00:00
convert "$1" -strip -auto-orient -resize ${SIZE} -dither FloydSteinberg -colors 16 ${output}
2021-05-18 04:03:18 +00:00
fi
}
2024-09-27 01:32:04 +00:00
if [ -z "$1" ]; then
echo "usage: $0 [build|clean]"
else
case $1 in
"build")
echo "Updating thumbnails cache"
2024-09-27 01:32:04 +00:00
for x in $(find ${SRC}/*/*); do resize "$x"; done;;
"clean")
echo "Cleaning thumbnails cache"
rm -rf ${SRC}/*/.thumb
echo "Cleaned";;
esac
fi