X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/8e92468eae9ac0ab8161a0c71ff6c6a0a8aef07a..575af4266797ed0be671630b62c5324d79c863ff:/IkiWiki/Plugin/table.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/table.pm b/IkiWiki/Plugin/table.pm
index 96d63f455..7fea8ab1c 100644
--- a/IkiWiki/Plugin/table.pm
+++ b/IkiWiki/Plugin/table.pm
@@ -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'),