X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/bb4eb07bdd97ce91a4d28539ebbd1c937241c7a4..f49603bf8638ab539151114445e0b132fb518941:/IkiWiki/Plugin/smcvpostcomment.pm?ds=inline diff --git a/IkiWiki/Plugin/smcvpostcomment.pm b/IkiWiki/Plugin/smcvpostcomment.pm index 562dc9ed5..40ffe8164 100644 --- a/IkiWiki/Plugin/smcvpostcomment.pm +++ b/IkiWiki/Plugin/smcvpostcomment.pm @@ -8,9 +8,6 @@ package IkiWiki::Plugin::smcvpostcomment; use warnings; use strict; use IkiWiki 2.00; -use IkiWiki::Plugin::inline; -use IkiWiki::Plugin::mdwn; -use CGI 'escapeHTML'; use constant PLUGIN => "smcvpostcomment"; use constant PREVIEW => "Preview"; @@ -24,6 +21,13 @@ sub import { #{{{ hook(type => "htmlize", id => "_".PLUGIN, call => \&IkiWiki::Plugin::mdwn::htmlize); IkiWiki::loadplugin("inline"); + IkiWiki::loadplugin("mdwn"); +} # }}} + +sub htmlize { # {{{ + eval { use IkiWiki::Plugin::mdwn; }; + error($@) if ($@); + return IkiWiki::Plugin::mdwn::htmlize(@_) } # }}} sub getsetup () { #{{{ @@ -63,16 +67,30 @@ 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})) { + eval { use IkiWiki::Plugin::inline; }; + error($@) if ($@); + 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?