From 055179cb4cc9b8bc9b204e1a9f83b1f59e13824e Mon Sep 17 00:00:00 2001 From: Joey Hess 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 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 \n" "Language-Team: Bulgarian \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 \n" "Language-Team: Czech \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 \n" "Language-Team: Danish \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 \n" "Language-Team: Spanish \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 \n" "Language-Team: French \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 \n" "Language-Team: Gujarati \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 \n" "Language-Team: LANGUAGE \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 \n" "Language-Team: Debian L10n Polish \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 \n" "Language-Team: Swedish \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 \n" "Language-Team: Vietnamese \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.26.2