Stephen Boyd <bebarino@xxxxxxxxx> writes: > It's nice to search for an author by merely clicking on their name in > gitweb. This is usually faster than selecting the name, copying the > selection, pasting it into the search box, selecting between > author/committer and then hitting enter. The intent makes sense to me, although I somehow suspect that with avatar support the user might be tempted to click on the icon not necessarily on the name string. > Signed-off-by: Stephen Boyd <bebarino@xxxxxxxxx> > --- > > Cc'ed Jakub as he seems to be resident gitweb expert. > > I thought this might be a nice addition. > > The problem is I can't get it to work with UTF-8 characters. I'm not sure > if it's my system or not, so I'm just posting here to see if others > experience the same problem and if there's interest. > > gitweb/gitweb.perl | 18 ++++++++++++++---- > 1 files changed, 14 insertions(+), 4 deletions(-) > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index 24b2193..349e734 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -1604,7 +1604,10 @@ sub format_author_html { > my $author = chop_and_escape_str($co->{'author_name'}, @_); > return "<$tag class=\"author\">" . > git_get_avatar($co->{'author_email'}, -pad_after => 1) . > - $author . "</$tag>"; > + $cgi->a({-href => href(action=>"search", hash=>$hash, > + searchtext=>$co->{'author_name'}, > + searchtype=>"author"), class=>"list"}, $author) . > + "</$tag>"; > } > > # format git diff header line, i.e. "diff --(git|combined|cc) ..." > @@ -3373,10 +3376,13 @@ sub git_print_authorship { > my $co = shift; > my %opts = @_; > my $tag = $opts{-tag} || 'div'; > + my $author = $co->{'author_name'}; > > my %ad = parse_date($co->{'author_epoch'}, $co->{'author_tz'}); > print "<$tag class=\"author_date\">" . > - esc_html($co->{'author_name'}) . > + $cgi->a({-href => href(action=>"search", searchtext=>$author, > + searchtype=>"author"), class=>"list"}, > + esc_html($author)) . > " [$ad{'rfc2822'}"; > print_local_time(%ad) if ($opts{-localtime}); > print "]" . git_get_avatar($co->{'author_email'}, -pad_before => 1) > @@ -3395,8 +3401,12 @@ sub git_print_authorship_rows { > @people = ('author', 'committer') unless @people; > foreach my $who (@people) { > my %wd = parse_date($co->{"${who}_epoch"}, $co->{"${who}_tz"}); > - print "<tr><td>$who</td><td>" . esc_html($co->{$who}) . "</td>" . > - "<td rowspan=\"2\">" . > + print "<tr><td>$who</td><td>" . > + $cgi->a({-href => href(action=>"search", > + searchtext=>$co->{"${who}_name"}, > + searchtype=>$who), class=>"list"}, > + esc_html($co->{$who})) . > + "</td><td rowspan=\"2\">" . > git_get_avatar($co->{"${who}_email"}, -size => 'double') . > "</td></tr>\n" . > "<tr>" . > -- > 1.6.5.1.g53fd -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html