rendered paste body#! /bin/sh
DIR="mygallery"
GEOM="200x200"
INMAX="5"
IMD=($*)
IMT=(png gif jpg jpeg PNG GIF JPG JPEG)
function trans()
{
echo $1 | \
tr -d '.' | \
tr -d '/'
}
if [[ -z ${IMD[*]} ]]; then
IMD=(`pwd`)
fi
if [[ -e $DIR ]]; then
echo "gallery directory already exists"
exit 1
fi
echo "starting..."
mkdir $DIR || exit 1
if [[ -e mylist ]]; then
cp mylist $DIR/list
echo "using custom image list"
fi
for D in ${IMD[*]}; do
for I in ${IMT[*]}; do
ls $D/*.$I >> $DIR/list 2> /dev/null
done
done
cd $DIR
FNUM=1
LNUM=`cat list | wc -l`
MIN=`cat list | head -n 1`
MAX=`tac list | head -n 1`
for I in `cat list`; do
echo -ne "\033[sgenerating page ${FNUM}/${LNUM}\033[u"
FNUM=`echo "$FNUM + 1" | bc`
N="`trans $I`.html"
PREV=`grep -B 1 "$I" list | grep -v "$I"`
NEXT=`grep -A 1 "$I" list | grep -v "$I"`
echo -e "<html>\n<head>\n<title>$I</title>\n</head>\n<body>\n<p align='center'>\n<img src='$I' alt='$I' /><br />" > $N
echo "<a href='`trans $MIN`.html'>first</a> " >> $N
if [[ -n $PREV ]]; then
echo "<a href='`trans $PREV`.html'>previous</a> " >> $N
fi
echo "<a href='index.html'>index</a> " >> $N
if [[ -n $NEXT ]]; then
echo "<a href='`trans $NEXT`.html'>next</a> " >> $N
fi
echo "<a href='`trans $MAX`.html'>last</a>" >> $N
echo -e "</p>\n</body>\n</html>" >> $N
done
echo
FNUM=1
COU=1
mkdir ./thumbs || exit 1
echo -e "<html>\n<head>\n<title>gallery index</title>\n</head>\n<body><p align='center'>gallery of ${IMD[*]}</p><p align='center'>" > index.html
for T in `cat list`; do
echo -ne "\033[sindex thumbnail ${FNUM}/${LNUM}\033[u"
FNUM=`echo "$FNUM + 1" | bc`
cp $T ./thumbs/thumb_`trans $T`
mogrify -geometry $GEOM ./thumbs/thumb_`trans $T`
echo "<a href='`trans $T`.html'><img src='thumbs/thumb_`trans $T`' alt='thumbs/thumb_`trans $T`' /></a> " >> index.html
if [[ $COU -eq $INMAX ]]; then
echo "<br />" >> index.html
COU=1
else
COU=`echo "$COU + 1" | bc`
fi
done
echo -e "</p></body>\n</html>" >> index.html
rm list
echo
echo "done"
exit 0