#!/bin/sh
cd $(dirname "$0")
COLS=$1; [ -z $COLS ] && COLS=5
MAX=$2; [ -z $MAX ] && MAX=0
rm -f index*.html
FILES=$(mktemp)
find . -name 'thumb.*' | sort > $FILES
NBF=$(cat $FILES | wc -l)
if [ $MAX -gt 0 ]; then
  NBPAGES=$(($NBF / $MAX))
  [ $(($NBF % $MAX)) -ne 0 ] && NBPAGES=$(($NBPAGES + 1))
  pages="
    <div class=\"pages\">Pages<br/>
      <a href=\"index-PREV.html\">««</a>&nbsp;"
  for i in $(seq 1 $NBPAGES); do
    pages="$pages<a href=\"index-$i.html\">$i</a>&nbsp;"
  done
  pages="$pages<a href=\"index-NEXT.html\">»»</a>&nbsp;
    </div>
"
else
  NBPAGES=1
  pages=''
fi
folder="$(basename "$PWD")"
currdate=$(date --rfc-3339=seconds|sed 's/ /T/; s/\([-+][0-9]{2}\):\([0-9]{2}\)/\1\2/')
PAGE=1
while [ $PAGE -le $NBPAGES ]; do
  [ $MAX -gt 0 ] && title="$folder - page $PAGE/$NBPAGES" || title="$folder"
  [ $MAX -gt 0 ] && pagename="index-$PAGE.html" || pagename="index.html"
  if [ $MAX -gt 0 ]; then
    PREV=$(($PAGE - 1)); [ $PREV -eq 0 ] && PREV=$PAGE
    NEXT=$(($PAGE + 1)); [ $NEXT -gt $NBPAGES ] && NEXT=$NBPAGES
    pages2="$(echo "$pages"|sed "s/PREV/$PREV/; s/NEXT/$NEXT/;")"
  else
    pages2="$pages"
  fi
  cat <<EOF > $pagename
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  <head>
    <meta http-equiv="content-type" content="text/plain; charset=utf-8"/>
    <meta http-equiv="content-language" content="fr"/>
    <meta name="date" content="$currdate" />
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="expires" content="-1">
    <title>$title</title>
    <style type="text/css">
      td {
        text-align: center;
      }
      h1 {
        text-align: center;
      }
      .pages {
        margin: auto;
        text-align: center;
      }
      a, a:link, a:visited, a:hover {
        color: navy;
      }
    </style>
  </head>
  <body>
    <h1>$title</h1>$pages2
    <table width="100%">
EOF
  SKIP=$(($MAX * ($PAGE - 1)))
  [ $MAX -gt 0 ] && NB=$MAX || NB=$NBF
  COL=0
  tail -n +$SKIP $FILES | head -n $NB | while read f; do
    if [ $COL -eq 0 ]; then
      echo "      <tr>" >> $pagename
    fi
    f2="$(basename "$f"|sed 's/^thumb\.\(.*\)\.png$/\1/')"
    echo "        <td><a href=\"$f2\"><img src=\"$f\"/></a></td>" >> $pagename
    COL=$(($COL + 1))
    NB=$(($NB + 1))
    if [ $COL -eq $COLS ]; then
      echo "      </tr>" >> $pagename
      COL=0
    fi
  done
  if [ $COL -ne $COLS ]; then
    echo "      </tr>" >> $pagename
  fi
  cat <<EOF >> $pagename
    </table>$pages2
  </body>
</html>
EOF
  PAGE=$(($PAGE + 1))
done
[ $MAX -gt 0 ] && ln -s index-1.html index.html

