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',
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});
defined $params{delimiter} ? $params{delimiter} : "|",);
}
else {
- return "[[table ".gettext("unknown data format")."]]";
+ error gettext("unknown data format");
}
my $header;
$header=shift @data;
}
if (! @data) {
- return "[[table ".gettext("empty data")."]]";
+ error gettext("empty data");
}
my @lines;
my $page = shift;
my $destpage = shift;
- return IkiWiki::htmlize($page, pagetype($pagesources{$page}),
+ return IkiWiki::htmlize($page, $destpage, pagetype($pagesources{$page}),
IkiWiki::preprocess($page, $destpage, shift));
}