4 # adapted from a script by Bob Hain, 11/30/99
13 while ( $arg = shift @ARGV ) {
14 if ( $arg eq "--large" ) {
39 # Make sure directories exist
50 # return 1 if file1 is newer than rile2
52 my($file1, $file2) = @_;
53 # print " - $file1 - $file2 - \n";
55 ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime1,
56 $ctime, $blksize, $blocks) = stat($file1);
57 ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime2,
58 $ctime, $blksize, $blocks) = stat($file2);
60 if ( $mtime1 > $mtime2 ) {
69 # Make images (both large and small)
72 @FILES = `ls $src/*.jpg $src/*.JPG $src/*.gif`;
74 foreach $file ( @FILES ) {
78 if ( is_newer( "$src/$file", "$ldir/$file" ) || ! -e "$ldir/$file" ) {
79 print "Updating $ldir/$file\n";
80 system("cp -f $src/$file $ldir");
81 system("mogrify -geometry $lwidth" . "X" .
82 "$lheight -interlace LINE -quality 80 $ldir/$file");
85 if ( is_newer( "$ldir/$file", "$sdir/$file" ) || ! -e "$sdir/$file" ) {
86 print "Updating $sdir/$file\n";
87 system("cp -f $ldir/$file $sdir");
88 system("mogrify -geometry $swidth" . "X" .
89 "$sheight -interlace LINE -quality 80 $sdir/$file");
95 # Check for large and small images to remove
99 foreach $file ( @FILES ) {
102 if ( ! -f "$src/$file" ) {
103 print "No matching src file - deleting large image $file ...\n";
104 unlink( "$ldir/$file" );
109 foreach $file ( @FILES ) {
111 if ( ! -f "$src/$file" ) {
112 print "No matching src file - deleting small image $file ...\n";
113 unlink( "$sdir/$file" );
119 # Build image list (for next/previous/first/last links)
122 open( MASTER, "<master.idx" );
128 if ( m/\.jpg$/ || m/\.JPG$/ || m/\.gif$/ ) {
131 # just ignore everything else
139 # Prepair $link subdirectory
143 system("rm -rf $link");
148 # Assemble index.html
151 $outfile = "index.html";
155 $title = `basename $dir`;
158 open( MASTER, "<master.idx" );
159 open( OUT, ">$outfile" );
168 } elsif ( m/\.txt$/ ) {
174 print OUT "</TABLE>\n";
178 open( IN, "<$src/$file" );
186 } elsif ( m/\.jpg$/ || m/\.JPG$/ || m/\.gif$/ ) {
187 # insert image in 3 wide tables
192 $i = `basename $file`;
196 print OUT "<!-- Begin Row -->\n";
197 print OUT "<TABLE ALIGN=CENTER>\n";
198 print OUT "<TR VALIGN=TOP>\n";
201 if ( $i =~ m/\.jpg$/ ) {
202 $linkname = `basename $i .jpg`;
203 } elsif ( $i =~ m/\.JPG$/ ) {
204 $linkname = `basename $i .JPG`;
206 $linkname = `basename $i .gif`;
209 # print OUT "<TD WIDTH=220 HEIGHT=160>\n";
210 print OUT "<TD WIDTH=$swidth HEIGHT=$sheight>\n";
212 $thumbinfo = `identify $sdir/$i`;
213 ($name, $type, $geom, $junk) = split(/\s+/, $thumbinfo, 4);
214 ($twidth, $theight) = split(/x/, $geom);
215 $theight =~ s/\+.*$//;
217 print OUT "<A HREF=\"$link/$linkname.html\">";
218 print OUT "<IMG WIDTH=$twidth HEIGHT=$theight SRC=\"$sdir/$i\" ALT=\"$linkname\">";
221 if ( -f "$src/$linkname.txt" ) {
222 if ( $twidth < $swidth ) {
225 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
226 open( IN, "<$src/$linkname.txt" );
231 print OUT "</FONT>\n";
233 if ( $twidth < $swidth ) {
236 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
237 print OUT "$linkname\n";
238 print OUT "</FONT>\n";
243 if ( $j == $columns ) {
246 print OUT "</TABLE>\n";
249 if ( ++$j > $columns ) {
252 } elsif ( m/\.AVI$/ || m/\.mpg$/ || m/\.mov$/ ) {
253 # insert image in 3 wide tables
258 $i = `basename $file`;
262 print OUT "<!-- Begin Row -->\n";
263 print OUT "<TABLE ALIGN=CENTER>\n";
264 print OUT "<TR VALIGN=TOP>\n";
267 if ( $i =~ m/\.AVI$/ ) {
268 $linkname = `basename $i .AVI`;
269 } elsif ( $i =~ m/\.mpg$/ ) {
270 $linkname = `basename $i .mpg`;
271 } elsif ( $i =~ m/\.mov$/ ) {
272 $linkname = `basename $i .mov`;
274 die "unknown movie type\n";
277 # print OUT "<TD WIDTH=220 HEIGHT=160>\n";
278 print OUT "<TD WIDTH=$swidth HEIGHT=$sheight>\n";
280 $thumbinfo = `identify $mdir/$linkname.jpg`;
281 ($name, $geom, $junk) = split(/\s+/, $thumbinfo, 3);
282 ($twidth, $theight) = split(/x/, $geom);
284 print OUT "<A HREF=\"$mdir/$i\">";
285 print OUT "<IMG WIDTH=$twidth HEIGHT=$theight SRC=\"$mdir/$linkname.jpg\" ALT=\"$linkname\">";
288 if ( -f "$mdir/$linkname.txt" ) {
289 if ( $twidth < $swidth ) {
292 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
293 open( IN, "<$mdir/$linkname.txt" );
298 print OUT "</FONT>\n";
300 if ( $twidth < $swidth ) {
303 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
304 print OUT "$linkname\n";
305 print OUT "</FONT>\n";
310 if ( $j == $columns ) {
313 print OUT "</TABLE>\n";
316 if ( ++$j > $columns ) {
320 # just pass along the rest as is
327 print OUT "</TABLE>\n";
338 # @FILES = `ls $src/*.jpg $src/*.JPG $src/*.gif`;
340 $first = $imagelist[0];
341 if ( $first =~ m/\.jpg$/ ) {
342 # print " ext = jpg\n";
343 $firstname = `basename $first .jpg`;
344 } elsif ( $first =~ m/\.JPG$/ ) {
345 # print " ext = JPG\n";
346 $firstname = `basename $first .JPG`;
348 # print " ext = gif\n";
349 $firstname = `basename $first .gif`;
353 $last = $imagelist[$#imagelist];
354 if ( $last =~ m/\.jpg$/ ) {
355 # print " ext = jpg\n";
356 $lastname = `basename $last .jpg`;
357 } elsif ( $last =~ m/\.JPG$/ ) {
358 # print " ext = JPG\n";
359 $lastname = `basename $last .JPG`;
361 # print " ext = gif\n";
362 $lastname = `basename $last .gif`;
366 for ($i = 0; $i <= $#imagelist; $i++) {
367 $file = $imagelist[$i];
371 $prev = $imagelist[$i - 1];
376 if ( $i < $#imagelist ) {
377 $next = $imagelist[$i + 1];
382 if ( $file =~ m/\.jpg$/ ) {
383 $linkname = `basename $file .jpg`;
385 } elsif ( $file =~ m/\.JPG$/ ) {
386 $linkname = `basename $file .JPG`;
389 $linkname = `basename $file .gif`;
393 $nice_name = $linkname;
394 $nice_name =~ s/\_/ /g;
396 if ( $prev =~ m/\.jpg$/ ) {
397 # print " ext = jpg\n";
398 $prevname = `basename $prev .jpg`;
399 } elsif ( $prev =~ m/\.JPG$/ ) {
400 # print " ext = JPG\n";
401 $prevname = `basename $prev .JPG`;
403 # print " ext = gif\n";
404 $prevname = `basename $prev .gif`;
408 if ( $next =~ m/\.jpg$/ ) {
409 $nextname = `basename $next .jpg`;
410 } elsif ( $next =~ m/\.JPG$/ ) {
411 $nextname = `basename $next .JPG`;
413 $nextname = `basename $next .gif`;
417 $outfile = "$link/$linkname.html";
419 open( OUT, ">$outfile" );
425 <TITLE>$linkname.$ext</TITLE>
428 <!-- <BODY BGCOLOR="#000000" ALINK="#000000" VLINK="#000000" LINK="#000000" TEXT="#FFFFFF"> -->
431 <A HREF="$firstname.html">[First]</A>
434 if ( $prevname ne "null" ) {
435 print OUT "<A HREF=\"$prevname.html\">[Previous]</A>\n";
437 print OUT "[Previous]\n";
440 if ( $nextname ne "null" ) {
441 print OUT "<A HREF=\"$nextname.html\">[Next]</A>\n";
443 print OUT "[Next]\n";
447 <A HREF="$lastname.html">[Last]</A>
463 if ( -f "$src/$linkname.txt" ) {
464 # print OUT "<BR>\n";
465 open( IN, "<$src/$linkname.txt" );
479 Click on the image for the full size version.
484 <A HREF="../$src/$linkname.$ext">
488 print OUT " <IMG SRC=\"../$ldir/$linkname.$ext\">\n";
490 print OUT " <IMG SRC=\"../$src/$linkname.$ext\">\n";