summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Plugin/table.pm200
-rw-r--r--debian/changelog3
-rw-r--r--doc/plugins/contrib/table.mdwn61
-rw-r--r--doc/plugins/table.mdwn35
-rw-r--r--doc/plugins/table/discussion.mdwn (renamed from doc/plugins/contrib/table/discussion.mdwn)0
-rw-r--r--po/bg.po25
-rw-r--r--po/cs.po25
-rw-r--r--po/es.po25
-rw-r--r--po/fr.po25
-rw-r--r--po/gu.po25
-rw-r--r--po/ikiwiki.pot13
-rw-r--r--po/pl.po25
-rw-r--r--po/sv.po25
-rw-r--r--po/vi.po25
14 files changed, 384 insertions, 128 deletions
diff --git a/IkiWiki/Plugin/table.pm b/IkiWiki/Plugin/table.pm
new file mode 100644
index 000000000..e4d987dd3
--- /dev/null
+++ b/IkiWiki/Plugin/table.pm
@@ -0,0 +1,200 @@
+package IkiWiki::Plugin::table;
+# by Victor Moral <victor@taquiones.net>
+
+use warnings;
+use strict;
+
+use IkiWiki;
+use IkiWiki::Plugin::mdwn;
+
+my %defaults = (
+ data => undef,
+ file => undef,
+ format => 'auto',
+ sep_char => {
+ 'csv' => ',',
+ 'dsv' => '\|',
+ },
+ class => undef,
+ header => 1,
+);
+
+sub import { #{{{
+ hook(type => "preprocess", id => "table", call => \&preprocess);
+} # }}}
+
+sub preprocess (@) { #{{{
+ my %params = (%defaults, @_);
+
+ if (defined $params{delimiter}) {
+ $params{sep_char}->{$params{format}} = $params{delimiter};
+ }
+ if (defined $params{file}) {
+ if (! $pagesources{$params{file}}) {
+ return "[[table cannot find file]]";
+ }
+ $params{data} = readfile(srcfile($params{file}));
+ }
+
+ if (lc $params{format} eq 'auto') {
+ # first try the more simple format
+ if (is_dsv_data($params{data})) {
+ $params{format} = 'dsv';
+ $params{sep_char}->{dsv} = '\|';
+ }
+ else {
+ $params{format} = 'csv';
+ $params{sep_char}->{csv} = ',';
+ }
+ }
+
+ my @data;
+ if (lc $params{format} eq 'csv') {
+ @data=read_csv(\%params);
+ }
+ elsif (lc $params{format} eq 'dsv') {
+ @data=read_dsv(\%params);
+ }
+ else {
+ return "[[table unknown data format]]";
+ }
+
+ my $header;
+ if ($params{header} != 1) {
+ $header=shift @data;
+ }
+ if (! @data) {
+ return "[[table has empty data]]";
+ }
+
+ my $html = tidy_up(open_table(\%params, $header),
+ build_rows(\%params, @data),
+ close_table(\%params, $header));
+
+ if (defined $params{file}) {
+ return $html."\n\n".
+ htmllink($params{page}, $params{destpage}, $params{file},
+ linktext => gettext('Direct data download'));
+ }
+ else {
+ return $html;
+ }
+} #}}}
+
+sub tidy_up (@) { #{{{
+ my $html="";
+
+ foreach my $text (@_) {
+ my $indentation = $text =~ m{thead>|tbody>} ? 0 :
+ $text =~ m{tr>} ? 4 :
+ $text =~ m{td>|th>} ? 8 :
+ 0;
+ $html .= (' ' x $indentation)."$text\n";
+ }
+
+ return $html;
+} #}}}
+
+sub is_dsv_data ($) { #{{{
+ my $text = shift;
+
+ my ($line) = split(/\n/, $text);
+ return $line =~ m{.+\|};
+}
+
+sub read_csv ($) { #{{{
+ my $params=shift;
+ my @text_lines = split(/\n/, $params->{data});
+
+ eval q{use Text::CSV};
+ error($@) if $@;
+ my $csv = Text::CSV->new({
+ sep_char => $params->{sep_char}->{csv},
+ binary => 1,
+ }) || error("could not create a Text::CSV object");
+
+ my $l=0;
+ my @data;
+ foreach my $line (@text_lines) {
+ $l++;
+ if ($csv->parse($line)) {
+ push(@data, [ $csv->fields() ]);
+ }
+ else {
+ debug(sprintf(gettext('parse fail at line %d: %s'),
+ $l, $csv->error_input()));
+ }
+ }
+
+ return @data;
+} #}}}
+
+sub read_dsv ($) { #{{{
+ my $params = shift;
+ my @text_lines = split(/\n/, $params->{data});
+
+ my @data;
+ my $splitter = qr{$params->{sep_char}->{dsv}};
+ foreach my $line (@text_lines) {
+ push @data, [ split($splitter, $line) ];
+ }
+
+ return @data;
+} #}}}
+
+sub open_table ($$) { #{{{
+ my $params = shift;
+ my $header = shift;
+
+ my @items;
+ push @items, defined $params->{class}
+ ? "<table class=\"".$params->{class}.'">'
+ : '<table>';
+ push @items, '<thead>','<tr>',
+ (map { "<th>".htmlize($params, $_)."</th>" } @$header),
+ '</tr>','</thead>' if defined $header;
+ push @items, '<tbody>';
+
+ return @items;
+}
+
+sub build_rows ($@) { #{{{
+ my $params = shift;
+
+ my @items;
+ foreach my $record (@_) {
+ push @items, '<tr>',
+ (map { "<td>".htmlize($params, $_)."</td>" } @$record),
+ '</tr>';
+ }
+ return @items;
+} #}}}
+
+sub close_table ($$) { #{{{
+ my $params = shift;
+ my $header = shift;
+
+ my @items;
+ push @items, '</tbody>' if defined $header;
+ push @items, '</table>';
+ return @items;
+} #}}}
+
+sub htmlize { #{{{
+ my $params = shift;
+ my $text = shift;
+
+ $text=IkiWiki::preprocess($params->{page},
+ $params->{destpage}, $text);
+ $text=IkiWiki::htmlize($params->{page},
+ pagetype($pagesources{$params->{page}}), $text);
+
+ # hack to get rid of enclosing junk added by markdown
+ $text=~s!^<p>!!;
+ $text=~s!</p>$!!;
+ chomp $text;
+
+ return $text;
+}
+
+1
diff --git a/debian/changelog b/debian/changelog
index 4243e527c..6a9972952 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -17,8 +17,9 @@ ikiwiki (1.45) UNRELEASED; urgency=low
since it ended up being double-escaped. Instead, just remove slashes.
* Fix some nasty issues with page name escaping during previewing
(introduced in 1.44).
+ * Add a table plugin, derived from the one written by Victor Moral.
- -- Joey Hess <joeyh@debian.org> Wed, 7 Mar 2007 04:47:40 -0500
+ -- Joey Hess <joeyh@debian.org> Wed, 7 Mar 2007 06:26:51 -0500
ikiwiki (1.44) unstable; urgency=low
diff --git a/doc/plugins/contrib/table.mdwn b/doc/plugins/contrib/table.mdwn
deleted file mode 100644
index 46f7b09a7..000000000
--- a/doc/plugins/contrib/table.mdwn
+++ /dev/null
@@ -1,61 +0,0 @@
-[[template id=plugin name=table author="[[VictorMoral]]"]]
-[[tag type/format]]
-
-This plugin supplies a `table` [[PreprocessorDirective]] to build html tables from data in CSV (comma-separated values) or DSV (delimiter-separated values) format.
-
-It needs the perl module [[cpan Text::CSV]] for the CSV data.
-
-## Usage
-
-In any source page include the following:
-
- The next table shows the results:
-
- \[[table class="myclass" format=dsv data="""
- Custom|Amount|
- Fulanito|134,34|
- Menganito|234,56|
- """]]
-
- This is my last acquisition:
-
- [[table class="book_record" format=csv file="data/books/record1"]]
-
- And the record1 page should be similar to:
-
- "Title","Perl Best Practices"
- "Author","Damian Conway"
- "Publisher","O’Reilly"
-
-The parameters are:
-
-- _data_: Values for the table
-- _file_: Wiki page containing the data.
-- _format_ (optional): format name of the data. By default is `auto` and the options are `csv` or `dsv`.
-- _delimiter_ (optional): The character used to separate fields. By default, DSV format uses a pipe (`|`), and CSV uses a comma (`,`).
-- _class_ (optional): CSS class for the table html element
-- _caption_ (optional): Text string for the table caption.
-- _no\_header_: This switch disables the generation of table header (`<th>`) elements. By default, the `table` directive uses the first data line as column headers.
-
-The _data_ and _file_ parameters are mutually exclusive.
-
-Note: the automatic format detection mechanism is still very rudimentary.
-
-## Changelog
-
-### version 0.5
-
-* Remove a call to an inexistent [[cpan Text::CSV]] method.
-* Added the sep_char parameter.
-* Parse CSV data in binary mode.
-* Added a format detection mechanism.
-* Default format now is 'auto'.
-
-## Links
-
-- Information about the formats in Wikipedia:
- - [[wikipedia CSV]]
- - [[wikipedia DSV]]
-
-- Download the tar file from <http://taquiones.net/files/misc/>
-- Debian package in <http://taquiones.net/files/debian/>
diff --git a/doc/plugins/table.mdwn b/doc/plugins/table.mdwn
new file mode 100644
index 000000000..88b509004
--- /dev/null
+++ b/doc/plugins/table.mdwn
@@ -0,0 +1,35 @@
+[[template id=plugin name=table author="[[VictorMoral]]"]]
+[[tag type/format]]
+
+This plugin can build html tables from data in CSV (comma-separated values)
+or DSV (delimiter-separated values) format.
+
+It needs the perl module [[cpan Text::CSV]] for the CSV data.
+
+## examples
+
+ \[[table data="""
+ Customer|Amount|
+ Fulanito|134,34|
+ Menganito|234,56|
+ """]]
+
+ \[[table class="book_record" format=csv file="data/books/record1"]]
+
+In this second example the `record1` page should be similar to:
+
+ "Title","Perl Best Practices"
+ "Author","Damian Conway"
+ "Publisher","O’Reilly"
+
+## usage
+
+* `data` - Values for the table.
+* `file` - A file in the wiki containing the data.
+* `format` - The format of the data, either "csv", "dsv", or "auto"
+ (the default).
+* `delimiter` - The character used to separate fields. By default,
+ DSV format uses a pipe (`|`), and CSV uses a comma (`,`).
+* `class` - A CSS class for the table html element.
+* `header` - Set to 0 to make a table without a header. By default,
+ the first data line is used as the table header.
diff --git a/doc/plugins/contrib/table/discussion.mdwn b/doc/plugins/table/discussion.mdwn
index f0ebb6d94..f0ebb6d94 100644
--- a/doc/plugins/contrib/table/discussion.mdwn
+++ b/doc/plugins/table/discussion.mdwn
diff --git a/po/bg.po b/po/bg.po
index 05603d833..7af9143c8 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki-bg\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 02:29-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: 2007-01-12 01:19+0200\n"
"Last-Translator: Damyan Ivanov <dam@modsodtsys.com>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -24,33 +24,33 @@ msgstr "Първо трябва да влезете."
msgid "Preferences saved."
msgstr "Предпочитанията са запазени."
-#: ../IkiWiki/CGI.pm:340
+#: ../IkiWiki/CGI.pm:344
#, perl-format
msgid "%s is not an editable page"
msgstr ""
-#: ../IkiWiki/CGI.pm:427 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/CGI.pm:431 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:172 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
#: ../IkiWiki/Render.pm:165
msgid "discussion"
msgstr "дискусия"
-#: ../IkiWiki/CGI.pm:473
+#: ../IkiWiki/CGI.pm:477
#, perl-format
msgid "creating %s"
msgstr "създаване на %s"
-#: ../IkiWiki/CGI.pm:490 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:570
+#: ../IkiWiki/CGI.pm:494 ../IkiWiki/CGI.pm:530 ../IkiWiki/CGI.pm:574
#, perl-format
msgid "editing %s"
msgstr "промяна на %s"
-#: ../IkiWiki/CGI.pm:667
+#: ../IkiWiki/CGI.pm:671
msgid "You are banned."
msgstr "Достъпът ви е забранен."
-#: ../IkiWiki/CGI.pm:699
+#: ../IkiWiki/CGI.pm:702
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
@@ -348,6 +348,15 @@ msgstr "приставката „linkmap”: грешка при изпълне
msgid "sparkline failed to run php"
msgstr "приставката „linkmap”: грешка при изпълнение на „dot”"
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, fuzzy, perl-format
+msgid "parse fail at line %d: %s"
+msgstr "грешка при запис на файла „%s”: %s"
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr "липсващ параметър „id” на шаблона"
@@ -500,7 +509,7 @@ msgstr "Грешка"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:561
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "открита е циклична завидимост при %s на „%s” на дълбочина %i"
diff --git a/po/cs.po b/po/cs.po
index 3197174cf..628d08db6 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 02:29-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: 2007-02-17 12:07+0100\n"
"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -23,33 +23,33 @@ msgstr "Nejprve se musíte přihlásit."
msgid "Preferences saved."
msgstr "Nastavení uloženo."
-#: ../IkiWiki/CGI.pm:340
+#: ../IkiWiki/CGI.pm:344
#, perl-format
msgid "%s is not an editable page"
msgstr "%s není editovatelná stránka"
-#: ../IkiWiki/CGI.pm:427 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/CGI.pm:431 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:172 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
#: ../IkiWiki/Render.pm:165
msgid "discussion"
msgstr "diskuse"
-#: ../IkiWiki/CGI.pm:473
+#: ../IkiWiki/CGI.pm:477
#, perl-format
msgid "creating %s"
msgstr "vytvářím %s"
-#: ../IkiWiki/CGI.pm:490 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:570
+#: ../IkiWiki/CGI.pm:494 ../IkiWiki/CGI.pm:530 ../IkiWiki/CGI.pm:574
#, perl-format
msgid "editing %s"
msgstr "upravuji %s"
-#: ../IkiWiki/CGI.pm:667
+#: ../IkiWiki/CGI.pm:671
msgid "You are banned."
msgstr "Jste vyhoštěni."
-#: ../IkiWiki/CGI.pm:699
+#: ../IkiWiki/CGI.pm:702
msgid "login failed, perhaps you need to turn on cookies?"
msgstr "přihlášení selhalo; možná si musíte povolit cookies?"
@@ -344,6 +344,15 @@ msgstr "linkmapu se nepodařilo spustit dot"
msgid "sparkline failed to run php"
msgstr "linkmapu se nepodařilo spustit dot"
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, fuzzy, perl-format
+msgid "parse fail at line %d: %s"
+msgstr "nelze zapsat %s: %s"
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr "šabloně chybí parametr id"
@@ -493,7 +502,7 @@ msgstr "Chyba"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:561
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "Byla rozpoznána smyčka direktivy %s na %s v hloubce %i"
diff --git a/po/es.po b/po/es.po
index 73cd380db..8ed5062bc 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 02:29-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: 2007-02-12 10:31+0100\n"
"Last-Translator: Víctor Moral <victor@taquiones.net>\n"
"Language-Team: spanish <es@li.org>\n"
@@ -24,33 +24,33 @@ msgstr "Antes es necesario identificarse."
msgid "Preferences saved."
msgstr "Las preferencias se han guardado."
-#: ../IkiWiki/CGI.pm:340
+#: ../IkiWiki/CGI.pm:344
#, perl-format
msgid "%s is not an editable page"
msgstr "la página %s no es modificable"
-#: ../IkiWiki/CGI.pm:427 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/CGI.pm:431 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:172 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
#: ../IkiWiki/Render.pm:165
msgid "discussion"
msgstr "comentarios"
-#: ../IkiWiki/CGI.pm:473
+#: ../IkiWiki/CGI.pm:477
#, perl-format
msgid "creating %s"
msgstr "creando página %s"
-#: ../IkiWiki/CGI.pm:490 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:570
+#: ../IkiWiki/CGI.pm:494 ../IkiWiki/CGI.pm:530 ../IkiWiki/CGI.pm:574
#, perl-format
msgid "editing %s"
msgstr "modificando página %s"
-#: ../IkiWiki/CGI.pm:667
+#: ../IkiWiki/CGI.pm:671
msgid "You are banned."
msgstr "Ha sido expulsado."
-#: ../IkiWiki/CGI.pm:699
+#: ../IkiWiki/CGI.pm:702
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
"registro fallido, ¿ tal vez es necesario activar las cookies en el "
@@ -350,6 +350,15 @@ msgstr "El complemento linkmap no ha podido ejecutar el programa dot"
msgid "sparkline failed to run php"
msgstr "El complemento linkmap no ha podido ejecutar el programa dot"
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, fuzzy, perl-format
+msgid "parse fail at line %d: %s"
+msgstr "no puedo escribir en %s: %s"
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr "A el complemento template le falta el parámetro id"
@@ -505,7 +514,7 @@ msgstr "Error"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:561
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 2a61182ab..b5dd56a87 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 02:29-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: 2007-02-13 13:02+0100\n"
"Last-Translator: Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -25,33 +25,33 @@ msgstr "Vous devez d'abord vous identifier."
msgid "Preferences saved."
msgstr "Les préférences ont été enregistrées."
-#: ../IkiWiki/CGI.pm:340
+#: ../IkiWiki/CGI.pm:344
#, perl-format
msgid "%s is not an editable page"
msgstr "%s n'est pas une page éditable"
-#: ../IkiWiki/CGI.pm:427 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/CGI.pm:431 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:172 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
#: ../IkiWiki/Render.pm:165
msgid "discussion"
msgstr "Discussion"
-#: ../IkiWiki/CGI.pm:473
+#: ../IkiWiki/CGI.pm:477
#, perl-format
msgid "creating %s"
msgstr "Création de %s"
-#: ../IkiWiki/CGI.pm:490 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:570
+#: ../IkiWiki/CGI.pm:494 ../IkiWiki/CGI.pm:530 ../IkiWiki/CGI.pm:574
#, perl-format
msgid "editing %s"
msgstr "Édition de %s"
-#: ../IkiWiki/CGI.pm:667
+#: ../IkiWiki/CGI.pm:671
msgid "You are banned."
msgstr "Vous avez été banni."
-#: ../IkiWiki/CGI.pm:699
+#: ../IkiWiki/CGI.pm:702
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
"Échec de l'identification, vous devriez peut-être autoriser les cookies."
@@ -349,6 +349,15 @@ msgstr "Échec de lancement de dot par linkmap"
msgid "sparkline failed to run php"
msgstr "Échec de lancement de dot par linkmap"
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, fuzzy, perl-format
+msgid "parse fail at line %d: %s"
+msgstr "Échec de l'écriture de %s : %s"
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr "Paramètre d'identification manquant dans le modèle"
@@ -503,7 +512,7 @@ msgstr "Erreur"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:561
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr ""
diff --git a/po/gu.po b/po/gu.po
index 53914d1b1..bf5506ff6 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki-gu\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 02:29-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: 2007-01-11 16:05+0530\n"
"Last-Translator: Kartik Mistry <kartik.mistry@gmail.com>\n"
"Language-Team: Gujarati <team@utkarsh.org>\n"
@@ -23,33 +23,33 @@ msgstr "તમારે પ્રથમ લોગ ઇન થવું પડશ
msgid "Preferences saved."
msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
-#: ../IkiWiki/CGI.pm:340
+#: ../IkiWiki/CGI.pm:344
#, perl-format
msgid "%s is not an editable page"
msgstr ""
-#: ../IkiWiki/CGI.pm:427 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/CGI.pm:431 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:172 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
#: ../IkiWiki/Render.pm:165
msgid "discussion"
msgstr "ચર્ચા"
-#: ../IkiWiki/CGI.pm:473
+#: ../IkiWiki/CGI.pm:477
#, perl-format
msgid "creating %s"
msgstr "%s બનાવે છે"
-#: ../IkiWiki/CGI.pm:490 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:570
+#: ../IkiWiki/CGI.pm:494 ../IkiWiki/CGI.pm:530 ../IkiWiki/CGI.pm:574
#, perl-format
msgid "editing %s"
msgstr "%s સુધારે છે"
-#: ../IkiWiki/CGI.pm:667
+#: ../IkiWiki/CGI.pm:671
msgid "You are banned."
msgstr "તમારા પર પ્રતિબંધ છે."
-#: ../IkiWiki/CGI.pm:699
+#: ../IkiWiki/CGI.pm:702
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
@@ -342,6 +342,15 @@ msgstr "લીંકમેપ ડોટ ચલાવવામાં નિષ્
msgid "sparkline failed to run php"
msgstr "લીંકમેપ ડોટ ચલાવવામાં નિષ્ફળ"
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, fuzzy, perl-format
+msgid "parse fail at line %d: %s"
+msgstr "%s લખવામાં નિષ્ફળ: %s"
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr "ટેમ્પલેટને આઇડી વિકલ્પ મળતો નથી"
@@ -490,7 +499,7 @@ msgstr "ક્ષતિ"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:561
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "%s પર શોધાયેલ લુપ %s પર ચલાવે છે %i ઉંડાણ પર"
diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot
index 4e70f520c..20b82da67 100644
--- a/po/ikiwiki.pot
+++ b/po/ikiwiki.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 04:47-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -338,6 +338,15 @@ msgstr ""
msgid "sparkline failed to run php"
msgstr ""
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, perl-format
+msgid "parse fail at line %d: %s"
+msgstr ""
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr ""
@@ -486,7 +495,7 @@ msgstr ""
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:569
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index ffbb4b586..f6ea6343c 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki 1.37\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 02:29-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: 2007-01-05 16:33+100\n"
"Last-Translator: Paweł Tęcza <ptecza@net.icm.edu.pl>\n"
"Language-Team: Debian L10n Polish <debian-l10n-polish@lists.debian.org>\n"
@@ -24,33 +24,33 @@ msgstr "Konieczne jest zalogowanie się."
msgid "Preferences saved."
msgstr "Ustawienia zostały zapisane."
-#: ../IkiWiki/CGI.pm:340
+#: ../IkiWiki/CGI.pm:344
#, perl-format
msgid "%s is not an editable page"
msgstr ""
-#: ../IkiWiki/CGI.pm:427 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/CGI.pm:431 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:172 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
#: ../IkiWiki/Render.pm:165
msgid "discussion"
msgstr "dyskusja"
-#: ../IkiWiki/CGI.pm:473
+#: ../IkiWiki/CGI.pm:477
#, perl-format
msgid "creating %s"
msgstr "tworzenie strony %s"
-#: ../IkiWiki/CGI.pm:490 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:570
+#: ../IkiWiki/CGI.pm:494 ../IkiWiki/CGI.pm:530 ../IkiWiki/CGI.pm:574
#, perl-format
msgid "editing %s"
msgstr "edycja strony %s"
-#: ../IkiWiki/CGI.pm:667
+#: ../IkiWiki/CGI.pm:671
msgid "You are banned."
msgstr "Dostęp został zabroniony przez administratora."
-#: ../IkiWiki/CGI.pm:699
+#: ../IkiWiki/CGI.pm:702
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
@@ -352,6 +352,15 @@ msgstr "awaria wtyczki linkmap"
msgid "sparkline failed to run php"
msgstr "awaria wtyczki linkmap"
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, fuzzy, perl-format
+msgid "parse fail at line %d: %s"
+msgstr "awaria w trakcie zapisu strony %s: %s"
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr "brakujący parametr id we wtyczce template"
@@ -504,7 +513,7 @@ msgstr "Błąd"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:561
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "polecenie preprocesora %s wykryte w %s na głębokości %i"
diff --git a/po/sv.po b/po/sv.po
index 8800177f2..71ba6079e 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 02:29-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: 2007-01-10 23:47+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -23,33 +23,33 @@ msgstr "Du måste logga in först."
msgid "Preferences saved."
msgstr "Inställningar sparades."
-#: ../IkiWiki/CGI.pm:340
+#: ../IkiWiki/CGI.pm:344
#, perl-format
msgid "%s is not an editable page"
msgstr ""
-#: ../IkiWiki/CGI.pm:427 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/CGI.pm:431 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:172 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
#: ../IkiWiki/Render.pm:165
msgid "discussion"
msgstr "diskussion"
-#: ../IkiWiki/CGI.pm:473
+#: ../IkiWiki/CGI.pm:477
#, perl-format
msgid "creating %s"
msgstr "skapar %s"
-#: ../IkiWiki/CGI.pm:490 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:570
+#: ../IkiWiki/CGI.pm:494 ../IkiWiki/CGI.pm:530 ../IkiWiki/CGI.pm:574
#, perl-format
msgid "editing %s"
msgstr "redigerar %s"
-#: ../IkiWiki/CGI.pm:667
+#: ../IkiWiki/CGI.pm:671
msgid "You are banned."
msgstr "Du är bannlyst."
-#: ../IkiWiki/CGI.pm:699
+#: ../IkiWiki/CGI.pm:702
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
@@ -344,6 +344,15 @@ msgstr "linkmap misslyckades att köra dot"
msgid "sparkline failed to run php"
msgstr "linkmap misslyckades att köra dot"
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, fuzzy, perl-format
+msgid "parse fail at line %d: %s"
+msgstr "misslyckades med att skriva %s: %s"
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr "mall saknar id-parameter"
@@ -494,7 +503,7 @@ msgstr "Fel"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:561
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "%s förbehandlingsslinga detekterades på %s, djup %i"
diff --git a/po/vi.po b/po/vi.po
index ea96c3d88..29fbcd026 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-07 02:29-0500\n"
+"POT-Creation-Date: 2007-03-07 06:39-0500\n"
"PO-Revision-Date: 2007-01-13 15:31+1030\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -24,33 +24,33 @@ msgstr "Trước tiên bạn cần phải đăng nhập."
msgid "Preferences saved."
msgstr "Tùy thích đã được lưu."
-#: ../IkiWiki/CGI.pm:340
+#: ../IkiWiki/CGI.pm:344
#, perl-format
msgid "%s is not an editable page"
msgstr ""
-#: ../IkiWiki/CGI.pm:427 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/CGI.pm:431 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:172 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
#: ../IkiWiki/Render.pm:165
msgid "discussion"
msgstr "thảo luận"
-#: ../IkiWiki/CGI.pm:473
+#: ../IkiWiki/CGI.pm:477
#, perl-format
msgid "creating %s"
msgstr "đang tạo %s"
-#: ../IkiWiki/CGI.pm:490 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:570
+#: ../IkiWiki/CGI.pm:494 ../IkiWiki/CGI.pm:530 ../IkiWiki/CGI.pm:574
#, perl-format
msgid "editing %s"
msgstr "đang sửa %s"
-#: ../IkiWiki/CGI.pm:667
+#: ../IkiWiki/CGI.pm:671
msgid "You are banned."
msgstr "Bạn bị cấm ra."
-#: ../IkiWiki/CGI.pm:699
+#: ../IkiWiki/CGI.pm:702
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
@@ -345,6 +345,15 @@ msgstr "linkmap không chạy dot được"
msgid "sparkline failed to run php"
msgstr "linkmap không chạy dot được"
+#: ../IkiWiki/Plugin/table.pm:77
+msgid "Direct data download"
+msgstr ""
+
+#: ../IkiWiki/Plugin/table.pm:124
+#, fuzzy, perl-format
+msgid "parse fail at line %d: %s"
+msgstr "lỗi ghi %s: %s"
+
#: ../IkiWiki/Plugin/template.pm:19
msgid "template missing id parameter"
msgstr "mẫu thiếu tham số id"
@@ -495,7 +504,7 @@ msgstr "Lỗi"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:561
+#: ../IkiWiki.pm:567
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "vòng lặp tiền xử lý %s được phát hiện trên %s ở độ sâu %i"