public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail•com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail•com>
Cc: git@vger•kernel.org
Subject: Re: [PATCHv5 08/12] gitweb: auxiliary function to group data
Date: Mon, 27 Sep 2010 10:12:22 +0200	[thread overview]
Message-ID: <201009271012.23175.jnareb@gmail.com> (raw)
In-Reply-To: <AANLkTimOJ7RXDWXy=tF+rZf1gnfB7_GHCZuU5bZ5Wc91@mail.gmail.com>

Dnia poniedziałek 27. września 2010 09:26, Giuseppe Bilotta napisał:
> 2010/9/26 Jakub Narebski <jnareb@gmail•com>:
>> On Fri, 24 Sep 2010, Giuseppe Bilotta wrote:
>>
>>> Subject: gitweb: auxiliary function to group data
>>>
>>
>> Errr... what!?  git_group() is not "auxiliary function to group data",
>> but a template for output of group of data.
> 
> I will rephrase

Though I don't know how such rephrasing should look like.

>> It would be probably good to describe how this output looks like
>> (using e.g. ASCII-art mockup) in a commit message.
> 
> Well, that would depend on the CSS that is used ... should I squash
> the styling in this patch then?

No, I don't think it is needed, but it can be done.

>>> +sub git_group {
>>
>> Name?
> 
> git_collection? git_collect_data? I'm a little short on ideas.
> git_section? git_subsection? the function (with different styling) can
> probably be used even for the main sections in each view (think
> summary view in particular).

git_group_html / git_subgroup_html / git_subsection_html
print_group / print_subgroup / print_section / print_subsection

It needs either *_html suffix (like git_header_html), or print_* prefix
to denote that it prints HTML fragment, I think.

>>> +     $content_func->() if defined $content_func;
>>
>> More defensive programming would be to use
>>
>>  +     $content_func->() if ref($content_func) eq 'CODE';
>>
>> Or even:
>>
>>  +     if (ref($content) eq 'CODE') {
>>  +             $content->();
>>  +     } elsif (ref($content) eq 'ARRAY') {
>>  +             print @$content;

The 'ARRAY' part is probably unnecessary overengineering.

>>  +     } elsif (!ref($content) && defined($content)) {
>>  +             print $content;
>>  +     }

Or even (in the vein of further overengineering)

    +     } elsif (ref($content) eq 'SCALAR') {
    +             print esc_html($$content);
    +     } elsif (!ref($content) && defined($content)) {
    +             print $content;
    +     }

or vice versa ;-)

>>
>> Well, $content could be also open filehandle...

Though I don't know how to check that.  ref on filehandles return
'GLOB'... well, we can use 'openhandle' from Scalar::Util (core).
But that is probably unnecessary overengineering.
 
> Ah, very interesting and very flexible, I'll steal your idea.
> 
> -- 
> Giuseppe "Oblomov" Bilotta
> 

-- 
Jakub Narebski
Poland

  reply	other threads:[~2010-09-27  8:13 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-24 16:02 [PATCHv5 00/12] gitweb: remote_heads feature Giuseppe Bilotta
2010-09-24 16:02 ` [PATCHv5 01/12] gitweb: introduce " Giuseppe Bilotta
2010-09-26 17:24   ` Jakub Narebski
2010-09-26 19:19     ` Ævar Arnfjörð Bjarmason
2010-09-26 19:47       ` David Ripton
2010-09-27  6:42         ` Giuseppe Bilotta
2010-09-24 16:02 ` [PATCHv5 02/12] gitweb: git_get_heads_list accepts an optional list of refs Giuseppe Bilotta
2010-09-26 17:27   ` Jakub Narebski
2010-09-24 16:02 ` [PATCHv5 03/12] gitweb: separate heads and remotes lists Giuseppe Bilotta
2010-09-26 17:39   ` Jakub Narebski
2010-09-24 16:02 ` [PATCHv5 04/12] gitweb: nagivation menu for tags, heads and remotes Giuseppe Bilotta
2010-09-26 17:52   ` Jakub Narebski
2010-09-27  6:48     ` Giuseppe Bilotta
2010-09-27  8:30       ` Jakub Narebski
2010-09-24 16:02 ` [PATCHv5 05/12] gitweb: use fullname as hash_base in heads link Giuseppe Bilotta
2010-09-26 17:57   ` Jakub Narebski
2010-09-24 16:02 ` [PATCHv5 06/12] gitweb: allow extra text after action in page header Giuseppe Bilotta
2010-09-26 18:11   ` Jakub Narebski
2010-09-27  6:56     ` Giuseppe Bilotta
2010-09-27  7:42       ` Jakub Narebski
2010-09-24 16:02 ` [PATCHv5 07/12] gitweb: remotes view for a single remote Giuseppe Bilotta
2010-09-26 20:55   ` Jakub Narebski
2010-09-27  7:11     ` Giuseppe Bilotta
2010-09-27  7:53       ` Jakub Narebski
2010-09-24 16:02 ` [PATCHv5 08/12] gitweb: auxiliary function to group data Giuseppe Bilotta
2010-09-26 21:47   ` Jakub Narebski
2010-09-27  7:26     ` Giuseppe Bilotta
2010-09-27  8:12       ` Jakub Narebski [this message]
2010-09-27 19:17         ` Giuseppe Bilotta
2010-09-24 16:02 ` [PATCHv5 09/12] gitweb: group styling Giuseppe Bilotta
2010-09-26 22:10   ` Jakub Narebski
2010-09-27  7:27     ` Giuseppe Bilotta
2010-09-24 16:02 ` [PATCHv5 10/12] gitweb: git_repo_url() routine Giuseppe Bilotta
2010-09-26 22:34   ` Jakub Narebski
2010-09-27  7:29     ` Giuseppe Bilotta
2010-09-24 16:02 ` [PATCHv5 11/12] gitweb: use git_repo_url() in summary Giuseppe Bilotta
2010-09-26 22:36   ` Jakub Narebski
2010-09-24 16:02 ` [PATCHv5 12/12] gitweb: gather more remote data Giuseppe Bilotta
2010-09-27 15:47   ` Jakub Narebski
2010-10-23 16:17     ` Giuseppe Bilotta
2010-09-26 18:18 ` [PATCHv5 00/12] gitweb: remote_heads feature Jakub Narebski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201009271012.23175.jnareb@gmail.com \
    --to=jnareb@gmail$(echo .)com \
    --cc=git@vger$(echo .)kernel.org \
    --cc=giuseppe.bilotta@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox