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