]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/WwwStream.pm
www: admin-configurable CSS via "publicinbox.css"
[public-inbox.git] / lib / PublicInbox / WwwStream.pm
index ec75f16c50fd07bf57581492de4c7cb1e3584f25..c3aeb6b03b0299ce117482936f002bfb58a04dd3 100644 (file)
@@ -2,6 +2,10 @@
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 #
 # HTML body stream for which yields getline+close methods
+#
+# public-inbox-httpd favors "getline" response bodies to take a
+# "pull"-based approach to feeding slow clients (as opposed to a
+# more common "push" model)
 package PublicInbox::WwwStream;
 use strict;
 use warnings;
@@ -61,7 +65,7 @@ sub _html_top ($) {
        "<html><head><title>$title</title>" .
                "<link\nrel=alternate\ntitle=\"Atom feed\"\n".
                "href=\"$atom\"\ntype=\"application/atom+xml\"/>" .
-               PublicInbox::Hval::STYLE .
+               $ctx->{www}->style($upfx) .
                "</head><body>". $top . $tip;
 }
 
@@ -99,11 +103,11 @@ sub _html_end {
                push @urls, $u =~ /\Ahttps?:/ ? qq(<a\nhref="$u">$u</a>) : $u;
        }
 
-       if (scalar(@urls) == 1) {
-               $urls .= " git clone --mirror $urls[0]";
-       } else {
+       if (defined($part) || scalar(@urls) > 1) {
                $urls .= "\n" .
                        join("\n", map { "\tgit clone --mirror $_" } @urls);
+       } else {
+               $urls .= " git clone --mirror $urls[0]";
        }
        if (defined $part) {
                my $addrs = $obj->{address};