4 # adapted from a script by Bob Hain, 11/30/99
11 $outfile = "new.index.html";
19 while ( $arg = shift @ARGV ) {
20 if ( $arg eq "--large" ) {
23 if ( $arg eq "--outfile" ) {
24 $outfile = shift @ARGV;
48 # Make sure directories exist
59 # return 1 if file1 is newer than rile2
61 my($file1, $file2) = @_;
62 # print " - $file1 - $file2 - \n";
64 ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime1,
65 $ctime, $blksize, $blocks) = stat($file1);
66 ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime2,
67 $ctime, $blksize, $blocks) = stat($file2);
69 if ( $mtime1 > $mtime2 ) {
78 # Make images (both large and small)
81 @FILES = `ls $src/*.jpg $src/*.JPG $src/*.gif`;
83 foreach $file ( @FILES ) {
87 if ( is_newer( "$src/$file", "$ldir/$file" ) || ! -e "$ldir/$file" ) {
88 print "Updating $ldir/$file\n";
89 system("cp -f $src/$file $ldir");
90 system("mogrify -geometry $lwidth" . "X" .
91 "$lheight -interlace LINE -quality 80 $ldir/$file");
94 if ( is_newer( "$ldir/$file", "$sdir/$file" ) || ! -e "$sdir/$file" ) {
95 print "Updating $sdir/$file\n";
96 system("cp -f $ldir/$file $sdir");
97 system("mogrify -geometry $swidth" . "X" .
98 "$sheight -interlace LINE -quality 80 $sdir/$file");
104 # Check for large and small images to remove
108 foreach $file ( @FILES ) {
111 if ( ! -f "$src/$file" ) {
112 print "No matching src file - deleting large image $file ...\n";
113 unlink( "$ldir/$file" );
118 foreach $file ( @FILES ) {
120 if ( ! -f "$src/$file" ) {
121 print "No matching src file - deleting small image $file ...\n";
122 unlink( "$sdir/$file" );
128 # Build image list (for next/previous/first/last links)
131 open( MASTER, "<master.idx" );
137 if ( m/\.jpg$/ || m/\.JPG$/ || m/\.gif$/ ) {
140 # just ignore everything else
148 # Prepair $link subdirectory
152 system("rm -rf $link");
157 # Assemble index.html
162 $title = `basename $dir`;
165 open( MASTER, "<master.idx" );
166 open( OUT, ">$outfile" );
175 } elsif ( m/\.txt$/ ) {
181 print OUT "</TABLE>\n";
185 open( IN, "<$src/$file" );
193 } elsif ( m/\.jpg$/ || m/\.JPG$/ || m/\.gif$/ ) {
194 # insert image in 3 wide tables
199 $i = `basename $file`;
203 print OUT "<!-- Begin Row -->\n";
204 print OUT "<TABLE ALIGN=CENTER>\n";
205 print OUT "<TR VALIGN=TOP>\n";
208 if ( $i =~ m/\.jpg$/ ) {
209 $linkname = `basename $i .jpg`;
210 } elsif ( $i =~ m/\.JPG$/ ) {
211 $linkname = `basename $i .JPG`;
213 $linkname = `basename $i .gif`;
216 # print OUT "<TD WIDTH=220 HEIGHT=160>\n";
217 print OUT "<TD WIDTH=$swidth HEIGHT=$sheight>\n";
219 $thumbinfo = `identify $sdir/$i`;
220 ($name, $type, $geom, $junk) = split(/\s+/, $thumbinfo, 4);
221 ($twidth, $theight) = split(/x/, $geom);
222 $theight =~ s/\+.*$//;
224 print OUT "<A HREF=\"$link/$linkname.html\">";
225 print OUT "<IMG WIDTH=$twidth HEIGHT=$theight SRC=\"$sdir/$i\" ALT=\"$linkname\">";
226 print OUT "</A><BR>\n";
228 if ( -f "$src/$linkname.txt" ) {
229 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
230 open( IN, "<$src/$linkname.txt" );
235 print OUT "</FONT>\n";
237 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
238 print OUT "$linkname\n";
239 print OUT "</FONT>\n";
244 if ( $j == $columns ) {
247 print OUT "</TABLE>\n";
250 if ( ++$j > $columns ) {
253 } elsif ( m/\.AVI$/ || m/\.mpg$/ || m/\.mov$/ ) {
254 # insert image in 3 wide tables
259 $i = `basename $file`;
263 print OUT "<!-- Begin Row -->\n";
264 print OUT "<TABLE ALIGN=CENTER>\n";
265 print OUT "<TR VALIGN=TOP>\n";
268 if ( $i =~ m/\.AVI$/ ) {
269 $linkname = `basename $i .AVI`;
270 } elsif ( $i =~ m/\.mpg$/ ) {
271 $linkname = `basename $i .mpg`;
272 } elsif ( $i =~ m/\.mov$/ ) {
273 $linkname = `basename $i .mov`;
275 die "unknown movie type\n";
278 # print OUT "<TD WIDTH=220 HEIGHT=160>\n";
279 print OUT "<TD WIDTH=$swidth HEIGHT=$sheight>\n";
281 $thumbinfo = `identify $mdir/$linkname.jpg`;
282 ($name, $type, $geom, $junk) = split(/\s+/, $thumbinfo, 4);
284 ($twidth, $theight) = split(/x/, $geom);
285 print "movie thumb geom = $geom $twidth $theight\n";
287 print OUT "<A HREF=\"$mdir/$i\">";
288 print OUT "<IMG WIDTH=$twidth HEIGHT=$theight SRC=\"$mdir/$linkname.jpg\" ALT=\"$linkname\">";
291 if ( -f "$mdir/$linkname.txt" ) {
292 if ( $twidth < $swidth ) {
295 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
296 open( IN, "<$mdir/$linkname.txt" );
301 print OUT "</FONT>\n";
303 if ( $twidth < $swidth ) {
306 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
307 print OUT "$linkname\n";
308 print OUT "</FONT>\n";
313 if ( $j == $columns ) {
316 print OUT "</TABLE>\n";
319 if ( ++$j > $columns ) {
323 # just pass along the rest as is
330 print OUT "</TABLE>\n";
341 # @FILES = `ls $src/*.jpg $src/*.JPG $src/*.gif`;
343 $first = $imagelist[0];
344 if ( $first =~ m/\.jpg$/ ) {
345 # print " ext = jpg\n";
346 $firstname = `basename $first .jpg`;
347 } elsif ( $first =~ m/\.JPG$/ ) {
348 # print " ext = JPG\n";
349 $firstname = `basename $first .JPG`;
351 # print " ext = gif\n";
352 $firstname = `basename $first .gif`;
356 $last = $imagelist[$#imagelist];
357 if ( $last =~ m/\.jpg$/ ) {
358 # print " ext = jpg\n";
359 $lastname = `basename $last .jpg`;
360 } elsif ( $last =~ m/\.JPG$/ ) {
361 # print " ext = JPG\n";
362 $lastname = `basename $last .JPG`;
364 # print " ext = gif\n";
365 $lastname = `basename $last .gif`;
369 for ($i = 0; $i <= $#imagelist; $i++) {
370 $file = $imagelist[$i];
374 $prev = $imagelist[$i - 1];
379 if ( $i < $#imagelist ) {
380 $next = $imagelist[$i + 1];
385 if ( $file =~ m/\.jpg$/ ) {
386 $linkname = `basename $file .jpg`;
388 } elsif ( $file =~ m/\.JPG$/ ) {
389 $linkname = `basename $file .JPG`;
392 $linkname = `basename $file .gif`;
396 $nice_name = $linkname;
397 $nice_name =~ s/\_/ /g;
399 if ( $prev =~ m/\.jpg$/ ) {
400 # print " ext = jpg\n";
401 $prevname = `basename $prev .jpg`;
402 } elsif ( $prev =~ m/\.JPG$/ ) {
403 # print " ext = JPG\n";
404 $prevname = `basename $prev .JPG`;
406 # print " ext = gif\n";
407 $prevname = `basename $prev .gif`;
411 if ( $next =~ m/\.jpg$/ ) {
412 $nextname = `basename $next .jpg`;
413 } elsif ( $next =~ m/\.JPG$/ ) {
414 $nextname = `basename $next .JPG`;
416 $nextname = `basename $next .gif`;
420 $outfile = "$link/$linkname.html";
422 open( OUT, ">$outfile" );
428 <TITLE>$linkname.$ext</TITLE>
431 <!-- <BODY BGCOLOR="#000000" ALINK="#000000" VLINK="#000000" LINK="#000000" TEXT="#FFFFFF"> -->
434 <A HREF="$firstname.html">[First]</A>
437 if ( $prevname ne "null" ) {
438 print OUT "<A HREF=\"$prevname.html\">[Previous]</A>\n";
440 print OUT "[Previous]\n";
443 if ( $nextname ne "null" ) {
444 print OUT "<A HREF=\"$nextname.html\">[Next]</A>\n";
446 print OUT "[Next]\n";
450 <A HREF="$lastname.html">[Last]</A>
466 if ( -f "$src/$linkname.txt" ) {
467 # print OUT "<BR>\n";
468 open( IN, "<$src/$linkname.txt" );
482 Click on the image for the full size version.
487 <A HREF="../$src/$linkname.$ext">
491 print OUT " <IMG SRC=\"../$ldir/$linkname.$ext\">\n";
493 print OUT " <IMG SRC=\"../$src/$linkname.$ext\">\n";