my $page=$params{page};
my $content=$params{content};
- return unless UNIVERSAL::can("IkiWiki::Plugin::link", "import");
-
if (istranslation($page)) {
foreach my $destpage (@{$links{$page}}) {
if (istranslatable($destpage)) {
$template->param(otherlanguages => [otherlanguagesloop($page)]);
map add_depends($page, $_), (values %{otherlanguages($page)});
}
- # Rely on IkiWiki::Render's genpage() to decide wether
- # a discussion link should appear on $page; this is not
- # totally accurate, though: some broken links may be generated
- # when cgiurl is disabled.
- # This compromise avoids some code duplication, and will probably
- # prevent future breakage when ikiwiki internals change.
- # Known limitations are preferred to future random bugs.
- if ($template->param('discussionlink') && istranslation($page)) {
- $template->param('discussionlink' => htmllink(
- $page,
- $destpage,
- $masterpage . '/' . gettext("Discussion"),
- noimageinline => 1,
- forcesubpage => 0,
- linktext => gettext("Discussion"),
+ if ($config{discussion} && istranslation($page)) {
+ my $discussionlink=gettext("discussion");
+ if ($page !~ /.*\/\Q$discussionlink\E$/i &&
+ (length $config{cgiurl} ||
+ exists $links{$masterpage."/".$discussionlink})) {
+ $template->param('discussionlink' => htmllink(
+ $page,
+ $destpage,
+ $masterpage . '/' . gettext("Discussion"),
+ noimageinline => 1,
+ forcesubpage => 0,
+ linktext => gettext("Discussion"),
));
+ }
}
# Remove broken parentlink to ./index.html on home page's translations.
# It works because this hook has the "last" parameter set, to ensure it
$doc->{TT}{file_in_charset} = 'utf-8';
$doc->{TT}{file_out_charset} = 'utf-8';
$doc->read($masterfile);
- # let's cheat a bit to force porefs option to be passed to Locale::Po4a::Po;
- # this is undocument use of internal Locale::Po4a::TransTractor's data,
- # compulsory since this module prevents us from using the porefs option.
+ # let's cheat a bit to force porefs option to be passed to
+ # Locale::Po4a::Po; this is undocument use of internal
+ # Locale::Po4a::TransTractor's data, compulsory since this module
+ # prevents us from using the porefs option.
$doc->{TT}{po_out}=Locale::Po4a::Po->new({ 'porefs' => 'none' });
$doc->{TT}{po_out}->set_charset('utf-8');
# do the actual work