X-Git-Url: https://scripts.mit.edu/gitweb/www/ikiwiki.git/blobdiff_plain/0e224e9f9cb5cca91dc9d9210917ec74510564af..c89d331d36c0b70d084b93f0bf2e03e6c7ee44d9:/IkiWiki/Plugin/otl.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/otl.pm b/IkiWiki/Plugin/otl.pm index b10d5e807..c68fcbbe3 100644 --- a/IkiWiki/Plugin/otl.pm +++ b/IkiWiki/Plugin/otl.pm @@ -4,29 +4,39 @@ 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 => "filter", id => "otl", call => \&filter); + hook(type => "htmlize", id => "otl", call => \&htmlize); -} # }}} +} -sub filter (@) { #{{{ +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => 1, # format plugin + }, +} + +sub filter (@) { 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, "[_]"); + 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 (@) { #{{{ +sub htmlize (@) { my %params=@_; # Can't use open2 since otl2html doesn't play nice with buffering. @@ -40,7 +50,7 @@ sub htmlize (@) { #{{{ unless (defined $pid) { $tries--; if ($tries < 1) { - IkiWiki::debug("failed to fork: $@"); + debug("failed to fork: $@"); return $params{content}; } } @@ -55,7 +65,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 +74,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 +95,6 @@ sub htmlize (@) { #{{{ $ret=~s/
.*//s; $ret=~s/