X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/a59b1ac8d8eb220fd4f574af4a8a6742825aac6f..d4c61b72813b880d86b316770f2e3819a6428202:/IkiWiki/Plugin/haiku.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/haiku.pm b/IkiWiki/Plugin/haiku.pm index 0e93e9d8d..fe8a782fa 100644 --- a/IkiWiki/Plugin/haiku.pm +++ b/IkiWiki/Plugin/haiku.pm @@ -7,8 +7,7 @@ use strict; use IkiWiki; sub import { #{{{ - IkiWiki::hook(type => "preprocess", id => "haiku", - call => \&preprocess); + hook(type => "preprocess", id => "haiku", call => \&preprocess); } # }}} sub preprocess (@) { #{{{ @@ -16,7 +15,7 @@ sub preprocess (@) { #{{{ my $haiku; eval q{use Coy}; - if ($@) { + if ($@ || ! Coy->can("Coy::with_haiku")) { my @canned=( "The lack of a Coy: No darting, subtle haiku. @@ -35,11 +34,8 @@ sub preprocess (@) { #{{{ $haiku=$canned[rand @canned]; } else { - # Coy is rather strange, so the best way to get a haiku - # out of it is to die.. - eval {die exists $params{hint} ? $params{hint} : $params{page}}; - $haiku=$@; - + $haiku=Coy::with_haiku($params{hint} ? $params{hint} : $params{page}); + # trim off other text $haiku=~s/\s+-----\n//s; $haiku=~s/\s+-----.*//s; @@ -48,7 +44,7 @@ sub preprocess (@) { #{{{ $haiku=~s/^\s+//mg; $haiku=~s/\n/
\n/mg; - return $haiku + return "\n\n
$haiku
\n\n"; } # }}} 1