X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ceffae8af1c797a715ad8bc375ee3f233703b03d..2b602e2e9f06c79e969ae2e2fea64052edd82e6b:/IkiWiki/Plugin/table.pm diff --git a/IkiWiki/Plugin/table.pm b/IkiWiki/Plugin/table.pm index ddc2f68be..1302646b1 100644 --- a/IkiWiki/Plugin/table.pm +++ b/IkiWiki/Plugin/table.pm @@ -7,9 +7,18 @@ use Encode; use IkiWiki 2.00; sub import { #{{{ + hook(type => "getsetup", id => "table", call => \&getsetup); hook(type => "preprocess", id => "table", call => \&preprocess); } # }}} +sub getsetup () { #{{{ + return + plugin => { + safe => 1, + rebuild => undef, + }, +} #}}} + sub preprocess (@) { #{{{ my %params =( format => 'auto', @@ -19,7 +28,7 @@ sub preprocess (@) { #{{{ if (exists $params{file}) { if (! $pagesources{$params{file}}) { - return "[[table ".gettext("cannot find file")."]]"; + error gettext("cannot find file"); } $params{data} = readfile(srcfile($params{file})); add_depends($params{page}, $params{file}); @@ -61,7 +70,7 @@ sub preprocess (@) { #{{{ defined $params{delimiter} ? $params{delimiter} : "|",); } else { - return "[[table ".gettext("unknown data format")."]]"; + error gettext("unknown data format"); } my $header; @@ -69,7 +78,7 @@ sub preprocess (@) { #{{{ $header=shift @data; } if (! @data) { - return "[[table ".gettext("empty data")."]]"; + error gettext("empty data"); } my @lines; @@ -174,17 +183,9 @@ sub genrow ($$$@) { #{{{ sub htmlize ($$$) { #{{{ my $page = shift; my $destpage = shift; - my $text = shift; - - $text=IkiWiki::htmlize($page, pagetype($pagesources{$page}), - IkiWiki::preprocess($page, $destpage, $text)); - - # hack to get rid of enclosing junk added by markdown - $text=~s!^

!!; - $text=~s!

$!!; - chomp $text; - return $text; + return IkiWiki::htmlize($page, $destpage, pagetype($pagesources{$page}), + IkiWiki::preprocess($page, $destpage, shift)); } 1