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

Re: [PATCH] gitweb: allow extra breadcrumbs to prefix the trail

From
Jakub Narębski <jnareb@gmail.com>
Date
Jul 4, 2013, 16:32 UTC
Message-ID
<CANQwDwfNrqZvLNYS6kqZdgX-ab5fK3RmQqAN3qKTW2TGnaDaUg@mail.gmail.com>
In-Reply-To
<alpine.LSU.2.00.1307041646250.26246@hermes-2.csi.cam.ac.uk>
On Thu, Jul 4, 2013 at 5:56 PM, Tony Finch <dot@dotat.at> wrote:
Show 7 quoted lines
> Jakub Narębski <jnareb@gmail.com> wrote:
>>
>> First, do I understand correctly that @extra_breadcrumbs are rendered *after*
>> $home_link*, and in exactly the same manner?
>
> Before the home link, and yes, in the same manner. The extra breadcrumbs
> are for links to parent pages above gitweb in some hierarchy.

Hmmm... I would have thought that they were after home link. I wonder if leaving it up to user to configure @extra_breadcrumbs to include $home_link in appropriate place (the unshift / push solution to adding to @extra_breadcrumbs, starting with $home_link) would be good idea, or over-engineering.

In what situation do you need those extra breadcrumbs useful? What necessity / itch to scratch is behind idea of this patch?

Show 10 quoted lines
>> But now I think that we can do better, simply put $home_link_str and $home_link
>> in @extra_breadcrumbs / @top_level_breadcrumbs / @nav_breadcrumbs before
>> using it,
>
> We could save a line that way:
>
> -       print $cgi->a({-href => esc_url($home_link)}, $home_link_str) . " / ";
> +       for my $crumb (@extra_breadcrumbs, [ $home_link_str => $home_link ]) {
> +               print $cgi->a({-href => esc_url($crumb->[1])}, $crumb->[0]) . " / ";
> +       }

And avoid a bit of code duplication; now we are sure that both @extra_breadcrumbs and $home_link are rendered in the same way.

Show 6 quoted lines
>> P.S. It is a bit late, but wouldn't { name => $link_name, href => $link_url }
>> (like %features hash) be a better solution than [ $link_name, $link_url ],
>> i.e. hashref (named parameters) instead of arrayref (positional parameters).
>> You wouldn't have to remember which is first: text or URL.
>
> I thought the fat arrow would be mnemonic enough, and less verbose.

Yes, hashref solution is a bit verbose. I don't like abusing fat arrow notation, but here it gives nice mnemonic (hopefully explained in documentation).

-- 
Jakub Narebski
Previous: Tony FinchNext: Tony Finch
Message 10 of 15 in “gitweb: allow extra breadcrumbs to prefix the trail”
  1. gitweb: allow extra breadcrumbs to prefix the trailTony Finch, Jul 2, 2013
  2. gitweb: allow extra breadcrumbs to prefix the trailTony Finch, Jul 2, 2013
  3. Jonathan NiederJul 3, 2013
  4. Jakub NarębskiJul 3, 2013
  5. Tony FinchJul 4, 2013
  6. Jakub NarębskiJul 4, 2013
  7. Tony FinchJul 4, 2013
  8. Jakub NarębskiJul 4, 2013
  9. Tony FinchJul 4, 2013
  10. Jakub NarębskiJul 4, 2013
  11. Tony FinchJul 4, 2013
  12. Jakub NarębskiJul 4, 2013
  13. gitweb: allow extra breadcrumbs to prefix the trailTony Finch, Jul 4, 2013
  14. Jakub NarębskiJul 4, 2013
  15. Jonathan NiederJul 7, 2013

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.