47 lines
1.1 KiB
Bash
Executable file
47 lines
1.1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
ROOT=../www
|
|
SRC=../www/img
|
|
SIZE=500
|
|
|
|
# transform path to /img/*/.thumb/
|
|
pathtrans() {
|
|
filename=$(echo $1 | awk -F/ '{print $NF}')
|
|
filename=$(echo ${filename} | awk 'BEGIN{FS=OFS="."}{NF--; print $0}')
|
|
transform=$(echo $1 | awk 'BEGIN{FS=OFS="/"}{NF--; print $0}')
|
|
if [ ! -d ${transform}/.thumb ]; then
|
|
mkdir ${transform}/.thumb/
|
|
fi
|
|
transform=${transform}/.thumb/${filename}.png
|
|
echo ${transform}
|
|
}
|
|
|
|
# generate thumbnails in /img/*/.thumb/
|
|
|
|
resize() {
|
|
output=$(pathtrans $1)
|
|
if [ ! -f ${output} ]; then
|
|
convert $1 -strip -auto-orient -resize ${SIZE} -dither FloydSteinberg -colors 16 ${output}
|
|
fi
|
|
replace $1 ${output}
|
|
}
|
|
|
|
# crawl through html and replace src='/img/*/*' with src='/img/*/.thumb/*'
|
|
|
|
replace() {
|
|
src=$(echo $1 | sed s#\.\./www##)
|
|
dest=$(echo $2 | sed s#\.\./www##)
|
|
|
|
src=$(echo "src='${src}'")
|
|
dest=$(echo "src='${dest}'")
|
|
|
|
for f in $(find ${ROOT}/*.html); do
|
|
if grep ${src} ${f}; then
|
|
sed -i s#${src}#${dest}# $f
|
|
fi
|
|
done
|
|
}
|
|
|
|
echo "creating new thumbnails"
|
|
for x in $(find ${SRC}/*/*); do resize $x exit; done
|
|
echo "done"
|