From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 922271FA01 for ; Wed, 17 Mar 2021 07:02:19 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 4/5] www: improve visibility of coderepos Date: Tue, 16 Mar 2021 23:02:17 -0800 Message-Id: <20210317070218.7971-5-e@80x24.org> In-Reply-To: <20210317070218.7971-1-e@80x24.org> References: <20210317070218.7971-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: By adding "+code" next to "mirror" at the top next to the search box. Instead of showing "/path/to/$FOO", showing "$FOO.git" makes it more obvious we're talking about a git repo, here, instead of some random directory. --- lib/PublicInbox/Git.pm | 2 +- lib/PublicInbox/WwwStream.pm | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index f680eb2f..2ae5eff9 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -427,7 +427,7 @@ sub local_nick ($) { my $ret = '???'; # don't show full FS path, basename should be OK: if ($self->{git_dir} =~ m!/([^/]+)(?:/\.git)?\z!) { - $ret = "/path/to/$1"; + $ret = "$1.git"; } wantarray ? ($ret) : $ret; } diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm index be9e762e..4db8dc55 100644 --- a/lib/PublicInbox/WwwStream.pm +++ b/lib/PublicInbox/WwwStream.pm @@ -51,9 +51,10 @@ sub html_top ($) { } elsif ($ctx->{qp}->{t}) { $top = qq($top); } + my $code = $ibx->{coderepo} ? qq( / code) : ''; my $links = qq(help / ). qq(color / ). - qq(mirror / ). + qq(mirror$code / ). qq(Atom feed); if ($ibx->isrch) { my $q_val = delete($ctx->{-q_value_html}) // ''; @@ -84,16 +85,20 @@ sub coderepos ($) { my $upfx = ($ctx->{-upfx} // ''). '../'; my @ret; for my $cr_name (@$cr) { - my $urls = $cfg->get_all("coderepo.$cr_name.cgiturl") // next; $ret[0] //= <code repositories for project(s) associated with this inbox: EOF - for (@$urls) { - # relative or absolute URL?, prefix relative "foo.git" - # with appropriate number of "../" - my $u = m!\A(?:[a-z\+]+:)?//! ? $_ : $upfx.$_; - $u = ascii_html(prurl($ctx->{env}, $u)); - $ret[0] .= qq(\n\t$u); + my $urls = $cfg->get_all("coderepo.$cr_name.cgiturl"); + if ($urls) { + for (@$urls) { + # relative or absolute URL?, prefix relative + # "foo.git" with appropriate number of "../" + my $u = m!\A(?:[a-z\+]+:)?//! ? $_ : $upfx.$_; + $u = ascii_html(prurl($ctx->{env}, $u)); + $ret[0] .= qq(\n\t$u); + } + } else { + $ret[0] .= qq[\n\t$cr_name.git (no URL configured)]; } } @ret; # may be empty, this sub is called as an arg for join()