#!/bin/ksh
#
# $Log: make-html-index,v $
# Revision 1.4 2008/09/05 03:19:18 mbaker
# changed recursion method at high level
#
# Revision 1.3 2008/09/01 21:00:22 mbaker
# changed recursion algorithm
#
# Revision 1.2 2008/09/01 13:45:06 mbaker
# added flagfile
#
# Revision 1.1 2008/06/26 03:09:37 mbaker
# Initial revision
#
#########################################################################
#DOCBEGIN
#
#Create index.html for all listed files in a directory.
#
#ASSUMPTIONS:
#
# OVERWRITE any/all existing index.html
# UNLESS
# set from command line arguements.
# OR
# if a flag files exists.
#
#
# Matt Baker - mbaker@computeranddata.com
# Latest copy available at www.computeranddata.com/scripts
# Version 1.2 09/01/2008
#
#DOCEND
#########################################################################
#########################################################################
#usage
#
usage ()
{
cat < $OUTPUTFILE <<-EOF
Index file for $MYDIRHOME
EOF
for FILE in $(ls | grep -v $OUTPUTFILE)
do
if (( VERBOSE ))
then
print "INFO: Working on file $FILE ..."
fi
if [[ -n $MYDOCROOT || -n $MYURL ]]
then
MYCWD=$(pwd)
MYHOME=$(echo "${MYCWD##$MYDOCROOT}")
if [[ -d $FILE ]]
then
print "$FILE
" \
>> $OUTPUTFILE
else
print "$FILE
" \
>> $OUTPUTFILE
fi
else
if [[ -d $FILE ]]
then
print "$FILE
" >> $OUTPUTFILE
else
print "$FILE
" >> $OUTPUTFILE
fi
fi
done
cat >> $OUTPUTFILE <<-EOF
EOF
else
if (( VERBOSE ))
then
print "INFO: Skipping $OUTPUTFILE for $DIRECTORY as it already exists."
fi
fi
#
#Don't overwrite if file exists
#
else
if [[ -f $FLAGFILE ]]
then
if (( VERBOSE ))
then
print "INFO: Skipping $OUTPUTFILE for $DIRECTORY as flagfile exists."
fi
fi
fi
}
###############
# nextdir
nextdir () {
if (( DEBUG ))
then
set -x
fi
DIRECTORY=$1
cd $DIRECTORY > /dev/null 2>&1
if (( VERBOSE ))
then
print "INFO: Working in Directory $(pwd) ..."
fi
makeindex
for DIR in $(ls -l | grep ^d | awk '{print $NF}')
do
################
# if directory, recursion, if not set
################
if [[ $RECURSION == 1 ]]
then
if (( VERBOSE ))
then
print "INFO: Going into Directory $DIR ..."
fi
nextdir "$DIR"
cd .. > /dev/null 2>&1
fi
done
}
#########################################################################
#main
#########################################################################
if [[ -z $DIRECTORY ]]
then
print "ERROR:4:DIRECTORY not set."
usage
exit 1
fi
nextdir $DIRECTORY
if (( VERBOSE ))
then
print "INFO: Done with $0"
fi