# Create new html page, add thumbnail, and make the default image

$webdir = "c:/home/web";
$newfile = shift;
$title = shift;

if (!$newfile || !$title) {
  print "usage: makepage name title\n";
  exit 0;
}

# Figure out relative paths, allowing for pics/html in subdirs
$d = $newfile;
$d =~ s#^./##g;
$d =~ s#[^/]+/#../#g;
$d =~ s#[^/]+$##;
$d =~ s#/$##;
$updir = "../$d";

sub newpage {
    $info = `identify $webdir/images/${newfile}.jpg`;
    $_ = $info;
    ($w,$h) = /\s(\d+)x(\d+)\s/;
    open(NEWHTML, ">$webdir/html/$newfile.htm");

    print NEWHTML <<EOP;
<HTML>
<!-- #BeginTemplate "/Templates/basic.dwt" --> 
<HEAD>
<META NAME="GENERATOR" CONTENT="Adobe PageMill 3.0 Win">
<!-- #BeginEditable "doctitle" --> 
<TITLE>$title</TITLE>
<!-- #EndEditable --> 
</HEAD>
<BODY BACKGROUND="$updir/html/bg.gif">
<div align="center"><!-- #BeginEditable "Picture" --><img src="$updir/images/$newfile.jpg" width="$w" height="$h"><!-- #EndEditable --> 
</div>
</BODY>
<!-- #EndTemplate -->
</HTML>
EOP
    
    close(NEWHTML);
}

sub makethumbnail {
    return if ( -e "$webdir/images/${newfile}_t.jpg" );

    $info = `identify $webdir/images/${newfile}.jpg`;
    $_ = $info; 
    ($w,$h) = /\s(\d+)x(\d+)\s/;
    $newh = int($h*(110./$w));

    `convert -geometry 110x$newh $webdir/images/${newfile}.jpg $webdir/images/${newfile}_t.jpg`;
}


sub addthumbnail {
    makethumbnail();
    $curpictures = "$webdir/html/curpictures.html";
    $info = `identify $webdir/images/${newfile}_t.jpg`;
    $_ = $info;
    ($w,$h) = /\s(\d+)x(\d+)\s/;
    
    open(TMPHTML, ">tmp$$");
    open(PICSHTML, $curpictures);
    $searching = 1;
    while($searching) {
	$_ = <PICSHTML>;
	if (m%</P>%) {
	    $searching = 0;
	    print TMPHTML;
	print TMPHTML <<EOL;
<P><a href="../html/$newfile.htm" target="main"><img src="../images/${newfile}_t.jpg" width="$w" height="$h" border="1"></a></P>
EOL
	    break;
	}
	else { print TMPHTML; } 
    }
    
    while(<PICSHTML>) { print TMPHTML; }
    close(PICSHTML);
    close(TMPHTML);

    rename "tmp$$", $curpictures;
}

sub makeindex {
    open(TMPHTML, ">tmp$$");
    print TMPHTML <<EOP;
<HTML>
<HEAD>
  <META NAME="GENERATOR" CONTENT="Perl Script">
  <TITLE>Rachel and Andrew's Home Page</TITLE>
</HEAD>
<FRAMESET FRAMEBORDER=0 BORDER=0 FRAMESPACING=0 ROWS="89,83%">
<FRAME SRC="album_quiet.html" NAME="FramePage1" MARGINWIDTH=3 MARGINHEIGHT=3 SCROLLING=NO>
<FRAMESET FRAMEBORDER=0 BORDER=0 FRAMESPACING=0 COLS="145,79%">
<FRAME SRC="curpictures.html" NAME="FramePage4">
<FRAME SRC="../html/$newfile.htm" NAME="main">
</FRAMESET>
<NOFRAMES>
<BODY>
Viewing this page requires a browser capable of displaying frames.
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>
EOP

    close(TMPHTML);
    rename "tmp$$", "$webdir/html/index.html";
}

# Now do the work

newpage();
addthumbnail();
makeindex();

chdir("$webdir/utils");
open(NEWFILES,">>newfiles.txt");
print NEWFILES "html/$newfile.htm\n";
print NEWFILES "images/$newfile.jpg\n";
print NEWFILES "images/${newfile}_t.jpg\n";
print NEWFILES "html/curpictures.html\n";
print NEWFILES "html/index.html\n";
close(NEWFILES);
