#! /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 "\n\n$I\n\n\n

\n$I
" > $N echo "first " >> $N if [[ -n $PREV ]]; then echo "previous " >> $N fi echo "index " >> $N if [[ -n $NEXT ]]; then echo "next " >> $N fi echo "last" >> $N echo -e "

\n\n" >> $N done echo FNUM=1 COU=1 mkdir ./thumbs || exit 1 echo -e "\n\ngallery index\n\n

gallery of ${IMD[*]}

" > 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 "thumbs/thumb_`trans $T` " >> index.html if [[ $COU -eq $INMAX ]]; then echo "
" >> index.html COU=1 else COU=`echo "$COU + 1" | bc` fi done echo -e "

\n" >> index.html rm list echo echo "done" exit 0