all repos — eureka @ 7e7c2f8003ab48427444cc02b8be5724a4044411

static site generator based on the 100r.co engine

thumbnailer.sh (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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"