From: Eric Wong Date: Tue, 15 Dec 2015 21:53:58 +0000 (+0000) Subject: repobrowse: log: simplify by avoiding tables X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aeb841204d6ce3fd57d28a26dcb65068154b8067;p=thirdparty%2Fpublic-inbox.git repobrowse: log: simplify by avoiding tables We remain mostly URL-compatible with cgit, but we do not use tables unnecessary markup and needlessly increase our page weight. --- diff --git a/lib/PublicInbox/RepoBrowseLog.pm b/lib/PublicInbox/RepoBrowseLog.pm index 88f8c52c5..26b5204a2 100644 --- a/lib/PublicInbox/RepoBrowseLog.pm +++ b/lib/PublicInbox/RepoBrowseLog.pm @@ -5,7 +5,6 @@ package PublicInbox::RepoBrowseLog; use strict; use warnings; use base qw(PublicInbox::RepoBrowseBase); -require POSIX; # strftime use PublicInbox::Git; sub call_git { @@ -20,9 +19,9 @@ sub call_git { my $h = $q->{h}; $h eq '' and $h = 'HEAD'; - my $fmt = '%h%x00%ct%x00%s%x00%D'; - $fmt .= '%x00%an%x00%b' if $q->{showmsg}; - $fmt .= '%x00%n'; + my $fmt = '%h%x00%s%x00%D'; + $fmt .= '%x00%ai%x00%an%x00%b' if $q->{showmsg}; + $fmt .= '%x00%x00'; my $ofs = $q->{ofs}; $h .= "~$ofs" if $ofs =~ /\A\d+\z/; @@ -47,45 +46,39 @@ sub git_log_stream { if ($showmsg) { my $qs = $q->qs(showmsg => ''); - $x = qq{(collapseAuthor}; + $qs = $req->{cgi}->path_info if ($qs eq ''); + $x = qq{collapse}; } else { my $qs = $q->qs(showmsg => 1); - $x = qq{(expand)}; + $x = qq{expand}; } $fh->write("$desc" . - "

$desc

" . - ""); + "$desc". + PublicInbox::Hval::PRE . "Commit Log ($x)\n"); my %ac; - local $/ = "\0\n\n"; + local $/ = "\0\0\n"; my $rel = $req->{relcmd}; while (defined(my $line = <$log>)) { - my ($id, $ct, $s, $D, $an, $b) = split("\0", $line); + my ($id, $s, $D, $ai, $an, $b) = split("\0", $line); $line = undef; $s = PublicInbox::Hval->new_oneline($s)->as_html; - # cannot rely on --date=format-local:... yet, - # it is too new (September 2015) - $ct = POSIX::strftime('%Y-%m-%d', gmtime($ct)); - # TODO: handle $D (decorate) - $s = "" . - qq(); + $s = qq($s); if (defined $b) { + # cannot rely on --date=format-local:... yet, + # it is too new (September 2015) my $ah = $ac{$an} ||= PublicInbox::Hval->new_oneline($an)->as_html; $b = PublicInbox::Hval->new($b)->as_html; - $s .= "" . - ''; + $fh->write("$s\n- by $ah @ $ai\n\n$b\n\n"); } else { - $s .= ''; + $fh->write($s . "\n"); } - $fh->write($s); } - $fh->write('
DateCommit message $x
$ct$s$ah
' . - PublicInbox::Hval::PRE . - $b . '
'); + $fh->write(''); } 1;