Commit Diff


commit - 1913b2fb81d8088813d5489fd2500fea017d9bde
commit + d40f4fe27f6b3423e50ba063e96f02e030dc0acf
blob - 47b8cf07934b1cdc23df85efe551bff5547d26a8
blob + 85c6e0f463b3f45f518c7f82d3f736b22a82ca09
--- mkindex
+++ mkindex
@@ -18,11 +18,26 @@ die 'Set $OUTDIR' unless defined $outdir;
 my $tfh; # thread file handle
 my $pfh; # page file handle
 my $page = 0;
+my @pages;
+my $from_day;
+my $to_day;
 my $threads_seen = 0;
 my $last_level = 0;
 my $entries = 0;
 my $entries_per_page = 100;
 
+sub maxs {
+	my ($a, $b) = @_;
+	return $a unless defined $b;
+	return $a gt $b ? $a : $b;
+}
+
+sub mins {
+	my ($a, $b) = @_;
+	return $a unless defined $b;
+	return $a lt $b ? $a : $b;
+}
+
 sub pagename {
 	my $i = shift;
 	return $i == 1 && "index.html" || "$i.html";
@@ -31,6 +46,7 @@ sub pagename {
 sub endfile {
 	say $pfh '</ul></div>';
 	close($pfh);
+	push @pages, "$from_day - $to_day";
 }
 
 sub nextfile {
@@ -75,11 +91,10 @@ sub fixfiles {
 		open(my $pfh, '>', $dest)
 		    or die "can't open $dest for writing: $!";
 
-		my $title = "Game of Trees Mail Archive";
-		$title .= " | page $i" if $i != 0;
+		my $title = "Game of Trees Mail Archive | page $i";
 		initpage($pfh, $title);
 
-		my $subtitle = $i != 0 ? "<p>Page $i</p>" : "";
+		my $subtitle = $pages[$i-1];
 
 		my $hdr = <<EOF;
 <header class='index-header'>
@@ -89,7 +104,8 @@ sub fixfiles {
          alt='"GOT" where the "O" is a cute smiling sun.' />
   </a>
   <h1>Game of Trees Mail Archive</h1>
-  $subtitle
+  <p>Page $i</p>
+  <p>$subtitle</p>
 </header>
 <main>
 EOF
@@ -174,6 +190,7 @@ nextfile;
 
 while (<>) {
 	my ($level, $fname, $mid, $date, $from, $subj) = parse;
+	my $day = $date =~ s/ .*//r;
 
 	if ($level == 0) {
 		nextthread $mid, $subj;
@@ -182,10 +199,15 @@ while (<>) {
 		if ($entries > $entries_per_page) {
 			nextfile;
 			$entries = 0;
+			$to_day = undef;
+			$from_day = undef;
 		}
 		entry $pfh, "thread", $mid, $date, $from, $subj;
 	}
 
+	$to_day = mins $day, $to_day;
+	$from_day = maxs $day, $from_day;
+
 	thread_entry($tfh, $mid, $level, $date, $from, $subj);
 	$last_level = $level;
 	$threads_seen = 1;