use warnings;
use PublicInbox::Hval qw(ascii_html);
our $TOR_URL = 'https://www.torproject.org/';
-our $CODE_URL = 'https://public-inbox.org/';
-our $PROJECT = 'public-inbox';
+our $CODE_URL = 'https://public-inbox.org/public-inbox.git';
# noop for HTTP.pm (and any other PSGI servers)
sub close {}
sub new {
my ($class, $ctx, $cb) = @_;
- bless { nr => 0, cb => $cb || *close, ctx => $ctx }, $class;
+
+ my $base_url = $ctx->{-inbox}->base_url($ctx->{env});
+ chop $base_url; # no trailing slash for clone
+ bless {
+ nr => 0,
+ cb => $cb || *close,
+ ctx => $ctx,
+ base_url => $base_url,
+ }, $class;
}
sub response {
sub code_footer ($) {
my ($env) = @_;
my $u = PublicInbox::Hval::prurl($env, $CODE_URL);
- qq(AGPL code for this site: git clone <a\nhref="$u">$u</a> $PROJECT)
+ qq(AGPL code for this site: git clone <a\nhref="$u">$u</a>)
}
sub _html_end {
my $desc = ascii_html($ibx->description);
my (%seen, @urls);
- my $http = $ibx->base_url($ctx->{env});
- chop $http; # no trailing slash for clone
+ my $http = $self->{base_url};
my $max = $ibx->max_git_epoch;
my $dir = (split(m!/!, $http))[-1];
if (defined($max)) { # v2
$seen{$http} = 1;
for my $i (0..$max) {
# old parts my be deleted:
- -d "$ibx->{mainrepo}/git/$i.git" or next;
+ -d "$ibx->{inboxdir}/git/$i.git" or next;
my $url = "$http/$i";
$seen{$url} = 1;
push @urls, "$url $dir/git/$i.git";
$addrs
public-inbox-index $dir
EOF
+ } else { # v1
+ $urls .= "\n";
}
+
+ my $cfg_link = ($ctx->{-upfx} // '').'_/text/config/raw';
+ $urls .= qq(\nExample <a\nhref="$cfg_link">config snippet</a> for mirrors\n);
my @nntp = map { qq(<a\nhref="$_">$_</a>) } @{$ibx->nntp_url};
if (@nntp) {
- $urls .= "\n\n";
+ $urls .= "\n";
$urls .= @nntp == 1 ? 'Newsgroup' : 'Newsgroups are';
$urls .= ' available over NNTP:';
$urls .= "\n\t" . join("\n\t", @nntp) . "\n";