replace discussion links on pages with comments link

The thinking here is that having both a Discussion page and comments for
the same page is redundant, and certianly not what you want if you enable
comments for a page. At first I considered making configurable via pagespec
what pages got discussion links. But that would mean testing a new pagespec
for every page, and a redundant config setting to keep in sync. So intead,
take a lead from my previous change to make inlined pages have a comments
link, and change the discussion link at the top of regular pages to link to
their comments.

(Implementation is a bit optimised to avoid redundant pagespec checking.)
master
Joey Hess 2008-12-19 13:55:41 -05:00
parent 2c06f5f275
commit f7fc062a12
2 changed files with 8 additions and 3 deletions

View File

@ -529,10 +529,11 @@ sub pagetemplate (@) {
my $page = $params{page};
my $template = $params{template};
my $shown = ($template->query(name => 'commentslink') ||
$template->query(name => 'comments')) &&
commentsshown($page);
if ($template->query(name => 'comments')) {
my $shown = commentsshown($page);
my $comments = undef;
if ($shown) {
$comments = IkiWiki::preprocess_inline(
@ -563,7 +564,7 @@ sub pagetemplate (@) {
# the link. But, to update the number, blog pages
# would have to update whenever comments of any inlines
# page are added, which is not currently done.
if (commentsshown($page)) {
if ($shown) {
$template->param(commentslink =>
htmllink($page, $params{destpage}, $page,
linktext => gettext("Comments"),

View File

@ -49,9 +49,13 @@
<TMPL_IF NAME="PREFSURL">
<li><a href="<TMPL_VAR PREFSURL>">Preferences</a></li>
</TMPL_IF>
<TMPL_IF NAME="COMMENTSLINK">
<li><TMPL_VAR COMMENTSLINK><br /></li>
<TMPL_ELSE>
<TMPL_IF NAME="DISCUSSIONLINK">
<li><TMPL_VAR DISCUSSIONLINK><br /></li>
</TMPL_IF>
</TMPL_IF>
</ul>
</div>
</TMPL_IF>