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/*.png`;
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/\.png$/ ) {
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/\.png$/ ) {
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`;
212 } elsif ($i =~ m/\.png$/ ) {
213 $linkname = `basename $i .png`;
217 $thumbinfo = `identify $sdir/$i`;
218 ($name, $type, $geom, $junk) = split(/\s+/, $thumbinfo, 4);
219 ($twidth, $theight) = split(/x/, $geom);
220 $theight =~ s/\+.*$//;
222 # print OUT "<TD WIDTH=220 HEIGHT=160>\n";
223 print OUT "<TD WIDTH=$twidth HEIGHT=$sheight>\n";
225 print OUT "<A HREF=\"$link/$linkname.html\">";
226 print OUT "<IMG WIDTH=$twidth HEIGHT=$theight SRC=\"$sdir/$i\" ALT=\"$linkname\">";
227 print OUT "</A><BR>\n";
229 if ( -f "$src/$linkname.txt" ) {
230 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
231 open( IN, "<$src/$linkname.txt" );
236 print OUT "</FONT>\n";
238 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
239 print OUT "$linkname\n";
240 print OUT "</FONT>\n";
245 if ( $j == $columns ) {
248 print OUT "</TABLE>\n";
251 if ( ++$j > $columns ) {
254 } elsif ( m/\.AVI$/ || m/\.mpg$/ || m/\.mov$/ ) {
255 # insert image in 3 wide tables
260 $i = `basename $file`;
264 print OUT "<!-- Begin Row -->\n";
265 print OUT "<TABLE ALIGN=CENTER>\n";
266 print OUT "<TR VALIGN=TOP>\n";
269 if ( $i =~ m/\.AVI$/ ) {
270 $linkname = `basename $i .AVI`;
271 } elsif ( $i =~ m/\.mpg$/ ) {
272 $linkname = `basename $i .mpg`;
273 } elsif ( $i =~ m/\.mov$/ ) {
274 $linkname = `basename $i .mov`;
276 die "unknown movie type\n";
279 # print OUT "<TD WIDTH=220 HEIGHT=160>\n";
280 print OUT "<TD WIDTH=$swidth HEIGHT=$sheight>\n";
282 $thumbinfo = `identify $mdir/$linkname.jpg`;
283 ($name, $type, $geom, $junk) = split(/\s+/, $thumbinfo, 4);
285 ($twidth, $theight) = split(/x/, $geom);
286 print "movie thumb geom = $geom $twidth $theight\n";
288 print OUT "<A HREF=\"$mdir/$i\">";
289 if ( -f "$mdir/$linkname.jpg" ) {
290 print OUT "<IMG WIDTH=$twidth HEIGHT=$theight SRC=\"$mdir/$linkname.jpg\" ALT=\"$linkname\">";
292 print OUT "$linkname";
296 if ( -f "$mdir/$linkname.txt" ) {
298 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
299 open( IN, "<$mdir/$linkname.txt" );
304 print OUT "</FONT>\n";
307 print OUT "<FONT SIZE=-1 id=\"fgfs\">\n";
308 print OUT "$linkname\n";
309 print OUT "</FONT>\n";
314 if ( $j == $columns ) {
317 print OUT "</TABLE>\n";
320 if ( ++$j > $columns ) {
324 # just pass along the rest as is
331 print OUT "</TABLE>\n";
342 # @FILES = `ls $src/*.jpg $src/*.JPG $src/*.png`;
344 $first = $imagelist[0];
345 if ( $first =~ m/\.jpg$/ ) {
346 # print " ext = jpg\n";
347 $firstname = `basename $first .jpg`;
348 } elsif ( $first =~ m/\.JPG$/ ) {
349 # print " ext = JPG\n";
350 $firstname = `basename $first .JPG`;
352 # print " ext = png\n";
353 $firstname = `basename $first .png`;
357 $last = $imagelist[$#imagelist];
358 if ( $last =~ m/\.jpg$/ ) {
359 # print " ext = jpg\n";
360 $lastname = `basename $last .jpg`;
361 } elsif ( $last =~ m/\.JPG$/ ) {
362 # print " ext = JPG\n";
363 $lastname = `basename $last .JPG`;
365 # print " ext = png\n";
366 $lastname = `basename $last .png`;
370 for ($i = 0; $i <= $#imagelist; $i++) {
371 $file = $imagelist[$i];
375 $prev = $imagelist[$i - 1];
380 if ( $i < $#imagelist ) {
381 $next = $imagelist[$i + 1];
386 if ( $file =~ m/\.jpg$/ ) {
387 $linkname = `basename $file .jpg`;
389 } elsif ( $file =~ m/\.JPG$/ ) {
390 $linkname = `basename $file .JPG`;
393 $linkname = `basename $file .png`;
397 $nice_name = $linkname;
398 $nice_name =~ s/\_/ /g;
400 if ( $prev =~ m/\.jpg$/ ) {
401 # print " ext = jpg\n";
402 $prevname = `basename $prev .jpg`;
403 } elsif ( $prev =~ m/\.JPG$/ ) {
404 # print " ext = JPG\n";
405 $prevname = `basename $prev .JPG`;
407 # print " ext = png\n";
408 $prevname = `basename $prev .png`;
412 if ( $next =~ m/\.jpg$/ ) {
413 $nextname = `basename $next .jpg`;
414 } elsif ( $next =~ m/\.JPG$/ ) {
415 $nextname = `basename $next .JPG`;
417 $nextname = `basename $next .png`;
421 $outfile = "$link/$linkname.html";
423 open( OUT, ">$outfile" );
429 <TITLE>$linkname.$ext</TITLE>
432 <!-- <BODY BGCOLOR="#000000" ALINK="#000000" VLINK="#000000" LINK="#000000" TEXT="#FFFFFF"> -->
435 <A HREF="$firstname.html">[First]</A>
438 if ( $prevname ne "null" ) {
439 print OUT "<A HREF=\"$prevname.html\">[Previous]</A>\n";
441 print OUT "[Previous]\n";
444 if ( $nextname ne "null" ) {
445 print OUT "<A HREF=\"$nextname.html\">[Next]</A>\n";
447 print OUT "[Next]\n";
451 <A HREF="$lastname.html">[Last]</A>
467 if ( -f "$src/$linkname.txt" ) {
468 # print OUT "<BR>\n";
469 open( IN, "<$src/$linkname.txt" );
483 Click on the image for the full size version.
488 <A HREF="../$src/$linkname.$ext">
492 print OUT " <IMG SRC=\"../$ldir/$linkname.$ext\">\n";
494 print OUT " <IMG SRC=\"../$src/$linkname.$ext\">\n";