From 055179cb4cc9b8bc9b204e1a9f83b1f59e13824e Mon Sep 17 00:00:00 2001 From: Joey Hess <joey@kitenet.net> Date: Sat, 8 Dec 2007 17:40:50 -0500 Subject: [PATCH] * Finally implemented a simple per-page data storage mechanism for plugins, via the %pagestate hash. * Use pagestate in meta to detect potential redir loops. --- .gitignore | 1 + IkiWiki.pm | 24 +++++++++++++++++++++--- IkiWiki/Plugin/external.pm | 18 ++++++++++++++++++ IkiWiki/Plugin/meta.pm | 7 +++++++ debian/changelog | 3 +++ doc/plugins/write.mdwn | 14 ++++++++++++++ doc/plugins/write/external.mdwn | 5 +++++ doc/todo/plugin_data_storage.mdwn | 26 ++++++++++++++++++++++++++ po/bg.po | 26 +++++++++++++++----------- po/cs.po | 26 +++++++++++++++----------- po/da.po | 26 +++++++++++++++----------- po/es.po | 26 +++++++++++++++----------- po/fr.po | 26 +++++++++++++++----------- po/gu.po | 26 +++++++++++++++----------- po/ikiwiki.pot | 16 ++++++++++------ po/pl.po | 26 +++++++++++++++----------- po/sv.po | 26 +++++++++++++++----------- po/vi.po | 26 +++++++++++++++----------- 18 files changed, 240 insertions(+), 108 deletions(-) diff --git a/.gitignore b/.gitignore index 7ca6ac2a9..ae9a17e5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ Makefile +Makefile.old blib/* doc/.ikiwiki/* html/* diff --git a/IkiWiki.pm b/IkiWiki.pm index d64f4e688..ab94f8622 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -10,15 +10,16 @@ use POSIX; use open qw{:utf8 :std}; use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase - %renderedfiles %oldrenderedfiles %pagesources %destsources - %depends %hooks %forcerebuild $gettext_obj}; + %pagestate %renderedfiles %oldrenderedfiles %pagesources + %destsources %depends %hooks %forcerebuild $gettext_obj}; use Exporter q{import}; our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match bestlink htmllink readfile writefile pagetype srcfile pagename displaytime will_render gettext urlto targetpage add_underlay - %config %links %renderedfiles %pagesources %destsources); + %config %links %pagestate %renderedfiles + %pagesources %destsources); our $VERSION = 2.00; # plugin interface version, next is ikiwiki version our $version='unknown'; # VERSION_AUTOREPLACE done by Makefile, DNE my $installdir=''; # INSTALLDIR_AUTOREPLACE done by Makefile, DNE @@ -868,6 +869,10 @@ sub loadindex () { #{{{ $destsources{$_}=$page foreach @{$items{dest}}; $renderedfiles{$page}=[@{$items{dest}}]; $pagecase{lc $page}=$page; + foreach my $k (grep /_/, keys %items) { + my ($id, $key)=split(/_/, $k, 2); + $pagestate{$page}{decode_entities($id)}{decode_entities($key)}=$items{$k}; + } } $oldrenderedfiles{$page}=[@{$items{dest}}]; $pagectime{$page}=$items{ctime}[0]; @@ -878,6 +883,12 @@ sub loadindex () { #{{{ sub saveindex () { #{{{ run_hooks(savestate => sub { shift->() }); + my %hookids; + foreach my $type (keys %hooks) { + $hookids{encode_entities($_)}=1 foreach keys %{$hooks{$type}}; + } + my @hookids=sort keys %hookids; + if (! -d $config{wikistatedir}) { mkdir($config{wikistatedir}); } @@ -895,6 +906,13 @@ sub saveindex () { #{{{ if (exists $depends{$page}) { $line.=" depends=".encode_entities($depends{$page}, " \t\n"); } + if (exists $pagestate{$page}) { + foreach my $id (@hookids) { + foreach my $key (keys %{$pagestate{$page}{$id}}) { + $line.=' '.$id.'_'.encode_entities($key)."=".encode_entities($pagestate{$page}{$id}{$key}); + } + } + } print $out $line."\n" || error("failed writing to $newfile: $!", $cleanup); } close $out || error("failed saving to $newfile: $!", $cleanup); diff --git a/IkiWiki/Plugin/external.pm b/IkiWiki/Plugin/external.pm index f76b42c99..8d1baa587 100644 --- a/IkiWiki/Plugin/external.pm +++ b/IkiWiki/Plugin/external.pm @@ -132,6 +132,24 @@ sub setvar ($$$;@) { #{{{ return $ret; } #}}} +sub getstate ($$$$) { #{{{ + my $plugin=shift; + my $page=shift; + my $id=shift; + my $key=shift; + + return $IkiWiki::pagestate{$page}{$id}{$key}; +} #}}} + +sub setstate ($$$$;@) { #{{{ + my $plugin=shift; + my $page=shift; + my $id=shift; + my $key=shift; + + return $IkiWiki::pagestate{$page}{$id}{$key}=@_; +} #}}} + sub inject ($@) { #{{{ # Bind a given perl function name to a particular RPC request. my $plugin=shift; diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index ac8890795..968e6ccee 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -24,6 +24,7 @@ sub filter (@) { #{{{ my %params=@_; $meta{$params{page}}=''; + delete $pagestate{$params{page}}{meta}{redir}; return $params{content}; } # }}} @@ -72,10 +73,16 @@ sub preprocess (@) { #{{{ elsif ($key eq 'redir') { my $safe=0; if ($value !~ /^\w+:\/\//) { + add_depends($page, $value); my $link=bestlink($page, $value); if (! length $link) { return "[[meta ".gettext("redir page not found")."]]"; } + $pagestate{$page}{meta}{redir}=$link; + if ($pagestate{$link}{meta}{redir}) { + # TODO: real cycle detection + return "[[meta ".gettext("redir not allowed to point to a page that contains a redir")."]]"; + } $value=urlto($link, $destpage); $safe=1; } diff --git a/debian/changelog b/debian/changelog index b96ae08c5..7fc48ed51 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,9 @@ ikiwiki (2.16) UNRELEASED; urgency=low * Redirs added for moved basewiki pages. These will be removed in a future release. * Remove .otl file from sandbox to avoid build ugliness. Closes: #454181 + * Finally implemented a simple per-page data storage mechanism for plugins, + via the %pagestate hash. + * Use pagestate in meta to detect potential redir loops. -- Joey Hess <joeyh@debian.org> Mon, 03 Dec 2007 14:47:36 -0500 diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 3ed0a3017..1cb26a076 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -313,6 +313,20 @@ A plugin can access the wiki's configuration via the `%config` hash. The best way to understand the contents of the hash is to look at [[ikiwiki.setup]], which sets the hash content to configure the wiki. +### %pagestate + +The `%pagestate` hash can be used by plugins to save state that they will need +next time ikiwiki is run. The hash holds per-page state, so to set a value, +use `%pagestate{$page}{$id}{$key}=$value`, and to retrieve the value, +use `%pagestate{$page}{$id}{$key}`. + +`$key` can be any string you like, but `$id` must be the same as the "id" +parameter passed to `hook()` when registering the plugin. This is so +ikiwiki can know when to delete pagestate for plugins that are no longer +used. + +When pages are deleted, ikiwiki automatically deletes their pagestate too. + ### Other variables If your plugin needs to access data about other pages in the wiki. It can diff --git a/doc/plugins/write/external.mdwn b/doc/plugins/write/external.mdwn index 0abc9b0a0..a1a3811dc 100644 --- a/doc/plugins/write/external.mdwn +++ b/doc/plugins/write/external.mdwn @@ -49,6 +49,11 @@ to access any such global hash. To get the "url" configuration value, call `getvar("config", "url")`. To set it, call `setvar("config", "url", "http://example.com/)`. +The `%pagestate` is a special hash with a more complex format. To access +it, external plugins can use the `getstate` and `setstate` RPCs. To access +stored state, call `getstate("page", "id", "key")`, and to store state, +call `setstate("page", "id", "key", "value")`. + ## Notes on function parameters The [[plugin_interface_documentation|write]] talks about functions that take diff --git a/doc/todo/plugin_data_storage.mdwn b/doc/todo/plugin_data_storage.mdwn index 7078a6ed3..21e925b5b 100644 --- a/doc/todo/plugin_data_storage.mdwn +++ b/doc/todo/plugin_data_storage.mdwn @@ -66,3 +66,29 @@ which pages have a calendar for the current time. Then ensure they are rebuilt at least once a day. Currently, it needs a cron job to rebuild the *whole* wiki every day; with this enhancement, the cron job would only rebuild the few pages that really need it. + + +--- + +New design: + +`%Ikiwiki::state` is an exported hash that stores per-page state. +Set with `$state{$page}{id}{key}=$value`. The `id` is the same `id` passed +to `hook()`. + +This is stored in the index like: + +src=foo.mdwn dest=bar.mdwn id_key=value [...] + +The underscore ensures that there's no conflict with ikiwiki's own +state variables. (Note that `id` and `key` need to be encoded here.) + +Plugins are reponsible for deleting old state info, though ikiwiki will +handle deleting it if a page is removed. + +Ikiwiki needs to know when it can drop state for plugins that are no longer +enabled. This is done via `hook()` -- if a plugin registers a hook +ikiwiki knows it's still active, and preserves the state for the hook id. +If not, that state will be dropped. + +[[done]]!! Now to use it.. diff --git a/po/bg.po b/po/bg.po index 964bacf05..8281dd8cb 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-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-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" @@ -42,29 +42,29 @@ msgstr "ÐÑедпоÑиÑаниÑÑа Ñа запазени." msgid "%s is not an editable page" msgstr "" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "диÑкÑÑиÑ" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "ÑÑздаване на %s" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "пÑомÑна на %s" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "ÐоÑÑÑпÑÑ Ð²Ð¸ е забÑанен." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "" @@ -233,7 +233,11 @@ msgstr "" msgid "redir page not found" msgstr "ÑаблонÑÑ â%sâ не е намеÑен" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 #, fuzzy msgid "stylesheet not found" msgstr "ÑаблонÑÑ â%sâ не е намеÑен" @@ -636,13 +640,13 @@ msgstr "ÑоÑмаÑ: ikiwiki [опÑии] изÑоÑник меÑÑоназна msgid "usage: --set var=value" msgstr "" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" "ÐÑи използване на паÑемеÑÑÑа â--cgiâ е Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ да Ñе Ñкаже и " "меÑÑоположениеÑо на ÑикиÑо ÑÑез паÑамеÑÑÑа â--urlâ" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "ÐÑеÑка" @@ -650,7 +654,7 @@ msgstr "ÐÑеÑка" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, 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 24bec8633..59c2719b2 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-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-0500\n" "PO-Revision-Date: 2007-05-09 21:21+0200\n" "Last-Translator: Miroslav Kure <kurem@debian.cz>\n" "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n" @@ -40,29 +40,29 @@ msgstr "Nastavenà uloženo." msgid "%s is not an editable page" msgstr "%s nenà editovatelná stránka" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "diskuse" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "vytváÅÃm %s" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "upravuji %s" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "Jste vyhoÅ¡tÄni." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "pÅihlášenà selhalo; možná si musÃte povolit cookies?" @@ -223,7 +223,11 @@ msgstr "" msgid "redir page not found" msgstr "zdroj nebyl nalezen" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 msgid "stylesheet not found" msgstr "styl nebyl nalezen" @@ -614,11 +618,11 @@ msgstr "použitÃ: ikiwiki [volby] zdroj cÃl" msgid "usage: --set var=value" msgstr "" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "PÅi použità --cgi musÃte pomocà --url zadat url k wiki" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "Chyba" @@ -626,7 +630,7 @@ msgstr "Chyba" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, 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/da.po b/po/da.po index b45c9099f..c6b24768a 100644 --- a/po/da.po +++ b/po/da.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-0500\n" "PO-Revision-Date: 2007-10-16 23:07+0100\n" "Last-Translator: Jonas Smedegaard <dr@jones.dk>\n" "Language-Team: Danish <dansk@klid.dk>\n" @@ -43,29 +43,29 @@ msgstr "Indstillinger gemt" msgid "%s is not an editable page" msgstr "%s er ikke en redigérbar side" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "diskussion" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "opretter %s" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "redigerer %s" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "Du er banlyst." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "PÃ¥logning fejlede, mÃ¥ske skal du tillade infokager (cookies)?" @@ -227,7 +227,11 @@ msgstr "" msgid "redir page not found" msgstr "fødning ikke fundet" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 msgid "stylesheet not found" msgstr "stilsnit (stylesheet) ikke fundet" @@ -616,11 +620,11 @@ msgstr "brug: ikiwiki [valg] kilde mÃ¥l" msgid "usage: --set var=value" msgstr "brug: --set var=værdi" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "Skal angive url til wiki med --url nÃ¥r der bruges --cgi" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "Fejl" @@ -628,7 +632,7 @@ msgstr "Fejl" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, perl-format msgid "%s preprocessing loop detected on %s at depth %i" msgstr "%s forudberegningssløkke fundet pÃ¥ %s ved dybde %i" diff --git a/po/es.po b/po/es.po index adb9e8026..163a047ad 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-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-0500\n" "PO-Revision-Date: 2007-04-28 22:01+0200\n" "Last-Translator: VÃctor Moral <victor@taquiones.net>\n" "Language-Team: Spanish <es@li.org>\n" @@ -40,29 +40,29 @@ msgstr "Las preferencias se han guardado." msgid "%s is not an editable page" msgstr "la página %s no es modificable" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "comentarios" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "creando página %s" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "modificando página %s" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "Ha sido expulsado." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "" "registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" @@ -228,7 +228,11 @@ msgstr "" msgid "redir page not found" msgstr "fuente de datos no encontrada" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 msgid "stylesheet not found" msgstr "hoja de estilo no encontrada " @@ -621,13 +625,13 @@ msgstr "uso: ikiwiki [opciones] origen destino" msgid "usage: --set var=value" msgstr "uso: --set variable=valor" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" "Es obligatorio especificar un url al wiki con el parámetro --url si se " "utiliza el parámetro --cgi" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "Error" @@ -635,7 +639,7 @@ msgstr "Error" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, perl-format msgid "%s preprocessing loop detected on %s at depth %i" msgstr "" diff --git a/po/fr.po b/po/fr.po index bfe136e59..036cc47e5 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-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-0500\n" "PO-Revision-Date: 2007-08-28 21:05+0200\n" "Last-Translator: Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" @@ -42,29 +42,29 @@ msgstr "Les préférences ont été enregistrées." msgid "%s is not an editable page" msgstr "%s n'est pas une page éditable" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "Discussion" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "Création de %s" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "Ãdition de %s" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "Vous avez été banni." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "" "Ãchec de l'identification, vous devriez peut-être autoriser les cookies." @@ -229,7 +229,11 @@ msgstr "" msgid "redir page not found" msgstr "Flux introuvable " -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 msgid "stylesheet not found" msgstr "Feuille de style introuvable " @@ -621,13 +625,13 @@ msgstr "Syntaxe : ikiwiki [options] source destination" msgid "usage: --set var=value" msgstr "Syntaxe : -- set var=valeur" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" "Vous devez indiquer une URL vers le wiki par --url lors de l'utilisation de " "--cgi" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "Erreur" @@ -635,7 +639,7 @@ msgstr "Erreur" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, perl-format msgid "%s preprocessing loop detected on %s at depth %i" msgstr "" diff --git a/po/gu.po b/po/gu.po index 72e9a5cc6..b99c6c88d 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-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-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" @@ -41,29 +41,29 @@ msgstr "પà«àª°àª¾àª¥àª®àª¿àªàª¤àª¾àª સàªàªà«àª°àª¹àª¾àª." msgid "%s is not an editable page" msgstr "%s ઠસà«àª§àª¾àª°à« શàªàª¾àª¯ તà«àªµà«àª પાનà«àª નથà«" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "àªàª°à«àªàª¾" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "%s બનાવૠàªà«" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "%s સà«àª§àª¾àª°à« àªà«" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "તમારા પર પà«àª°àª¤àª¿àª¬àªàª§ àªà«." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "પà«àª°àªµà«àª¶ નિષà«àª«àª³, àªàª¦àª¾àª તમારૠàªà«àªà«àª સàªà«àª°àª¿àª¯ બનાવવૠપડશà«?" @@ -223,7 +223,11 @@ msgstr "Markdown.pm પરà«àª² મà«àª¡à«àª¯à«àª² (%s) ઠથવા /usr/bi msgid "redir page not found" msgstr "ફà«àª¡ મળà«àª¯à«àª નહà«" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 msgid "stylesheet not found" msgstr "સà«àªàª¾àªàª²àª¶à«àª મળà«àª¯à«àª નહà«" @@ -612,11 +616,11 @@ msgstr "àªàªªàª¯à«àª: ikiwiki [વિàªàª²à«àªªà«] source dest" msgid "usage: --set var=value" msgstr "" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "àªà«àª¯àª¾àª°à« --cgi àªàªªàª¯à«àª àªàª°àª¤àª¾àª હà«àª¯ તà«àª¯àª¾àª°à« વà«àªà«àª¨à«àª યà«àªàª°àªàª² સà«àªªàª·à«àª àªàª°àªµà«àª ઠપડશà«" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "àªà«àª·àª¤àª¿" @@ -624,7 +628,7 @@ msgstr "àªà«àª·àª¤àª¿" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, 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 ded390439..66659457a 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-12-08 16:00-0500\n" +"POT-Creation-Date: 2007-12-08 17:38-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" @@ -218,11 +218,15 @@ msgstr "" msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)" msgstr "" -#: ../IkiWiki/Plugin/meta.pm:77 +#: ../IkiWiki/Plugin/meta.pm:79 msgid "redir page not found" msgstr "" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:84 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:120 msgid "stylesheet not found" msgstr "" @@ -606,11 +610,11 @@ msgstr "" msgid "usage: --set var=value" msgstr "" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "" @@ -618,7 +622,7 @@ msgstr "" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, perl-format msgid "%s preprocessing loop detected on %s at depth %i" msgstr "" diff --git a/po/pl.po b/po/pl.po index 0d141e6df..36f36c3cf 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 1.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-0500\n" "PO-Revision-Date: 2007-04-27 22:05+0200\n" "Last-Translator: Pawel Tecza <ptecza@net.icm.edu.pl>\n" "Language-Team: Debian L10n Polish <debian-l10n-polish@lists.debian.org>\n" @@ -42,29 +42,29 @@ msgstr "Preferencje zapisane." msgid "%s is not an editable page" msgstr "Strona %s nie może byÄ edytowana" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "dyskusja" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "tworzenie %s" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "edycja %s" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "Twój dostÄp zostaÅ zabroniony przez administratora." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "" "Nieudane logowanie. ProszÄ sprawdziÄ czy w przeglÄ darce wÅÄ czone sÄ " @@ -236,7 +236,11 @@ msgstr "" msgid "redir page not found" msgstr "nieznaleziony kanaÅ RSS" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 #, fuzzy msgid "stylesheet not found" msgstr "nieznaleziony szablon ze stylami CSS" @@ -641,13 +645,13 @@ msgstr "użycie: ikiwiki [parametry] źródÅo cel" msgid "usage: --set var=value" msgstr "" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" "Użycie parametru --cgi wymaga podania adresu URL do wiki za pomocÄ parametru " "--url" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "BÅÄ d" @@ -655,7 +659,7 @@ msgstr "BÅÄ d" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, 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 ac73d21d3..1bfadd088 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-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-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" @@ -41,29 +41,29 @@ msgstr "Inställningar sparades." msgid "%s is not an editable page" msgstr "" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "diskussion" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "skapar %s" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "redigerar %s" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "Du är bannlyst." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "" @@ -229,7 +229,11 @@ msgstr "" msgid "redir page not found" msgstr "mallen %s hittades inte" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 #, fuzzy msgid "stylesheet not found" msgstr "mallen %s hittades inte" @@ -632,11 +636,11 @@ msgstr "användning: ikiwiki [flaggor] källa mÃ¥l" msgid "usage: --set var=value" msgstr "" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "MÃ¥ste ange url till wiki med --url när --cgi används" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "Fel" @@ -644,7 +648,7 @@ msgstr "Fel" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, 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 642749e2d..066d9c341 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-12-08 15:22-0500\n" +"POT-Creation-Date: 2007-12-08 17:15-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" @@ -42,29 +42,29 @@ msgstr "Tùy thÃch Äã ÄÆ°á»£c lưu." msgid "%s is not an editable page" msgstr "" -#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "thảo luáºn" -#: ../IkiWiki/CGI.pm:487 +#: ../IkiWiki/CGI.pm:489 #, perl-format msgid "creating %s" msgstr "Äang tạo %s" -#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534 -#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615 +#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536 +#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617 #, perl-format msgid "editing %s" msgstr "Äang sá»a %s" -#: ../IkiWiki/CGI.pm:709 +#: ../IkiWiki/CGI.pm:711 msgid "You are banned." msgstr "Bạn bá» cấm ra." -#: ../IkiWiki/CGI.pm:729 +#: ../IkiWiki/CGI.pm:731 msgid "login failed, perhaps you need to turn on cookies?" msgstr "" @@ -230,7 +230,11 @@ msgstr "lá»i nạp mô-Äun perl Markdown.pm (%s) hay « /usr/bin/markdown » ( msgid "redir page not found" msgstr "không tìm thấy mẫu %s" -#: ../IkiWiki/Plugin/meta.pm:113 +#: ../IkiWiki/Plugin/meta.pm:82 +msgid "redir not allowed to point to a page that contains a redir" +msgstr "" + +#: ../IkiWiki/Plugin/meta.pm:118 #, fuzzy msgid "stylesheet not found" msgstr "không tìm thấy mẫu %s" @@ -630,12 +634,12 @@ msgstr "cách sá» dụng: ikiwiki [tùy chá»n] nguá»n ÄÃch" msgid "usage: --set var=value" msgstr "" -#: ../IkiWiki.pm:128 +#: ../IkiWiki.pm:129 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" "Cần phải xác Äá»nh Äá»a chá» URL tá»i wiki vá»i « --url » khi dùng « --cgi »" -#: ../IkiWiki.pm:197 ../IkiWiki.pm:198 +#: ../IkiWiki.pm:198 ../IkiWiki.pm:199 msgid "Error" msgstr "Lá»i" @@ -643,7 +647,7 @@ msgstr "Lá»i" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:721 +#: ../IkiWiki.pm:722 #, 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" -- 2.39.5