all repos — eureka @ 76fc3e88ff43a81fd61ddebf5e0243087aa2e8a9

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
48
49
50
51
52
53
54
#!/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 echo $1 | grep .gif > /dev/null; then
    return
  fi
  if [ ! -f ${output} ]; then
    echo "generating thumbnail for $1"
    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}'")

  echo -n "modifying html to use thumbnail for $1"
  for f in $(find ${ROOT}/*.html); do
    echo -n "."
    if grep ${src} ${f} > /dev/null; then
      sed -i s#${src}#${dest}# $f
    fi
  done
  echo
}

echo "creating new thumbnails"
for x in $(find ${SRC}/*/*); do resize $x exit; done
echo "done"