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, 15:34 UTC
Message-ID
<CANQwDwfCYPBjGfmKOLju-Zey4WrVrXfaymJtu9g1OYvOUfBTcw@mail.gmail.com>
In-Reply-To
<alpine.LSU.2.00.1307041559140.26246@hermes-2.csi.cam.ac.uk>
On Thu, Jul 4, 2013 at 5:11 PM, Tony Finch <dot@dotat.at> wrote:
Show 6 quoted lines
> Jakub Narębski <jnareb@gmail.com> wrote:
>>
>> It would be better to improve documentation, than follow current bad
>> practice... ;-P
>
> The v2 patch does just that :-)
Thanks.
Show 10 quoted lines
>> Perhaps even make ( [ $home_link_str, $home_link ] ) to be default
>> value for @extra_breadcrumbs, making new feature generalization
>> of $home_link*, similarly to how it was done for $stylesheet -> @stylesheets
>> transition.
>
> I don't think that's a win. There's a lot of existing gitweb.conf out
> there which sets $home_link_str, so the code would have to either print
> the last element of @extra_breadcrumbs or the $home_link variables
> depending on whether the variables were modified. And the documentation
> would have to explain this complicated arrangement.

First, do I understand corrctly that @extra_breadcrumbs are rendered *after* $home_link*, and in exactly the same manner?

Second, I misremembered how $stylesheet / @stylesheets is handled. I was thinking more about having in gitweb.perl the following default initialization for @extra_breadcrumbs:

  our @extra_breadcrumbs = ( [ $home_link_str, $home_link ] );
Then one can add breadcrumbs with
  push @extra_breadcrumbs, [ $foo_html, $foo_url ], [
esc_html($bar_txt), $bar_url ];

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, either via

  unshift @nav_breadcrumbs, [ $home_link_str, $home_link ];
or
  for $breadcrumb ([ $home_link_str, $home_link ], @nav_breadcrumbs) {
... unless we treat home link in some special way (do we?).

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.

-- 
Jakub Narebski
Previous: Tony FinchNext: Tony Finch
Message 8 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.