X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/a59b1ac8d8eb220fd4f574af4a8a6742825aac6f..54e25f034cf953ed803c2a807bd4c259b32630cb:/IkiWiki/Plugin/haiku.pm diff --git a/IkiWiki/Plugin/haiku.pm b/IkiWiki/Plugin/haiku.pm index 0e93e9d8d..35208e56c 100644 --- a/IkiWiki/Plugin/haiku.pm +++ b/IkiWiki/Plugin/haiku.pm @@ -4,11 +4,10 @@ package IkiWiki::Plugin::haiku; use warnings; use strict; -use IkiWiki; +use IkiWiki 2.00; 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