MAX_PER_PAGE => 25, # this needs to be tunable
};
-use Encode qw/find_encoding/;
-my $enc_utf8 = find_encoding('UTF-8');
-
# main function
sub generate {
my ($ctx) = @_;
qq(<?xml version="1.0" encoding="us-ascii"?>\n) .
qq{<feed\nxmlns="http://www.w3.org/2005/Atom">} .
qq{$title} .
- qq(<link\nhref="$feed_opts->{url}"/>) .
+ qq(<link\nrel="alternate"\ntype="text/html") .
+ qq(\nhref="$feed_opts->{url}"/>) .
qq(<link\nrel="self"\nhref="$feed_opts->{atomurl}"/>) .
qq(<id>mailto:$feed_opts->{id_addr}</id>);
}
my $title = $feed_opts->{description} || '';
$title = PublicInbox::Hval->new_oneline($title)->as_html;
- my $atom_url = $feed_opts->{atomurl};
my ($footer, $param, $last);
my $state = { ctx => $ctx, seen => {}, anchor_idx => 0 };
my $srch = $ctx->{srch};
- my $top = "<b>$title</b> (<a\nhref=\"$atom_url\">Atom feed</a>)";
+ my $top = "<b>$title</b> (<a\nhref=\"new.atom\">Atom feed</a>)";
if ($srch) {
$top = qq{<form\naction=""><pre>$top} .
$fh->write("<html><head><title>$title</title>" .
"<link\nrel=alternate\ntitle=\"Atom feed\"\n".
- "href=\"$atom_url\"\ntype=\"application/atom+xml\"/>" .
+ "href=\"new.atom\"\ntype=\"application/atom+xml\"/>" .
PublicInbox::Hval::STYLE .
"</head><body>$top");
}
}
- close $log; # we may EPIPE here
# for pagination
($first_commit, $last_commit);
}
my %rv;
if (open my $fh, '<', "$ctx->{git_dir}/description") {
chomp($rv{description} = <$fh>);
- close $fh;
} else {
$rv{description} = '($GIT_DIR/description missing)';
}
my $url_base;
if ($cgi) {
- my $base;
- if (ref($cgi) eq 'CGI') {
- $base = $cgi->url(-base);
- } else {
- $base = $cgi->base->as_string;
- $base =~ s!/\z!!;
- }
- $url_base = "$base/$listname";
+ $url_base = $cgi->base->as_string . $listname;
if (my $mid = $ctx->{mid}) { # per-thread feed:
$rv{atomurl} = "$url_base/$mid/t.atom";
} else {
my $midurl = $feed_opts->{midurl};
my $header_obj = $mime->header_obj;
- my $mid = $header_obj->header('Message-ID');
+ my $mid = $header_obj->header_raw('Message-ID');
defined $mid or return 0;
$mid = PublicInbox::Hval->new_msgid($mid);
my $href = $mid->as_href;