]> Sergey Matveev's repositories - public-inbox.git/commitdiff
www: improve visibility of coderepos
authorEric Wong <e@80x24.org>
Wed, 17 Mar 2021 07:02:17 +0000 (23:02 -0800)
committerEric Wong <e@80x24.org>
Wed, 17 Mar 2021 19:03:14 +0000 (19:03 +0000)
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
lib/PublicInbox/WwwStream.pm

index f680eb2ff19ed3edbeee5e88cb40e8218f042d28..2ae5eff9c01614a13f0781561c9aed64d1a52838 100644 (file)
@@ -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;
 }
index be9e762e6e334d575899864db4fc30ac89226a17..4db8dc55965da86e33e06a5ecea46e37975f9967 100644 (file)
@@ -51,9 +51,10 @@ sub html_top ($) {
        } elsif ($ctx->{qp}->{t}) {
                $top = qq(<a\nhref="./">$top</a>);
        }
+       my $code = $ibx->{coderepo} ? qq( / <a\nhref=#code>code</a>) : '';
        my $links = qq(<a\nhref="$help">help</a> / ).
                        qq(<a\nhref="$color">color</a> / ).
-                       qq(<a\nhref=#mirror>mirror</a> / ).
+                       qq(<a\nhref=#mirror>mirror</a>$code / ).
                        qq(<a\nhref="$atom">Atom feed</a>);
        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] //= <<EOF;
-code repositories for the project(s) associated with this inbox:
+<a id=code>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<a\nhref="$u">$u</a>);
+               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<a\nhref="$u">$u</a>);
+                       }
+               } 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()