git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCHv2] gitweb: gravatar support

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Jun 19, 2009, 22:43 UTC
Message-ID
<cb7bb73a0906191543l75722b35xa1af532f4d8e1b76@mail.gmail.com>
In-Reply-To
<7v63esklxh.fsf@alter.siamese.dyndns.org>
On Fri, Jun 19, 2009 at 10:28 PM, Junio C Hamano<gitster@pobox.com> wrote:
Show 26 quoted lines
>
> I see these repeated patterns in your patch.
>
>> @@ -4145,7 +4179,7 @@ sub git_shortlog_body {
>>               my $author = chop_and_escape_str($co{'author_name'}, 10);
>>               # git_summary() used print "<td><i>$co{'age_string'}</i></td>\n" .
>>               print "<td title=\"$co{'age_string_age'}\"><i>$co{'age_string_date'}</i></td>\n" .
>> -                   "<td><i>" . $author . "</i></td>\n" .
>> +                   "<td>" . git_get_gravatar($co{'author_email'}, 16, 1) . "<i>" . $author . "</i></td>\n" .
>>...
>> -                   "<td><i>" . $author . "</i></td>\n" .
>> +                   "<td>" . git_get_gravatar($co{'author_email'}, 16, 1) . "<i>" . $author . "</i></td>\n" .
>>...
>> -                   "<td><i>" . $author . "</i></td>\n" .
>> +                   "<td>" . git_get_gravatar($co{'author_email'}, 16, 1) . "<i>" . $author . "</i></td>\n" .
>>...
>> -     print "<tr><td>author</td><td>" . esc_html($co{'author'}) . "</td></tr>\n".
>> +     print "<tr><td>author</td><td>" . esc_html($co{'author'}) . "</td>".
>> +           "<td rowspan=\"2\">" .git_get_gravatar($co{'author_email'}) . "</td></tr>\n" .
>>...
>> -     print "<tr><td>committer</td><td>" . esc_html($co{'committer'}) . "</td></tr>\n";
>> +     print "<tr><td>committer</td><td>" . esc_html($co{'committer'}) . "</td>".
>> +           "<td rowspan=\"2\">" .git_get_gravatar($co{'committer_email'}) . "</td></tr>\n";
>>...
>
> Doesn't it strike you as needing a bit more refactoring?

I was having the same thoughts while writing v2 of the patch, indeed. However, I wasn't sure if it was appropriate to the refactoring in the same patch. A couple of places could be changed to use the existing git_print_authorship, others would need their own function, as you point out.

> By the way, in the above example, I named the field 'smallicon', as use of
> gravatar is merely an implementation detail.  It is plausible other people
> may want to use picons instead.
I had to google for picons but yes, it makes sense.
Show 8 quoted lines
> I do not know about the following hunk (why does it have the icon at the
> end, unlike the other ones?), but I think you got the idea.
>
>> -                   "<i>" . esc_html($co{'author_name'}) .  " [$ad{'rfc2822'}]</i><br/>\n" .
>> -                   "</div>\n";
>> +                   "<i>" . esc_html($co{'author_name'}) .  " [$ad{'rfc2822'}]</i>&nbsp;" .
>> +                   git_get_gravatar($co{'author_email'}, 16) .
>> +                   "<br/>\n</div>\n";

I had the impression that in this case it made more aesthetical sense to have the icon on the other side. I'm not exactly a good designer though, so we might want to prefer consistency and keep it all the same way. This section would probably use git_print_authorship or at least share some code with that.

-- 
Giuseppe "Oblomov" Bilotta
Previous: Junio C HamanoNext: Jakub Narebski
Message 5 of 9 in “[PATCHv2] gitweb: gravatar support”
  1. Giuseppe BilottaJun 19, 2009
  2. Johannes SchindelinJun 19, 2009
  3. Johannes SchindelinJun 19, 2009
  4. Junio C HamanoJun 19, 2009
  5. Giuseppe BilottaJun 19, 2009
  6. Jakub NarebskiJun 20, 2009
  7. Jakub NarebskiJun 20, 2009
  8. Aaron CraneJun 20, 2009
  9. Jakub NarebskiJun 20, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.