#! /bin/csh -f
# Creates an HTML index page for all the images under the current directory.
set path = ( /usr/ucb /usr/bsd /usr/bin /bin )
set cmd = "$0"
set usage = "${cmd:t} [ -force ] [ -alpha ] [ -title STRING ] [ NAME ]"
# Writes an HTML page called "index.html" displaying
# all image files under the current directory.
# Omits image files that are icons of other images in the same directory.
# The index.html file will include only 25 images or less.
# If there are more than 25 images, additional pages
# called "index-ab.html", "index-ac.html", etc.
# will be created for them.
set mixops = ( )
set alphasrt = 0
set title = "Images in `pwd`"
while ( ( $#argv > 0 ) && ( "x$1" =~ x-* ) )
if ( "x$1" == "x-force" ) then
set mixops = ( ${mixops} "-force" ); shift
else if ( ( $#argv >= 2 ) && ( "x$1" == "x-title" ) ) then
set title = "$2"; shift; shift
else if ( "x$1" == "x-alpha" ) then
set alphasrt = 1; shift
else
echo "usage: ${usage}"; exit 1
endif
end
if ( $#argv >= 1 ) then
set pgname = "$1"; shift
set pgname = "${pgname:r}"
else
set pgname = "index"
endif
if ( $#argv != 0 ) then
echo "usage: ${usage}"; exit 1
endif
set tmp = "/tmp/$$"
set imlist = ${tmp}-list
set iconlist = ${tmp}-icons
set biglist = ${tmp}-big
set ixlist = ${tmp}-full
set srtlist = ${tmp}-srt
set bool = "${STOLFIHOME}/bin/${PLATFORM}/bool"
set geticons = "${STOLFIHOME}/bin/get-icon-names-for-images"
set mkindex = "${STOLFIHOME}/bin/make-image-index"
# Find all images
find ./ -type f -print \
| egrep \
-i -e '\.(png|p[bgpn]m|gif|jpg|jpeg|bmp|eps|fits|png|tga|tif|tiff|xbm|xwd|imq)(\.Z|\.gz|)$' \
| sort \
> ${imlist}
# Get those that aren't icon-like:
cat ${imlist} \
| egrep -v -e '[-_](thumb|icon|i)[.](png|PNG|gif|GIF|jpg|JPG|jpeg|JPEG)' \
| sort | uniq \
> ${biglist}
# Find their icons:
cat ${biglist} \
| ${geticons} \
| sort | uniq \
> ${iconlist}
# Get all the images except icons of other images
${bool} 1-2 ${imlist} ${iconlist} > ${ixlist}
if ( $alphasrt ) then
cat ${ixlist} | sort > ${srtlist}
else
ls -dt `cat ${ixlist}` > ${srtlist}
endif
cat ${srtlist} \
| ${mkindex} ${mixops} -title "${title}" ${pgname}
# /bin/rm -f ${imlist} ${iconlist}