add thumbnailer
This commit is contained in:
parent
89ef84cdbc
commit
7e7c2f8003
2 changed files with 49 additions and 0 deletions
2
build.sh
2
build.sh
|
@ -27,6 +27,8 @@ cc -std=c89 -DDEBUG -Wall -Wno-unknown-pragmas -Wpedantic -Wshadow -Wuninitializ
|
|||
|
||||
# Run
|
||||
./main
|
||||
./thumbnailer.sh
|
||||
|
||||
|
||||
# Cleanup
|
||||
rm -f ./main
|
||||
|
|
47
thumbnailer.sh
Executable file
47
thumbnailer.sh
Executable file
|
@ -0,0 +1,47 @@
|
|||
#!/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"
|
Loading…
Reference in a new issue