commit d40f4fe27f6b3423e50ba063e96f02e030dc0acf from: Omar Polo date: Fri Aug 26 22:31:34 2022 UTC include the day span in the index pages 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 ''; 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 ? "

Page $i

" : ""; + my $subtitle = $pages[$i-1]; my $hdr = < @@ -89,7 +104,8 @@ sub fixfiles { alt='"GOT" where the "O" is a cute smiling sun.' />

Game of Trees Mail Archive

- $subtitle +

Page $i

+

$subtitle

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;