All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Tony Finch <dot@dotat.at>
Cc: git@vger.kernel.org, Jakub Narebski <jnareb@gmail.com>
Subject: Re: [PATCH] gitweb: allow extra breadcrumbs to prefix the trail
Date: Wed, 3 Jul 2013 14:59:30 -0700	[thread overview]
Message-ID: <20130703215930.GT408@google.com> (raw)
In-Reply-To: <E1Uu3IT-0008U1-3c@hermes-2.csi.cam.ac.uk>

(cc-ing Jakub, gitweb wrangler)

Tony Finch wrote:

> There are often parent pages logically above the gitweb projects
> list, e.g. home pages of the organization and department that host
> the gitweb server. This change allows you to include links to those
> pages in gitweb's breadcrumb trail.

Neat.

> Signed-off-by: Tony Finch <dot@dotat.at>
> ---
>  Documentation/gitweb.conf.txt | 8 ++++++++
>  gitweb/gitweb.perl            | 6 ++++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt
> index ea0526e..4579578 100644
> --- a/Documentation/gitweb.conf.txt
> +++ b/Documentation/gitweb.conf.txt
> @@ -339,6 +339,14 @@ $home_link_str::
>  	as this link leads to the list of projects.  Other popular choice it to
>  	set it to the name of site.
>  
> +@extra_breadcrumbs::
> +	Additional links to be added to the start of the breadcrumb trail,
> +	that are logically "above" the gitweb projects list. For example,
> +	links to the organization and department which host the gitweb
> +	server. Each element of the list is a reference to an array,
> +	in which element 0 is the link text and element 1 is the
> +	target URL.

Is arbitrary HTML permitted in the link text?

I think it makes sense to permit it for consistency with $home_link_str,
but it might be worth mentioning in the manpage so the administrator
knows not to set it to something user-controlled --- e.g.:

	The link text can contain arbitrary HTML --- to escape link
	text generated programatically, use esc_html($text).

For what it's worth, with or without such a change,
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>

(Patch left unsnipped for reference.)
> +
>  $logo_url::
>  $logo_label::
>  	URI and label (title) for the Git logo link (or your site logo,
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 8d69ada..436f17a 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -85,6 +85,9 @@ our $project_maxdepth = "++GITWEB_PROJECT_MAXDEPTH++";
>  # string of the home link on top of all pages
>  our $home_link_str = "++GITWEB_HOME_LINK_STR++";
>  
> +# extra breadcrumbs preceding the home link
> +our @extra_breadcrumbs = ();
> +
>  # name of your site or organization to appear in page titles
>  # replace this with something more descriptive for clearer bookmarks
>  our $site_name = "++GITWEB_SITENAME++"
> @@ -3982,6 +3985,9 @@ sub print_nav_breadcrumbs_path {
>  sub print_nav_breadcrumbs {
>  	my %opts = @_;
>  
> +	for my $crumb (@extra_breadcrumbs) {
> +		print $cgi->a({-href => esc_url($crumb->[1])}, $crumb->[0]) . " / ";
> +	}
>  	print $cgi->a({-href => esc_url($home_link)}, $home_link_str) . " / ";
>  	if (defined $project) {
>  		my @dirname = split '/', $project;
> -- 

  parent reply	other threads:[~2013-07-03 21:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-02 15:49 [PATCH] gitweb: allow extra breadcrumbs to prefix the trail Tony Finch
2013-07-02 15:49 ` [PATCH v2] " Tony Finch
2013-07-03 21:59 ` Jonathan Nieder [this message]
2013-07-03 22:11   ` [PATCH] " Jakub Narębski
2013-07-04  8:44     ` Tony Finch
2013-07-04 14:40       ` Jakub Narębski
2013-07-04 15:11         ` Tony Finch
2013-07-04 15:34           ` Jakub Narębski
2013-07-04 15:56             ` Tony Finch
2013-07-04 16:32               ` Jakub Narębski
2013-07-04 17:08                 ` Tony Finch
2013-07-04 17:31                   ` Jakub Narębski
2013-07-04 17:02 ` [PATCH v3] " Tony Finch
2013-07-04 17:42   ` Jakub Narębski
2013-07-07  1:05   ` Jonathan Nieder

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=20130703215930.GT408@google.com \
    --to=jrnieder@gmail.com \
    --cc=dot@dotat.at \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.