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

Re: [PATCH 3/4] gitweb: show notes in log

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Feb 6, 2010, 13:14 UTC
Message-ID
<cb7bb73a1002060514p33a4bcbdqb13d636cd6448998@mail.gmail.com>
In-Reply-To
<201002061357.59245.jnareb@gmail.com>
2010/2/6 Jakub Narebski <jnareb@gmail.com>:
Show 13 quoted lines
> On Thu, 4 Feb 2010, Giuseppe Bilotta wrote:
>
>> The notes are shown in full to the left of the log message.
>
> Thats all good if you have wide (high resolution) screen, and your
> project follows common commit message conventions of keeping lines in
> commit message no longer than at most 80 characters, and you don't need
> to use large size fonts.
>
> What happens if screen size is too small to contain both commit message
> and notes?  Does it do the sensible thing of putting notes _below_
> commit message in such situation?  I do not know CSS+HTML enogh to
> answer this question myself.

The CSS forces the width of the notes div at 150px, which is the amount left to the left of the commit message. This means that notes will line-wrap, but they will not shift the text.

> BTW. signoff?
As usual, I forgot.
> P.S. We would probably want some support for notes also in feeds (Atom
> and RSS feed), but this can be left for the future commit.
I honestly have absolutely no idea how to do that.
Show 12 quoted lines
>> @@ -1631,6 +1631,7 @@ sub format_subject_html {
>>  # display notes next to a commit
>>  sub format_notes_html {
>>       my %notes = %{$_[0]};
>> +     my $tag = $_[1] || 'span' ;
>
> This could be
>
>        my $notes = shift;
>        my $tag = shift || 'span' ;
>
> and then use %$notes.
Would be much bettere, yes.
Show 25 quoted lines
>>       my $ret = "";
>>       while (my ($ref, $text) = each %notes) {
>>               # remove 'refs/notes/' and an optional final s
>> @@ -1639,15 +1640,15 @@ sub format_notes_html {
>>
>>               # double markup is needed to allow pure CSS cross-browser 'popup'
>>               # of the note
>> -             $ret .= "<span title='$ref' class='note-container $ref'>";
>> -             $ret .= "<span title='$ref' class='note $ref'>";
>> +             $ret .= "<$tag title='$ref' class='note-container $ref'>";
>> +             $ret .= "<$tag title='$ref' class='note $ref'>";
>>               foreach my $line (split /\n/, $text) {
>>                       $ret .= esc_html($line) . "<br/>";
>>               }
>> -             $ret .= "</span></span>";
>> +             $ret .= "</$tag></$tag>";
>>       }
>>       if ($ret) {
>> -             return "<span class='notes'>$ret</span>";
>> +             return "<$tag class='notes'>$ret</$tag>";
>>       } else {
>>               return $ret;
>>       }
>
> Nice trick, but is this distinction really necessary?

I think so. The distinction is useful both from the structural point of view (block elements with block elements, inline elements with inline elements) and for CSS selection (the block case has totally different styling than the inline case).

Show 8 quoted lines
>> +             print "$notes\n";
>>               print "<div class=\"log_body\">\n";
>>               git_print_log($co{'comment'}, -final_empty_line=> 1);
>>               print "</div>\n";
>
> With respect to the question about what happens if the screen is not
> wide enough, shouldn't notes be put in HTML source below body (commit
> message)?

As I mentioned, notes width is fixed at the amount of the whitespace to the left of the log, so this should not be an issue. Additionally, putting notes below makes it much harder to let them float to the left of the log body.

-- 
Giuseppe "Oblomov" Bilotta
Previous: Jakub NarebskiNext: Jakub Narebski
Message 39 of 47 in “gitweb: preliminary notes support”
  1. 0/4 gitweb: preliminary notes supportGiuseppe Bilotta, Feb 4, 2010
  2. 1/4 gitweb: notes featureGiuseppe Bilotta, Feb 4, 2010
  3. Junio C HamanoFeb 4, 2010
  4. Junio C HamanoFeb 4, 2010
  5. Jakub NarebskiFeb 4, 2010
  6. Giuseppe BilottaFeb 4, 2010
  7. Junio C HamanoFeb 4, 2010
  8. Giuseppe BilottaFeb 4, 2010
  9. Johan HerlandFeb 5, 2010
  10. Junio C HamanoFeb 5, 2010
  11. Giuseppe BilottaFeb 5, 2010
  12. Junio C HamanoFeb 5, 2010
  13. Giuseppe BilottaFeb 6, 2010
  14. Junio C HamanoFeb 4, 2010
  15. Jakub NarebskiFeb 4, 2010
  16. Jakub NarebskiFeb 5, 2010
  17. Junio C HamanoFeb 5, 2010
  18. Giuseppe BilottaFeb 5, 2010
  19. Jakub NarebskiFeb 5, 2010
  20. Giuseppe BilottaFeb 6, 2010
  21. Jakub NarebskiFeb 6, 2010
  22. Giuseppe BilottaFeb 6, 2010
  23. Jakub NarebskiFeb 7, 2010
  24. Jakub NarebskiFeb 7, 2010
  25. Johan HerlandFeb 7, 2010
  26. Jakub NarebskiFeb 7, 2010
  27. Giuseppe BilottaFeb 7, 2010
  28. Jakub NarebskiFeb 7, 2010
  29. Junio C HamanoFeb 7, 2010
  30. Giuseppe BilottaFeb 7, 2010
  31. Jakub NarebskiFeb 7, 2010
  32. Giuseppe BilottaFeb 7, 2010
  33. Jakub NarebskiFeb 7, 2010
  34. 2/4 gitweb: show notes in shortlog viewGiuseppe Bilotta, Feb 4, 2010
  35. Jakub NarebskiFeb 6, 2010
  36. Giuseppe BilottaFeb 6, 2010
  37. 3/4 gitweb: show notes in logGiuseppe Bilotta, Feb 4, 2010
  38. Jakub NarebskiFeb 6, 2010
  39. Giuseppe BilottaFeb 6, 2010
  40. Jakub NarebskiFeb 6, 2010
  41. 4/4 gitweb: show notes in commit(diff) viewGiuseppe Bilotta, Feb 4, 2010
  42. Jakub NarebskiFeb 6, 2010
  43. Giuseppe BilottaFeb 6, 2010
  44. Jakub NarebskiFeb 6, 2010
  45. Giuseppe BilottaFeb 6, 2010
  46. Jakub NarebskiFeb 6, 2010
  47. Giuseppe BilottaFeb 6, 2010

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.