X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/0e224e9f9cb5cca91dc9d9210917ec74510564af..0de3074c7f0dbe780919a53a057ee53b31d5e233:/IkiWiki/Plugin/otl.pm diff --git a/IkiWiki/Plugin/otl.pm b/IkiWiki/Plugin/otl.pm index b10d5e807..3801a6ec2 100644 --- a/IkiWiki/Plugin/otl.pm +++ b/IkiWiki/Plugin/otl.pm @@ -4,30 +4,33 @@ package IkiWiki::Plugin::otl; use warnings; use strict; -use IkiWiki; +use IkiWiki 3.00; +use open qw{:utf8 :std}; -sub import { #{{{ - IkiWiki::hook(type => "filter", id => "otl", call => \&filter); - IkiWiki::hook(type => "htmlize", id => "otl", call => \&htmlize); +sub import { + hook(type => "getsetup", id => "otl", call => \&getsetup); + hook(type => "htmlize", id => "otl", call => \&htmlize); +} -} # }}} +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => 1, # format plugin + section => "format", + }, +} -sub filter (@) { #{{{ +sub htmlize (@) { my %params=@_; - - # Munge up check boxes to look a little bit better. This is a hack. - my $checked=IkiWiki::htmllink($params{page}, $params{page}, - "smileys/star_on.png", 0, 0, "[X]"); - my $unchecked=IkiWiki::htmllink($params{page}, $params{page}, - "smileys/star_off.png", 0, 0, "[_]"); + + # Munge up check boxes to look a little bit better. + my $checked=htmllink($params{page}, $params{page}, + "smileys/star_on.png", linktext => "[X]"); + my $unchecked=htmllink($params{page}, $params{page}, + "smileys/star_off.png", linktext => "[_]"); $params{content}=~s/^(\s*)\[X\]\s/${1}$checked /mg; $params{content}=~s/^(\s*)\[_\]\s/${1}$unchecked /mg; - - return $params{content}; -} # }}} - -sub htmlize (@) { #{{{ - my %params=@_; # Can't use open2 since otl2html doesn't play nice with buffering. # Instead, fork off a child process that will run otl2html and feed @@ -40,7 +43,7 @@ sub htmlize (@) { #{{{ unless (defined $pid) { $tries--; if ($tries < 1) { - IkiWiki::debug("failed to fork: $@"); + debug("failed to fork: $@"); return $params{content}; } } @@ -55,7 +58,7 @@ sub htmlize (@) { #{{{ unless (defined $pid) { $tries--; if ($tries < 1) { - IkiWiki::debug("failed to fork: $@"); + debug("failed to fork: $@"); print $params{content}; exit; } @@ -64,7 +67,7 @@ sub htmlize (@) { #{{{ if (! $pid) { if (! exec 'otl2html', '-S', '/dev/null', '-T', '/dev/stdin') { - IkiWiki::debug("failed to run otl2html: $@"); + debug("failed to run otl2html: $@"); print $params{content}; exit; } @@ -85,6 +88,6 @@ sub htmlize (@) { #{{{ $ret=~s/.*//s; $ret=~s/