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\">";
228 if ( -f "$src/$linkname.txt" ) {
229 if ( $twidth < $swidth ) {
232 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
233 open( IN, "<$src/$linkname.txt" );
238 print OUT "</FONT>\n";
240 if ( $twidth < $swidth ) {
243 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
244 print OUT "$linkname\n";
245 print OUT "</FONT>\n";
250 if ( $j == $columns ) {
253 print OUT "</TABLE>\n";
256 if ( ++$j > $columns ) {
259 } elsif ( m/\.AVI$/ || m/\.mpg$/ || m/\.mov$/ ) {
260 # insert image in 3 wide tables
265 $i = `basename $file`;
269 print OUT "<!-- Begin Row -->\n";
270 print OUT "<TABLE ALIGN=CENTER>\n";
271 print OUT "<TR VALIGN=TOP>\n";
274 if ( $i =~ m/\.AVI$/ ) {
275 $linkname = `basename $i .AVI`;
276 } elsif ( $i =~ m/\.mpg$/ ) {
277 $linkname = `basename $i .mpg`;
278 } elsif ( $i =~ m/\.mov$/ ) {
279 $linkname = `basename $i .mov`;
281 die "unknown movie type\n";
284 # print OUT "<TD WIDTH=220 HEIGHT=160>\n";
285 print OUT "<TD WIDTH=$swidth HEIGHT=$sheight>\n";
287 $thumbinfo = `identify $mdir/$linkname.jpg`;
288 ($name, $type, $geom, $junk) = split(/\s+/, $thumbinfo, 4);
289 ($twidth, $theight) = split(/x/, $geom);
290 print "movie thumb geom = $geom $twidth $theight\n";
292 print OUT "<A HREF=\"$mdir/$i\">";
293 print OUT "<IMG WIDTH=$twidth HEIGHT=$theight SRC=\"$mdir/$linkname.jpg\" ALT=\"$linkname\">";
296 if ( -f "$mdir/$linkname.txt" ) {
297 if ( $twidth < $swidth ) {
300 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
301 open( IN, "<$mdir/$linkname.txt" );
306 print OUT "</FONT>\n";
308 if ( $twidth < $swidth ) {
311 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
312 print OUT "$linkname\n";
313 print OUT "</FONT>\n";
318 if ( $j == $columns ) {
321 print OUT "</TABLE>\n";
324 if ( ++$j > $columns ) {
328 # just pass along the rest as is
335 print OUT "</TABLE>\n";
346 # @FILES = `ls $src/*.jpg $src/*.JPG $src/*.gif`;
348 $first = $imagelist[0];
349 if ( $first =~ m/\.jpg$/ ) {
350 # print " ext = jpg\n";
351 $firstname = `basename $first .jpg`;
352 } elsif ( $first =~ m/\.JPG$/ ) {
353 # print " ext = JPG\n";
354 $firstname = `basename $first .JPG`;
356 # print " ext = gif\n";
357 $firstname = `basename $first .gif`;
361 $last = $imagelist[$#imagelist];
362 if ( $last =~ m/\.jpg$/ ) {
363 # print " ext = jpg\n";
364 $lastname = `basename $last .jpg`;
365 } elsif ( $last =~ m/\.JPG$/ ) {
366 # print " ext = JPG\n";
367 $lastname = `basename $last .JPG`;
369 # print " ext = gif\n";
370 $lastname = `basename $last .gif`;
374 for ($i = 0; $i <= $#imagelist; $i++) {
375 $file = $imagelist[$i];
379 $prev = $imagelist[$i - 1];
384 if ( $i < $#imagelist ) {
385 $next = $imagelist[$i + 1];
390 if ( $file =~ m/\.jpg$/ ) {
391 $linkname = `basename $file .jpg`;
393 } elsif ( $file =~ m/\.JPG$/ ) {
394 $linkname = `basename $file .JPG`;
397 $linkname = `basename $file .gif`;
401 $nice_name = $linkname;
402 $nice_name =~ s/\_/ /g;
404 if ( $prev =~ m/\.jpg$/ ) {
405 # print " ext = jpg\n";
406 $prevname = `basename $prev .jpg`;
407 } elsif ( $prev =~ m/\.JPG$/ ) {
408 # print " ext = JPG\n";
409 $prevname = `basename $prev .JPG`;
411 # print " ext = gif\n";
412 $prevname = `basename $prev .gif`;
416 if ( $next =~ m/\.jpg$/ ) {
417 $nextname = `basename $next .jpg`;
418 } elsif ( $next =~ m/\.JPG$/ ) {
419 $nextname = `basename $next .JPG`;
421 $nextname = `basename $next .gif`;
425 $outfile = "$link/$linkname.html";
427 open( OUT, ">$outfile" );
433 <TITLE>$linkname.$ext</TITLE>
436 <!-- <BODY BGCOLOR="#000000" ALINK="#000000" VLINK="#000000" LINK="#000000" TEXT="#FFFFFF"> -->
439 <A HREF="$firstname.html">[First]</A>
442 if ( $prevname ne "null" ) {
443 print OUT "<A HREF=\"$prevname.html\">[Previous]</A>\n";
445 print OUT "[Previous]\n";
448 if ( $nextname ne "null" ) {
449 print OUT "<A HREF=\"$nextname.html\">[Next]</A>\n";
451 print OUT "[Next]\n";
455 <A HREF="$lastname.html">[Last]</A>
471 if ( -f "$src/$linkname.txt" ) {
472 # print OUT "<BR>\n";
473 open( IN, "<$src/$linkname.txt" );
487 Click on the image for the full size version.
492 <A HREF="../$src/$linkname.$ext">
496 print OUT " <IMG SRC=\"../$ldir/$linkname.$ext\">\n";
498 print OUT " <IMG SRC=\"../$src/$linkname.$ext\">\n";