diff options
-rw-r--r-- | IkiWiki/Plugin/comments.pm | 36 | ||||
-rw-r--r-- | debian/changelog | 8 |
2 files changed, 33 insertions, 11 deletions
diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index 5bcf4a981..8f8472f07 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -736,9 +736,7 @@ sub pagetemplate (@) { } if ($shown && commentsopen($page)) { - my $addcommenturl = IkiWiki::cgiurl(do => 'comment', - page => $page); - $template->param(addcommenturl => $addcommenturl); + $template->param(addcommenturl => addcommenturl($page)); } } @@ -755,16 +753,26 @@ sub pagetemplate (@) { urlto($page, undef, 1).'comments.atom'); } - # XXX Would be nice to say how many comments there are in - # 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 ($template->query(name => 'commentslink')) { - $template->param(commentslink => - htmllink($page, $params{destpage}, $page, - linktext => gettext("Comments"), + my $num=num_comments($page, $config{srcdir}); + my $link; + if ($num > 0) { + $link = htmllink($page, $params{destpage}, $page, + linktext => sprintf(ngettext("%i comment", "%i comments", $num), $num), anchor => "comments", - noimageinline => 1)); + noimageinline => 1 + ); + } + elsif (commentsopen($page)) { + $link = "<a href=\"".addcommenturl($page)."\">". + #translators: Here "Comment" is a verb; + #translators: the user clicks on it to + #translators: post a comment. + gettext("Comment"). + "</a>"; + } + $template->param(commentslink => $link) + if defined $link; } } @@ -812,6 +820,12 @@ sub pagetemplate (@) { } } +sub addcommenturl ($) { + my $page=shift; + + return IkiWiki::cgiurl(do => 'comment', page => $page); +} + sub num_comments ($$) { my $page=shift; my $dir=shift; diff --git a/debian/changelog b/debian/changelog index c91feae0d..e3ec89eed 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +ikiwiki (3.20100213) UNRELEASED; urgency=low + + * comments: Display number of comments in comment action link. + * Rebuild wikis on upgrade to this version to get the comment counts + added to existing pages. + + -- Joey Hess <joeyh@debian.org> Sun, 14 Feb 2010 17:02:10 -0500 + ikiwiki (3.20100212) unstable; urgency=low * template: Preprocess parameters before htmlizing. |