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

Re: [PATCHv5 06/12] gitweb: allow extra text after action in page header

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Sep 27, 2010, 06:56 UTC
Message-ID
<AANLkTinpZ5gusCG4SoKbi54URyn7T4THNp2NeVM6uFL2@mail.gmail.com>
In-Reply-To
<201009262011.28211.jnareb@gmail.com>
2010/9/26 Jakub Narebski <jnareb@gmail.com>:
Show 12 quoted lines
> On Fri, 24 Sep 2010, Giuseppe Bilotta wrote:
>
>> This extra text is intended to 'specify' the action. Therefore, if it's
>> present, the action name in the header will be turned into a link to
>> the action itself but without specifying any parameter.
>
> What this feature is intended *for*?  I guess it is meant to be used
> in the case where there is additional parameter that specifies action,
> like e.g. a single remote view, where $action is 'remotes', but there
> is extra parameter ('hash_base' is (ab)used for this) that specifies
> remote.  Then we want to make 'remotes' in "breadcrumbs" navigation at
> top of page to link to generic 'remotes' view.  Isn't it?

Yes, this is exactly the intended purpose of this feature. It is of course possible to extend other views to have a similar behavior (I'm thinking in particular about log views here).

> But the above is just my guess, covering only case where there is both
> $action defined, and 'header_extra' option set.
>
> You need to explain this in the commit message.
I will clarify this in the next rehash of the patch.
Show 34 quoted lines
>> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
>> ---
>>  gitweb/gitweb.perl |   10 +++++++++-
>>  1 files changed, 9 insertions(+), 1 deletions(-)
>>
>> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
>> index e70897e..76cf806 100755
>> --- a/gitweb/gitweb.perl
>> +++ b/gitweb/gitweb.perl
>> @@ -3514,7 +3514,15 @@ EOF
>>       if (defined $project) {
>>               print $cgi->a({-href => href(action=>"summary")}, esc_html($project));
>>               if (defined $action) {
>> -                     print " / $action";
>> +                     my $action_print = $action ;
>> +                     if (defined $opts{'header_extra'}) {
>
> We spell optional named parameter with '-' as prefix, for example
> $opts{'-remove_signoff'} in git_print_log(), to be able to use key
> without quoting (bareword-like, autoquoting), like $opts{-nohtml}
> or $opts{-pad_before}, or $opts{-size}, or $opts{-tag}... though
> gitweb is not very consisnte here.
>
> So it should probably be
>
>  +                     if (defined $opts{'-header_extra'}) {
>
> or even
>
>  +                     if (defined $opts{-header_extra}) {
>
>
> I also think that we can think of better name for this option than
> 'header_extra', although what this name could be eludes me.

I will add the dash to the option. Naming it header_extra keeps the meaning of this extra text generic, but considering that the intended use is mostly for the single-remote view (or similar, if/when they are added) we could call it something related (I can only think of 'main_argument' right now but I think this would suck more than header_extra).

Show 7 quoted lines
>> +                             $action_print = $cgi->a({-href => href(action=>$action)},
>> +                                     esc_html($action));
>
> I don't think we need to run esc_html on action: it is checked that it
> is one of specified set of possible values, and it can be ensured that
> it neither contains anything than printable characters, not any HTML
> special characters.
Ok, I will remove it.
Show 7 quoted lines
>> +                     }
>> +                     print " / $action_print";
>> +             }
>> +             if (defined $opts{'header_extra'}) {
>> +                     print " / $opts{'header_extra'}";
>
> Hmmm...

You don't sound very convinced. I had some doubts myself about whether the slash should be inserted autmatically or whether it should be up to the caller to include it in header_extra, but I'm not sure this is what you are perplexed about.

-- 
Giuseppe "Oblomov" Bilotta
Previous: Jakub NarebskiNext: Jakub Narebski
Message 19 of 41 in “[PATCHv5 00/12] gitweb: remote_heads feature”
  1. Giuseppe BilottaSep 24, 2010
  2. 01/12 gitweb: introduce remote_heads featureGiuseppe Bilotta, Sep 24, 2010
  3. Jakub NarebskiSep 26, 2010
  4. Ævar Arnfjörð BjarmasonSep 26, 2010
  5. David RiptonSep 26, 2010
  6. Giuseppe BilottaSep 27, 2010
  7. 02/12 gitweb: git_get_heads_list accepts an optional list of refs.Giuseppe Bilotta, Sep 24, 2010
  8. Jakub NarebskiSep 26, 2010
  9. 03/12 gitweb: separate heads and remotes listsGiuseppe Bilotta, Sep 24, 2010
  10. Jakub NarebskiSep 26, 2010
  11. 04/12 gitweb: nagivation menu for tags, heads and remotesGiuseppe Bilotta, Sep 24, 2010
  12. Jakub NarebskiSep 26, 2010
  13. Giuseppe BilottaSep 27, 2010
  14. Jakub NarebskiSep 27, 2010
  15. 05/12 gitweb: use fullname as hash_base in heads linkGiuseppe Bilotta, Sep 24, 2010
  16. Jakub NarebskiSep 26, 2010
  17. 06/12 gitweb: allow extra text after action in page headerGiuseppe Bilotta, Sep 24, 2010
  18. Jakub NarebskiSep 26, 2010
  19. Giuseppe BilottaSep 27, 2010
  20. Jakub NarebskiSep 27, 2010
  21. 07/12 gitweb: remotes view for a single remoteGiuseppe Bilotta, Sep 24, 2010
  22. Jakub NarebskiSep 26, 2010
  23. Giuseppe BilottaSep 27, 2010
  24. Jakub NarebskiSep 27, 2010
  25. 08/12 gitweb: auxiliary function to group dataGiuseppe Bilotta, Sep 24, 2010
  26. Jakub NarebskiSep 26, 2010
  27. Giuseppe BilottaSep 27, 2010
  28. Jakub NarebskiSep 27, 2010
  29. Giuseppe BilottaSep 27, 2010
  30. 09/12 gitweb: group stylingGiuseppe Bilotta, Sep 24, 2010
  31. Jakub NarebskiSep 26, 2010
  32. Giuseppe BilottaSep 27, 2010
  33. 10/12 gitweb: git_repo_url() routineGiuseppe Bilotta, Sep 24, 2010
  34. Jakub NarebskiSep 26, 2010
  35. Giuseppe BilottaSep 27, 2010
  36. 11/12 gitweb: use git_repo_url() in summaryGiuseppe Bilotta, Sep 24, 2010
  37. Jakub NarebskiSep 26, 2010
  38. 12/12 gitweb: gather more remote dataGiuseppe Bilotta, Sep 24, 2010
  39. Jakub NarebskiSep 27, 2010
  40. Giuseppe BilottaOct 23, 2010
  41. Jakub NarebskiSep 26, 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.