]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Feed.pm
config: use description file for gitweb
[public-inbox.git] / lib / PublicInbox / Feed.pm
index 54feaf5b0f98a52d5d25acc2eafc806cd9b11d1b..8cc8b728887446aff0cb622352563ef1eb66ad7a 100644 (file)
@@ -39,7 +39,7 @@ sub generate {
                link => {
                        rel => 'self',
                        href => $feed_opts->{atomurl} ||
-                               "http://example.com/atom",
+                               "http://example.com/atom.xml",
                },
                id => $feed_opts->{address} || 'public-inbox@example.com',
                updated => POSIX::strftime(DATEFMT, gmtime),
@@ -182,6 +182,10 @@ sub each_recent_blob {
                                last;
                        }
                }
+       } elsif ($reverse) {
+               unshift @commits, undef
+       } else {
+               push @commits, undef;
        }
 
        close $log; # we may EPIPE here
@@ -196,9 +200,13 @@ sub get_feedopts {
        my $listname = $args->{listname};
        my $cgi = $args->{cgi};
        my %rv;
+       if (open my $fh, '<', "$args->{git_dir}/description") {
+               chomp($rv{description} = <$fh>);
+               close $fh;
+       }
 
        if ($pi_config && defined $listname && length $listname) {
-               foreach my $key (qw(description address)) {
+               foreach my $key (qw(address)) {
                        $rv{$key} = $pi_config->get($listname, $key) || "";
                }
        }
@@ -208,15 +216,15 @@ sub get_feedopts {
                my $base = $cgi->url(-base);
                $url_base = $cgi_url;
                if ($url_base =~ s!/(?:|index\.html)?\z!!) {
-                       $rv{atomurl} = "$base$url_base/index.atom.xml";
+                       $rv{atomurl} = "$base$url_base/atom.xml";
                } else {
-                       $url_base =~ s!/?(?:index|all)\.atom\.xml\z!!;
+                       $url_base =~ s!/atom\.xml\z!!;
                        $rv{atomurl} = $base . $cgi_url;
                        $url_base = $base . $url_base; # XXX is this needed?
                }
        } else {
                $url_base = "http://example.com";
-               $rv{atomurl} = "$url_base/index.atom.xml";
+               $rv{atomurl} = "$url_base/atom.xml";
        }
        $rv{url} ||= "$url_base/";
        $rv{midurl} = "$url_base/m/";
@@ -287,8 +295,8 @@ sub add_to_feed {
 
 sub dump_html_line {
        my ($self, $level, $args) = @_; # args => [ $html, $midurl ]
-       $args->[0] .= (' ' x $level);
        if ($self->message) {
+               $args->[0] .= (' ' x $level);
                my $simple = $self->message;
                my $subj = utf8_header($simple, "Subject");
                my $mid = utf8_header($simple, "Message-ID");
@@ -302,8 +310,6 @@ sub dump_html_line {
                $from = xs_html($from);
                $subj = xs_html($subj);
                $args->[0] .= "<a href=\"$url.html\">$subj</a> $from\n";
-       } else {
-               $args->[0] .= "[ Message not available ]\n";
        }
        dump_html_line($self->child, $level+1, $args) if $self->child;
        dump_html_line($self->next, $level, $args) if $self->next;