diff options
author | Simon McVittie <smcv@ http://smcv.pseudorandom.co.uk/> | 2008-11-17 09:10:50 +0000 |
---|---|---|
committer | Simon McVittie <smcv@ http://smcv.pseudorandom.co.uk/> | 2008-12-11 21:14:02 +0000 |
commit | 442e4e7e120be14980a0431e98784dc0ad52eee6 (patch) | |
tree | 26cd66a356f06172b1f17b31bc46ca7bedf0d7b3 | |
parent | bb4eb07bdd97ce91a4d28539ebbd1c937241c7a4 (diff) |
smcvpostcomment: allow inlining to be disabled, and pass through atom etc. better
-rw-r--r-- | IkiWiki/Plugin/smcvpostcomment.pm | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/smcvpostcomment.pm b/IkiWiki/Plugin/smcvpostcomment.pm index 562dc9ed5..6bd3b2970 100644 --- a/IkiWiki/Plugin/smcvpostcomment.pm +++ b/IkiWiki/Plugin/smcvpostcomment.pm @@ -63,16 +63,28 @@ sub preprocess (@) { #{{{ debug("page $params{page} => destpage $params{destpage}"); - # I'm reasonably sure that this counts as abuse of [[!inline]] - return $formtemplate->output . "\n" . - IkiWiki::preprocess_inline( + my $posts = ''; + unless (defined $params{inline} && !IkiWiki::yesno($params{inline})) { + my @args = ( pages => "internal($params{page}/_comment_*)", template => PLUGIN . "_display", show => 0, reverse => "yes", + # special stuff passed through page => $params{page}, destpage => $params{destpage}, - preview => $params{preview}); + preview => $params{preview}, + ); + push @args, atom => $params{atom} if defined $params{atom}; + push @args, rss => $params{rss} if defined $params{rss}; + push @args, feeds => $params{feeds} if defined $params{feeds}; + push @args, feedshow => $params{feedshow} if defined $params{feedshow}; + push @args, timeformat => $params{timeformat} if defined $params{timeformat}; + push @args, feedonly => $params{feedonly} if defined $params{feedonly}; + $posts = "\n" . IkiWiki::preprocess_inline(@args); + } + + return $formtemplate->output . $posts; } # }}} # FIXME: logic taken from editpage, should be common code? |