From: "Jakub Narębski" <jnareb@gmail.com>
To: Tony Finch <dot@dotat.at>
Cc: git@vger.kernel.org, Jonathan Nieder <jrnieder@gmail.com>
Subject: Re: [PATCH v3] gitweb: allow extra breadcrumbs to prefix the trail
Date: Thu, 4 Jul 2013 19:42:19 +0200 [thread overview]
Message-ID: <CANQwDwf56CQZJ25-Lc9WJYeB4Q7_4LVPx45yq9EQ8c17NsJp4g@mail.gmail.com> (raw)
In-Reply-To: <E1UunDD-0004Xd-Vv@hermes-2.csi.cam.ac.uk>
On Thu, Jul 4, 2013 at 7:02 PM, Tony Finch <dot@dotat.at> 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.
>
> Signed-off-by: Tony Finch <dot@dotat.at>
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
For what it is worth:
Acked-by: Jakub Narebski <jnareb@gmail.com>
> ---
> Documentation/gitweb.conf.txt | 22 ++++++++++++++++++++--
> gitweb/gitweb.perl | 7 ++++++-
> 2 files changed, 26 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt
> index ea0526e..305db63 100644
> --- a/Documentation/gitweb.conf.txt
> +++ b/Documentation/gitweb.conf.txt
> @@ -336,8 +336,26 @@ $home_link_str::
> used as the first component of gitweb's "breadcrumb trail":
> `<home link> / <project> / <action>`. Can be set at build time using
> the `GITWEB_HOME_LINK_STR` variable. By default it is set to "projects",
> - as this link leads to the list of projects. Other popular choice it to
> - set it to the name of site.
> + as this link leads to the list of projects. Another popular choice is to
> + set it to the name of site. Note that it is treated as raw HTML so it
> + should not be set from untrusted sources.
I wonder if we should change this... but it is issue unrelated to current
patch, which doesn't make situation worse.
> +
> +@extra_breadcrumbs::
@external_breadcrumbs ???
> + Additional links to be added to the start of the breadcrumb trail before
> + the home link, to pages that are logically "above" the gitweb projects
> + list, such as 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 (equivalent to `$home_link_str`) and element
> + 1 is the target URL (equivalent to `$home_link`).
> ++
> +For example, the following setting produces a breadcrumb trail like
> +"home / dev / projects / ..." where "projects" is the home link.
> +----------------------------------------------------------------------------
> + our @extra_breadcrumbs = (
> + [ 'home' => 'https://www.example.org/' ],
> + [ 'dev' => 'https://dev.example.org/' ],
> + );
> +----------------------------------------------------------------------------
>
> $logo_url::
> $logo_label::
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 8d69ada..f429f75 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,7 +3985,9 @@ sub print_nav_breadcrumbs_path {
> sub print_nav_breadcrumbs {
> my %opts = @_;
>
> - 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]) . " / ";
> + }
> if (defined $project) {
> my @dirname = split '/', $project;
> my $projectbasename = pop @dirname;
> --
> 1.8.3.1.605.g85318f5
>
next prev parent reply other threads:[~2013-07-04 17:42 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 ` [PATCH] " Jonathan Nieder
2013-07-03 22:11 ` 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 [this message]
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CANQwDwf56CQZJ25-Lc9WJYeB4Q7_4LVPx45yq9EQ8c17NsJp4g@mail.gmail.com \
--to=jnareb@gmail.com \
--cc=dot@dotat.at \
--cc=git@vger.kernel.org \
--cc=jrnieder@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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).