#!/bin/sh
# Script to index a directory 
#
# find the pwd just in case no args are passed to script 
PWD=`pwd`

# if the script doesn't have a dir passed to it then it uses the pwd
DIRPATH=${1:-$PWD} 

# strip off full path so you don't give people a map to your filesystem
DIRNAME=`basename $DIRPATH` 

# name INDEXFILE var to what you want your index to be
# be careful NOT to overwrite you original index
# script does check for and rename the index but only ONCE!!
 INDEXFILE="index.html"
# INDEXFILE="indextest.html"

function dont_know_what_it_is {
echo "<TT><B>$1</B></TT></LI>" >> $INDEXFILE
}

function showdirectory() {
echo "Indexing $1 with an index file name of $INDEXFILE"
cd $1

if [ -e $INDEXFILE ] ;then
echo "$INDEXFILE exists renaming to $INDEXFILE.bak"
mv $INDEXFILE $INDEXFILE.bak
fi

echo "<HTML><HEAD><TITLE>Directory of $DIRNAME</TITLE></HEAD><BODY>" > $INDEXFILE

echo "<H2 color=\"blue\">Directory of $DIRNAME</H2><UL>" >> $INDEXFILE

for FILENAME in *
do
case $FILENAME in
*.gif|*.jpg)
	echo "<LI><IMG SRC=\"./$FILENAME\"><BR>" >> $INDEXFILE
	showname $FILENAME
	;;
*.htm|*.html)
	echo "<LI><A HREF=\"./$FILENAME\">$FILENAME</A></LI>" >> $INDEXFILE;;
*.avi|*.divx|*.wav|*.rm)
	echo "<LI><A HREF=\"./$FILENAME\">$FILENAME</A></LI>" >> $INDEXFILE ;;
*)
if [ -d $FILENAME ] ;then
echo "<LI><TT>[ <A HREF=\"./$FILENAME\">$FILENAME</A> ]<TT></LI>" >> $INDEXFILE
else
echo "<LI>" >> $INDEXFILE
dont_know_what_it_is $FILENAME
fi
;;
esac
done
}

showdirectory $DIRPATH

echo "</UL></BODY></HTML>" >> $INDEXFILE
echo "Done"


