$_) } @{$obj->nntp_url};
+ # If you have public-inbox 1.1+ installed, you may
+ # initialize and index your mirror using the following commands:
+ public-inbox-init -V2 $ibx->{name} $dir/ $http \\
+ $addrs
+ public-inbox-index $dir
+EOF
+ } else { # v1
+ $urls .= "\n";
+ }
+
+ my $cfg_link = ($ctx->{-upfx} // '').'_/text/config/raw';
+ $urls .= qq(\nExample config snippet for mirrors\n);
+ my @nntp = map { qq($_) } @{$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";
@@ -97,28 +143,23 @@ sub _html_end {
if ($urls =~ m!\b[^:]+://\w+\.onion/!) {
$urls .= "\n note: .onion URLs require Tor: ";
$urls .= qq[$TOR_URL];
- if ($TOR2WEB_URL) {
- $urls .= "\n or Tor2web: ";
- $urls .= qq[$TOR2WEB_URL];
- }
}
- my $url = PublicInbox::Hval::prurl($ctx->{env}, $CODE_URL);
'
'.join("\n\n",
$desc,
$urls,
- 'Code for this site: '.
- qq(git clone $url $PROJECT)
+ code_footer($ctx->{env})
).'
';
}
+# callback for HTTP.pm (and any other PSGI servers)
sub getline {
my ($self) = @_;
my $nr = $self->{nr}++;
return _html_top($self) if $nr == 0;
- if (my $mid = $self->{cb}) { # middle
- $mid = $mid->($nr, $self->{ctx}) and return $mid;
+ if (my $middle = $self->{cb}) {
+ $middle = $middle->($nr, $self->{ctx}) and return $middle;
}
delete $self->{cb} ? _html_end($self) : undef;