]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/table.pm
Added a comment: Solution
[git.ikiwiki.info.git] / IkiWiki / Plugin / table.pm
index 96d63f455f886e9111f0e7bd26558b020c1de61b..7fea8ab1c2112d98e9d2d6c309b0a69ea3aac31c 100644 (file)
@@ -16,6 +16,7 @@ sub getsetup () {
                plugin => {
                        safe => 1,
                        rebuild => undef,
+                       section => "widget",
                },
 }
 
@@ -39,6 +40,9 @@ sub preprocess (@) {
                # scan that file too.
                return unless exists $params{file};
 
+               # Preprocess in scan-only mode.
+               IkiWiki::preprocess($params{page}, $params{page}, $params{data}, 1);
+
                IkiWiki::run_hooks(scan => sub {
                        shift->(
                                page => $params{page},
@@ -46,9 +50,6 @@ sub preprocess (@) {
                        );
                });
 
-               # Preprocess in scan-only mode.
-               IkiWiki::preprocess($params{page}, $params{page}, $params{data}, 1);
-
                return;
        }
 
@@ -134,6 +135,7 @@ sub split_csv ($$) {
        my $csv = Text::CSV->new({ 
                sep_char        => $delimiter,
                binary          => 1,
+               decode_utf8 => 1,
                allow_loose_quotes => 1,
        }) || error("could not create a Text::CSV object");
        
@@ -142,7 +144,7 @@ sub split_csv ($$) {
        foreach my $line (@text_lines) {
                $l++;
                if ($csv->parse($line)) {
-                       push(@data, [ map { decode_utf8 $_ } $csv->fields() ]);
+                       push(@data, [ $csv->fields() ]);
                }
                else {
                        debug(sprintf(gettext('parse fail at line %d: %s'),