#!/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