-sub tdump_ent {
- my ($git, $state, $node, $level) = @_;
- return unless $node;
- my $mime = $node->message;
-
- if ($mime) {
- # lazy load the full message from mini_mime:
- my $mid = mid_mime($mime);
- $mime = eval {
- my $path = mid2path(mid_clean($mid));
- Email::MIME->new($git->cat_file('HEAD:'.$path));
- };
- }
- if ($mime) {
- my $end = PublicInbox::View::thread_adj_level($state, $level);
- PublicInbox::View::index_entry($mime, $level, $state);
- $state->{fh}->write($end) if $end;
- } else {
- my $mid = $node->messageid;
- PublicInbox::View::ghost_flush($state, '', $mid, $level);
- }
- tdump_ent($git, $state, $node->child, $level + 1);
- tdump_ent($git, $state, $node->next, $level);
-}
-
-sub foot {
- my ($ctx) = @_;
- my $foot = $ctx->{footer} || '';
- qq{Back to <a\nhref=".">index</a>.\n$foot};
-}
-
-sub html_start {