inline: Support feedfile option to change the filename of the feed generated.

master
Joey Hess 2008-12-11 15:01:26 -05:00
parent 2cd7eecf89
commit b67632cdcd
9 changed files with 156 additions and 127 deletions

View File

@ -666,11 +666,15 @@ sub newpagefile ($$) { #{{{
} }
} #}}} } #}}}
sub targetpage ($$) { #{{{ sub targetpage ($$;$) { #{{{
my $page=shift; my $page=shift;
my $ext=shift; my $ext=shift;
my $filename=shift;
if (! $config{usedirs} || $page eq 'index') { if (defined $filename) {
return $page."/".$filename.".".$ext;
}
elsif (! $config{usedirs} || $page eq 'index') {
return $page.".".$ext; return $page.".".$ext;
} }
else { else {

View File

@ -26,8 +26,7 @@ sub import { #{{{
# Hook to change to do pinging since it's called late. # Hook to change to do pinging since it's called late.
# This ensures each page only pings once and prevents slow # This ensures each page only pings once and prevents slow
# pings interrupting page builds. # pings interrupting page builds.
hook(type => "change", id => "inline", hook(type => "change", id => "inline", call => \&IkiWiki::pingurl);
call => \&IkiWiki::pingurl);
} # }}} } # }}}
sub getopt () { #{{{ sub getopt () { #{{{
@ -238,28 +237,46 @@ sub preprocess_inline (@) { #{{{
@feedlist=grep { pagespec_match($_, $params{feedpages}, location => $params{page}) } @feedlist; @feedlist=grep { pagespec_match($_, $params{feedpages}, location => $params{page}) } @feedlist;
} }
my $feednum=""; my ($feedbase, $feednum);
if ($feeds) {
my $feedid=join("\0", map { $_."\0".$params{$_} } sort keys %params); # Ensure that multiple feeds on a page go to unique files.
if (exists $knownfeeds{$feedid}) {
$feednum=$knownfeeds{$feedid}; # Feedfile can lead to conflicts if usedirs is not enabled,
} # so avoid supporting it in that case.
else { delete $params{feedfile} if ! $config{usedirs};
if (exists $page_numfeeds{$params{destpage}}) { # Tight limits on legal feedfiles, to avoid security issues
if ($feeds) { # and conflicts.
$feednum=$knownfeeds{$feedid}=++$page_numfeeds{$params{destpage}}; if (defined $params{feedfile}) {
if ($params{feedfile} =~ /\// ||
$params{feedfile} !~ /$config{wiki_file_regexp}/) {
error("illegal feedfile");
} }
$params{feedfile}=possibly_foolish_untaint($params{feedfile});
}
$feedbase=targetpage($params{destpage}, "", $params{feedfile});
my $feedid=join("\0", $feedbase, map { $_."\0".$params{$_} } sort keys %params);
if (exists $knownfeeds{$feedid}) {
$feednum=$knownfeeds{$feedid};
} }
else { else {
$feednum=$knownfeeds{$feedid}=""; if (exists $page_numfeeds{$params{destpage}}{$feedbase}) {
if ($feeds) { if ($feeds) {
$page_numfeeds{$params{destpage}}=1; $feednum=$knownfeeds{$feedid}=++$page_numfeeds{$params{destpage}}{$feedbase};
}
}
else {
$feednum=$knownfeeds{$feedid}="";
if ($feeds) {
$page_numfeeds{$params{destpage}}{$feedbase}=1;
}
} }
} }
} }
my $rssurl=basename(rsspage($params{destpage}).$feednum) if $feeds && $rss; my $rssurl=basename($feedbase."rss".$feednum) if $feeds && $rss;
my $atomurl=basename(atompage($params{destpage}).$feednum) if $feeds && $atom; my $atomurl=basename($feedbase."atom".$feednum) if $feeds && $atom;
my $ret=""; my $ret="";
if (length $config{cgiurl} && ! $params{preview} && (exists $params{rootpage} || if (length $config{cgiurl} && ! $params{preview} && (exists $params{rootpage} ||
@ -375,7 +392,7 @@ sub preprocess_inline (@) { #{{{
if ($feeds && ! (! $emptyfeeds && ! @feedlist)) { if ($feeds && ! (! $emptyfeeds && ! @feedlist)) {
if ($rss) { if ($rss) {
my $rssp=rsspage($params{destpage}).$feednum; my $rssp=$feedbase."rss".$feednum;
will_render($params{destpage}, $rssp); will_render($params{destpage}, $rssp);
if (! $params{preview}) { if (! $params{preview}) {
writefile($rssp, $config{destdir}, writefile($rssp, $config{destdir},
@ -386,7 +403,7 @@ sub preprocess_inline (@) { #{{{
} }
} }
if ($atom) { if ($atom) {
my $atomp=atompage($params{destpage}).$feednum; my $atomp=$feedbase."atom".$feednum;
will_render($params{destpage}, $atomp); will_render($params{destpage}, $atomp);
if (! $params{preview}) { if (! $params{preview}) {
writefile($atomp, $config{destdir}, writefile($atomp, $config{destdir},
@ -475,14 +492,6 @@ sub absolute_urls ($$) { #{{{
return $content; return $content;
} #}}} } #}}}
sub rsspage ($) { #{{{
return targetpage(shift, "rss");
} #}}}
sub atompage ($) { #{{{
return targetpage(shift, "atom");
} #}}}
sub genfeed ($$$$$@) { #{{{ sub genfeed ($$$$$@) { #{{{
my $feedtype=shift; my $feedtype=shift;
my $feedurl=shift; my $feedurl=shift;

2
debian/changelog vendored
View File

@ -11,6 +11,8 @@ ikiwiki (2.71) UNRELEASED; urgency=low
* Correct --dumpsetup to include the srcdir in the setup file. * Correct --dumpsetup to include the srcdir in the setup file.
* German translation update from Kai Wasserbäch. Closes: #507056 * German translation update from Kai Wasserbäch. Closes: #507056
* inline: Support emptyfeeds=no option to skip generating empty feeds. * inline: Support emptyfeeds=no option to skip generating empty feeds.
* inline: Support feedfile option to change the filename of the feed
generated.
-- Joey Hess <joeyh@debian.org> Mon, 17 Nov 2008 14:02:10 -0500 -- Joey Hess <joeyh@debian.org> Mon, 17 Nov 2008 14:02:10 -0500

View File

@ -104,6 +104,11 @@ Here are some less often needed parameters:
* `guid` - If a URI is given here (perhaps a UUID prefixed with `urn:uuid:`), * `guid` - If a URI is given here (perhaps a UUID prefixed with `urn:uuid:`),
the Atom feed will have this as its `<id>`. The default is to use the URL the Atom feed will have this as its `<id>`. The default is to use the URL
of the page containing the `inline` directive. of the page containing the `inline` directive.
* `feedfile` - Can be used to change the name of the file generated for the
feed. This is particularly useful if a page contains multiple feeds.
For example, set "feedfile=feed" to cause it to generate `page/feed.atom`
and/or `page/feed.rss`. This option is not supported if the wiki is
configured not to use `usedirs`.
[[!meta robots="noindex, follow"]] [[!meta robots="noindex, follow"]]

View File

@ -696,11 +696,15 @@ This can be called when creating a new page, to determine what filename
to save the page to. It's passed a page name, and its type, and returns to save the page to. It's passed a page name, and its type, and returns
the name of the file to create, relative to the srcdir. the name of the file to create, relative to the srcdir.
#### `targetpage($$)` #### `targetpage($$;$)`
Passed a page and an extension, returns the filename that page will be Passed a page and an extension, returns the filename that page will be
rendered to. rendered to.
Optionally, a third parameter can be passed, to specify the preferred
filename of the page. For example, `targetpage("foo", "rss", "feed")`
will yield something like `foo/feed.rss`.
## Miscellaneous ## Miscellaneous
### Internal use pages ### Internal use pages

View File

@ -25,3 +25,5 @@ could perhaps change it to `/sandbox-comments.atom` or
> Particularly for the non-usedirs case, where a page `sandbox/comments` > Particularly for the non-usedirs case, where a page `sandbox/comments`
> would produce the same feed as sandbox with `feedname=comments`. > would produce the same feed as sandbox with `feedname=comments`.
> --[[Joey]] > --[[Joey]]
> [[done]] as feedfile option --[[Joey]]

View File

@ -5,8 +5,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ikiwiki 2.70\n" "Project-Id-Version: ikiwiki 2.70\n"
"Report-Msgid-Bugs-To: ikiwiki@packages.debian.org\n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-10-31 16:37-0400\n" "POT-Creation-Date: 2008-12-11 14:46-0500\n"
"PO-Revision-Date: 2008-11-20 19:58+0100\n" "PO-Revision-Date: 2008-11-20 19:58+0100\n"
"Last-Translator: Kai Wasserbäch <debian@carbon-project.org>\n" "Last-Translator: Kai Wasserbäch <debian@carbon-project.org>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@ -47,7 +47,7 @@ msgstr "Einstellungen gespeichert."
msgid "You are banned." msgid "You are banned."
msgstr "Sie sind ausgeschlossen worden." msgstr "Sie sind ausgeschlossen worden."
#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1182 #: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1204
msgid "Error" msgid "Error"
msgstr "Fehler" msgstr "Fehler"
@ -110,16 +110,16 @@ msgstr "Feed nicht gefunden"
msgid "(invalid UTF-8 stripped from feed)" msgid "(invalid UTF-8 stripped from feed)"
msgstr "(ungültiges UTF-8-Zeichen wurde aus dem Feed entfernt)" msgstr "(ungültiges UTF-8-Zeichen wurde aus dem Feed entfernt)"
#: ../IkiWiki/Plugin/aggregate.pm:504 #: ../IkiWiki/Plugin/aggregate.pm:506
#, perl-format #, perl-format
msgid "(feed entities escaped)" msgid "(feed entities escaped)"
msgstr "(Feed-Entitäten maskiert)" msgstr "(Feed-Entitäten maskiert)"
#: ../IkiWiki/Plugin/aggregate.pm:510 #: ../IkiWiki/Plugin/aggregate.pm:514
msgid "feed crashed XML::Feed!" msgid "feed crashed XML::Feed!"
msgstr "Feed führte zum Absturz von XML::Feed!" msgstr "Feed führte zum Absturz von XML::Feed!"
#: ../IkiWiki/Plugin/aggregate.pm:590 #: ../IkiWiki/Plugin/aggregate.pm:595
#, perl-format #, perl-format
msgid "creating new page %s" msgid "creating new page %s"
msgstr "erstelle neue Seite %s" msgstr "erstelle neue Seite %s"
@ -128,7 +128,7 @@ msgstr "erstelle neue Seite %s"
msgid "deleting bucket.." msgid "deleting bucket.."
msgstr "Lösche Bucket..." msgstr "Lösche Bucket..."
#: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:206 #: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:208
msgid "done" msgid "done"
msgstr "fertig" msgstr "fertig"
@ -171,7 +171,7 @@ msgid "automatic index generation"
msgstr "automatische Index-Erstellung" msgstr "automatische Index-Erstellung"
#: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:261 #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:261
#: ../IkiWiki/Plugin/inline.pm:327 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/inline.pm:344 ../IkiWiki/Plugin/opendiscussion.pm:26
#: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79
#: ../IkiWiki/Render.pm:149 #: ../IkiWiki/Render.pm:149
msgid "discussion" msgid "discussion"
@ -245,11 +245,11 @@ msgstr "»edittemplate« %s registriert für %s"
msgid "failed to process" msgid "failed to process"
msgstr "Bearbeitung fehlgeschlagen" msgstr "Bearbeitung fehlgeschlagen"
#: ../IkiWiki/Plugin/format.pm:22 #: ../IkiWiki/Plugin/format.pm:20
msgid "must specify format and text" msgid "must specify format and text"
msgstr "Format und Text muss spezifiziert werden" msgstr "Format und Text muss spezifiziert werden"
#: ../IkiWiki/Plugin/format.pm:25 #: ../IkiWiki/Plugin/format.pm:23
#, perl-format #, perl-format
msgid "unsupported page format %s" msgid "unsupported page format %s"
msgstr "nicht unterstütztes Seitenformat %s" msgstr "nicht unterstütztes Seitenformat %s"
@ -276,7 +276,8 @@ msgstr "Es ist Ihnen nicht erlaubt, Dateizugriffsrechte zu ändern"
#: ../IkiWiki/Plugin/google.pm:27 #: ../IkiWiki/Plugin/google.pm:27
#, perl-format #, perl-format
msgid "Must specify %s when using the google search plugin" msgid "Must specify %s when using the google search plugin"
msgstr "%s muss angegeben werden, wenn die Google-Sucherweiterung verwandt wird" msgstr ""
"%s muss angegeben werden, wenn die Google-Sucherweiterung verwandt wird"
#: ../IkiWiki/Plugin/google.pm:31 #: ../IkiWiki/Plugin/google.pm:31
msgid "Failed to parse url, cannot determine domain name" msgid "Failed to parse url, cannot determine domain name"
@ -320,17 +321,17 @@ msgstr "Größenänderung fehlgeschlagen: %s"
msgid "failed to determine size of image %s" msgid "failed to determine size of image %s"
msgstr "Größe des Bildes %s konnte nicht festgestellt werden." msgstr "Größe des Bildes %s konnte nicht festgestellt werden."
#: ../IkiWiki/Plugin/inline.pm:93 #: ../IkiWiki/Plugin/inline.pm:92
msgid "Must specify url to wiki with --url when using --rss or --atom" msgid "Must specify url to wiki with --url when using --rss or --atom"
msgstr "" msgstr ""
"Die URL zum Wiki muss mit --url angegeben werden, wenn --rss oder --atom " "Die URL zum Wiki muss mit --url angegeben werden, wenn --rss oder --atom "
"genutzt wird" "genutzt wird"
#: ../IkiWiki/Plugin/inline.pm:139 #: ../IkiWiki/Plugin/inline.pm:138
msgid "page editing not allowed" msgid "page editing not allowed"
msgstr "Seitenbearbeitungen sind nicht erlaubt" msgstr "Seitenbearbeitungen sind nicht erlaubt"
#: ../IkiWiki/Plugin/inline.pm:156 #: ../IkiWiki/Plugin/inline.pm:155
msgid "missing pages parameter" msgid "missing pages parameter"
msgstr "Fehlender Seitenparameter" msgstr "Fehlender Seitenparameter"
@ -339,20 +340,20 @@ msgstr "Fehlender Seitenparameter"
msgid "unknown sort type %s" msgid "unknown sort type %s"
msgstr "Unbekannter Sortierungstyp %s" msgstr "Unbekannter Sortierungstyp %s"
#: ../IkiWiki/Plugin/inline.pm:285 #: ../IkiWiki/Plugin/inline.pm:297
msgid "Add a new post titled:" msgid "Add a new post titled:"
msgstr "Füge einen neuen Beitrag hinzu. Titel:" msgstr "Füge einen neuen Beitrag hinzu. Titel:"
#: ../IkiWiki/Plugin/inline.pm:301 #: ../IkiWiki/Plugin/inline.pm:318
#, perl-format #, perl-format
msgid "nonexistant template %s" msgid "nonexistant template %s"
msgstr "nicht-vorhandene Vorlage %s" msgstr "nicht-vorhandene Vorlage %s"
#: ../IkiWiki/Plugin/inline.pm:335 ../IkiWiki/Render.pm:83 #: ../IkiWiki/Plugin/inline.pm:352 ../IkiWiki/Render.pm:83
msgid "Discussion" msgid "Discussion"
msgstr "Diskussion" msgstr "Diskussion"
#: ../IkiWiki/Plugin/inline.pm:572 #: ../IkiWiki/Plugin/inline.pm:577
msgid "RPC::XML::Client not found, not pinging" msgid "RPC::XML::Client not found, not pinging"
msgstr "RPC::XML::Client nicht gefunden, führe Ping nicht aus" msgstr "RPC::XML::Client nicht gefunden, führe Ping nicht aus"
@ -568,20 +569,18 @@ msgstr "Unzulässiger Prozentwert (%s)"
#: ../IkiWiki/Plugin/progress.pm:59 #: ../IkiWiki/Plugin/progress.pm:59
msgid "need either `percent` or `totalpages` and `donepages` parameters" msgid "need either `percent` or `totalpages` and `donepages` parameters"
msgstr "" msgstr "Benötige entweder »percent«- oder »totalpages«- und »donepages«-Parameter"
"Benötige entweder »percent«- oder »totalpages«- und "
"»donepages«-Parameter"
#: ../IkiWiki/Plugin/recentchanges.pm:100 #: ../IkiWiki/Plugin/recentchanges.pm:101
msgid "missing page" msgid "missing page"
msgstr "fehlende Seite" msgstr "fehlende Seite"
#: ../IkiWiki/Plugin/recentchanges.pm:102 #: ../IkiWiki/Plugin/recentchanges.pm:103
#, perl-format #, perl-format
msgid "The page %s does not exist." msgid "The page %s does not exist."
msgstr "Die Seite %s existiert nicht." msgstr "Die Seite %s existiert nicht."
#: ../IkiWiki/Plugin/recentchangesdiff.pm:36 #: ../IkiWiki/Plugin/recentchangesdiff.pm:37
msgid "(Diff truncated)" msgid "(Diff truncated)"
msgstr "(Diff beschnitten)" msgstr "(Diff beschnitten)"
@ -593,7 +592,8 @@ msgstr "%s existiert nicht"
#: ../IkiWiki/Plugin/remove.pm:38 #: ../IkiWiki/Plugin/remove.pm:38
#, perl-format #, perl-format
msgid "%s is not in the srcdir, so it cannot be deleted" msgid "%s is not in the srcdir, so it cannot be deleted"
msgstr "%s ist nicht im Quellverzeichnis und kann deshalb nicht gelöscht werden" msgstr ""
"%s ist nicht im Quellverzeichnis und kann deshalb nicht gelöscht werden"
#: ../IkiWiki/Plugin/remove.pm:41 ../IkiWiki/Plugin/rename.pm:45 #: ../IkiWiki/Plugin/remove.pm:41 ../IkiWiki/Plugin/rename.pm:45
#, perl-format #, perl-format
@ -928,19 +928,19 @@ msgstr "Dateiname des Wrappers nicht angegeben"
#. translators: The first parameter is a filename, and the second is #. translators: The first parameter is a filename, and the second is
#. translators: a (probably not translated) error message. #. translators: a (probably not translated) error message.
#: ../IkiWiki/Wrapper.pm:79 #: ../IkiWiki/Wrapper.pm:97
#, perl-format #, perl-format
msgid "failed to write %s: %s" msgid "failed to write %s: %s"
msgstr "Schreiben von %s fehlgeschlagen: %s" msgstr "Schreiben von %s fehlgeschlagen: %s"
#. translators: The parameter is a C filename. #. translators: The parameter is a C filename.
#: ../IkiWiki/Wrapper.pm:135 #: ../IkiWiki/Wrapper.pm:154
#, perl-format #, perl-format
msgid "failed to compile %s" msgid "failed to compile %s"
msgstr "Erzeugen von %s fehlgeschlagen" msgstr "Erzeugen von %s fehlgeschlagen"
#. translators: The parameter is a filename. #. translators: The parameter is a filename.
#: ../IkiWiki/Wrapper.pm:155 #: ../IkiWiki/Wrapper.pm:174
#, perl-format #, perl-format
msgid "successfully generated %s" msgid "successfully generated %s"
msgstr "%s wurde erfolgreich erstellt" msgstr "%s wurde erfolgreich erstellt"
@ -953,43 +953,43 @@ msgstr "Benutzung: ikiwiki [Optionen] Quelle Ziel"
msgid " ikiwiki --setup configfile" msgid " ikiwiki --setup configfile"
msgstr " ikiwiki --setup Konfigurationsdatei " msgstr " ikiwiki --setup Konfigurationsdatei "
#: ../ikiwiki.in:90 #: ../ikiwiki.in:91
msgid "usage: --set var=value" msgid "usage: --set var=value"
msgstr "Benutzung: --set Variable=Wert" msgstr "Benutzung: --set Variable=Wert"
#: ../ikiwiki.in:138 #: ../ikiwiki.in:139
msgid "generating wrappers.." msgid "generating wrappers.."
msgstr "erzeuge Wrapper..." msgstr "erzeuge Wrapper..."
#: ../ikiwiki.in:195 #: ../ikiwiki.in:197
msgid "rebuilding wiki.." msgid "rebuilding wiki.."
msgstr "erzeuge Wiki neu..." msgstr "erzeuge Wiki neu..."
#: ../ikiwiki.in:198 #: ../ikiwiki.in:200
msgid "refreshing wiki.." msgid "refreshing wiki.."
msgstr "aktualisiere Wiki..." msgstr "aktualisiere Wiki..."
#: ../IkiWiki.pm:466 #: ../IkiWiki.pm:480
msgid "Must specify url to wiki with --url when using --cgi" msgid "Must specify url to wiki with --url when using --cgi"
msgstr "" msgstr ""
"Es muss eine URL zum Wiki mit --url angegeben werden, wenn --cgi verwandt " "Es muss eine URL zum Wiki mit --url angegeben werden, wenn --cgi verwandt "
"wird" "wird"
#: ../IkiWiki.pm:512 #: ../IkiWiki.pm:526
msgid "cannot use multiple rcs plugins" msgid "cannot use multiple rcs plugins"
msgstr "Kann nicht mehrere Versionskontrollsystem-Erweiterungen verwenden" msgstr "Kann nicht mehrere Versionskontrollsystem-Erweiterungen verwenden"
#: ../IkiWiki.pm:541 #: ../IkiWiki.pm:555
#, perl-format #, perl-format
msgid "failed to load external plugin needed for %s plugin: %s" msgid "failed to load external plugin needed for %s plugin: %s"
msgstr "Laden der für %s benötigten externen Erweiterung fehlgeschlagen: %s" msgstr "Laden der für %s benötigten externen Erweiterung fehlgeschlagen: %s"
#: ../IkiWiki.pm:1165 #: ../IkiWiki.pm:1187
#, perl-format #, perl-format
msgid "preprocessing loop detected on %s at depth %i" msgid "preprocessing loop detected on %s at depth %i"
msgstr "Präprozessorschleife auf %s in Tiefe %i erkannt" msgstr "Präprozessorschleife auf %s in Tiefe %i erkannt"
#: ../IkiWiki.pm:1678 #: ../IkiWiki.pm:1688
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ikiwiki 2.70 \n" "Project-Id-Version: ikiwiki 2.70 \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-10-31 16:37-0400\n" "POT-Creation-Date: 2008-12-11 14:46-0500\n"
"PO-Revision-Date: 2008-11-19 21:53+0100\n" "PO-Revision-Date: 2008-11-19 21:53+0100\n"
"Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n" "Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@ -49,7 +49,7 @@ msgstr "Les préférences ont été enregistrées."
msgid "You are banned." msgid "You are banned."
msgstr "Vous avez été banni." msgstr "Vous avez été banni."
#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1182 #: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1204
msgid "Error" msgid "Error"
msgstr "Erreur" msgstr "Erreur"
@ -112,16 +112,16 @@ msgstr "Flux introuvable "
msgid "(invalid UTF-8 stripped from feed)" msgid "(invalid UTF-8 stripped from feed)"
msgstr "(chaîne UTF-8 non valable supprimée du flux)" msgstr "(chaîne UTF-8 non valable supprimée du flux)"
#: ../IkiWiki/Plugin/aggregate.pm:504 #: ../IkiWiki/Plugin/aggregate.pm:506
#, perl-format #, perl-format
msgid "(feed entities escaped)" msgid "(feed entities escaped)"
msgstr "(échappement des entités de flux)" msgstr "(échappement des entités de flux)"
#: ../IkiWiki/Plugin/aggregate.pm:510 #: ../IkiWiki/Plugin/aggregate.pm:514
msgid "feed crashed XML::Feed!" msgid "feed crashed XML::Feed!"
msgstr "Plantage du flux XML::Feed !" msgstr "Plantage du flux XML::Feed !"
#: ../IkiWiki/Plugin/aggregate.pm:590 #: ../IkiWiki/Plugin/aggregate.pm:595
#, perl-format #, perl-format
msgid "creating new page %s" msgid "creating new page %s"
msgstr "Création de la nouvelle page %s" msgstr "Création de la nouvelle page %s"
@ -130,7 +130,7 @@ msgstr "Création de la nouvelle page %s"
msgid "deleting bucket.." msgid "deleting bucket.."
msgstr "suppression du compartiment S3 (« bucket »)..." msgstr "suppression du compartiment S3 (« bucket »)..."
#: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:206 #: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:208
msgid "done" msgid "done"
msgstr "Terminé" msgstr "Terminé"
@ -173,7 +173,7 @@ msgid "automatic index generation"
msgstr "génération de l'index automatique" msgstr "génération de l'index automatique"
#: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:261 #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:261
#: ../IkiWiki/Plugin/inline.pm:327 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/inline.pm:344 ../IkiWiki/Plugin/opendiscussion.pm:26
#: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79
#: ../IkiWiki/Render.pm:149 #: ../IkiWiki/Render.pm:149
msgid "discussion" msgid "discussion"
@ -247,11 +247,11 @@ msgstr "edittemplate %s enregistré pour %s"
msgid "failed to process" msgid "failed to process"
msgstr "Échec du traitement" msgstr "Échec du traitement"
#: ../IkiWiki/Plugin/format.pm:22 #: ../IkiWiki/Plugin/format.pm:20
msgid "must specify format and text" msgid "must specify format and text"
msgstr "le format et le texte doivent être indiqués" msgstr "le format et le texte doivent être indiqués"
#: ../IkiWiki/Plugin/format.pm:25 #: ../IkiWiki/Plugin/format.pm:23
#, perl-format #, perl-format
msgid "unsupported page format %s" msgid "unsupported page format %s"
msgstr "format de page non reconnu %s" msgstr "format de page non reconnu %s"
@ -321,17 +321,17 @@ msgstr "Échec du redimensionnement : %s"
msgid "failed to determine size of image %s" msgid "failed to determine size of image %s"
msgstr "Échec de la détermination de la taille de l'image : %s" msgstr "Échec de la détermination de la taille de l'image : %s"
#: ../IkiWiki/Plugin/inline.pm:93 #: ../IkiWiki/Plugin/inline.pm:92
msgid "Must specify url to wiki with --url when using --rss or --atom" msgid "Must specify url to wiki with --url when using --rss or --atom"
msgstr "" msgstr ""
"Vous devez indiquer l'URL du wiki par --url lors de l'utilisation de --rss " "Vous devez indiquer l'URL du wiki par --url lors de l'utilisation de --rss "
"ou --atom" "ou --atom"
#: ../IkiWiki/Plugin/inline.pm:139 #: ../IkiWiki/Plugin/inline.pm:138
msgid "page editing not allowed" msgid "page editing not allowed"
msgstr "Modification de page interdite" msgstr "Modification de page interdite"
#: ../IkiWiki/Plugin/inline.pm:156 #: ../IkiWiki/Plugin/inline.pm:155
msgid "missing pages parameter" msgid "missing pages parameter"
msgstr "paramètre « pages » manquant" msgstr "paramètre « pages » manquant"
@ -340,20 +340,20 @@ msgstr "paramètre « pages » manquant"
msgid "unknown sort type %s" msgid "unknown sort type %s"
msgstr "Type de tri %s inconnu" msgstr "Type de tri %s inconnu"
#: ../IkiWiki/Plugin/inline.pm:285 #: ../IkiWiki/Plugin/inline.pm:297
msgid "Add a new post titled:" msgid "Add a new post titled:"
msgstr "Ajouter un nouvel article dont le titre est :" msgstr "Ajouter un nouvel article dont le titre est :"
#: ../IkiWiki/Plugin/inline.pm:301 #: ../IkiWiki/Plugin/inline.pm:318
#, perl-format #, perl-format
msgid "nonexistant template %s" msgid "nonexistant template %s"
msgstr "Le modèle de page %s n'existe pas" msgstr "Le modèle de page %s n'existe pas"
#: ../IkiWiki/Plugin/inline.pm:335 ../IkiWiki/Render.pm:83 #: ../IkiWiki/Plugin/inline.pm:352 ../IkiWiki/Render.pm:83
msgid "Discussion" msgid "Discussion"
msgstr "Discussion" msgstr "Discussion"
#: ../IkiWiki/Plugin/inline.pm:572 #: ../IkiWiki/Plugin/inline.pm:577
msgid "RPC::XML::Client not found, not pinging" msgid "RPC::XML::Client not found, not pinging"
msgstr "RPC::XML::Client introuvable, pas de réponse au ping" msgstr "RPC::XML::Client introuvable, pas de réponse au ping"
@ -573,16 +573,16 @@ msgid "need either `percent` or `totalpages` and `donepages` parameters"
msgstr "" msgstr ""
"L'un des paramètres « percent », « totalpages » ou « donepages » est nécessaire." "L'un des paramètres « percent », « totalpages » ou « donepages » est nécessaire."
#: ../IkiWiki/Plugin/recentchanges.pm:100 #: ../IkiWiki/Plugin/recentchanges.pm:101
msgid "missing page" msgid "missing page"
msgstr "Page manquante" msgstr "Page manquante"
#: ../IkiWiki/Plugin/recentchanges.pm:102 #: ../IkiWiki/Plugin/recentchanges.pm:103
#, perl-format #, perl-format
msgid "The page %s does not exist." msgid "The page %s does not exist."
msgstr "La page %s n'existe pas." msgstr "La page %s n'existe pas."
#: ../IkiWiki/Plugin/recentchangesdiff.pm:36 #: ../IkiWiki/Plugin/recentchangesdiff.pm:37
msgid "(Diff truncated)" msgid "(Diff truncated)"
msgstr "(fichier de différences tronqué)" msgstr "(fichier de différences tronqué)"
@ -820,12 +820,14 @@ msgstr ""
#: ../IkiWiki/Plugin/websetup.pm:433 #: ../IkiWiki/Plugin/websetup.pm:433
#, perl-format #, perl-format
msgid "<p class=\"error\">Error: %s exited nonzero (%s)" msgid "<p class=\"error\">Error: %s exited nonzero (%s)"
msgstr "<p class=\"erreur\">Erreur : %s s'est terminé, valeur de sortie nonzero (%s)" msgstr ""
"<p class=\"erreur\">Erreur : %s s'est terminé, valeur de sortie nonzero (%s)"
#: ../IkiWiki/Receive.pm:35 #: ../IkiWiki/Receive.pm:35
#, perl-format #, perl-format
msgid "cannot determine id of untrusted committer %s" msgid "cannot determine id of untrusted committer %s"
msgstr "Impossible de déterminer l'identifiant de %s, (enregistrement non fiable)" msgstr ""
"Impossible de déterminer l'identifiant de %s, (enregistrement non fiable)"
#: ../IkiWiki/Receive.pm:85 #: ../IkiWiki/Receive.pm:85
#, perl-format #, perl-format
@ -929,19 +931,19 @@ msgstr "Le nom du fichier CGI n'a pas été indiqué"
#. translators: The first parameter is a filename, and the second is #. translators: The first parameter is a filename, and the second is
#. translators: a (probably not translated) error message. #. translators: a (probably not translated) error message.
#: ../IkiWiki/Wrapper.pm:79 #: ../IkiWiki/Wrapper.pm:97
#, perl-format #, perl-format
msgid "failed to write %s: %s" msgid "failed to write %s: %s"
msgstr "Échec de l'écriture de %s : %s" msgstr "Échec de l'écriture de %s : %s"
#. translators: The parameter is a C filename. #. translators: The parameter is a C filename.
#: ../IkiWiki/Wrapper.pm:135 #: ../IkiWiki/Wrapper.pm:154
#, perl-format #, perl-format
msgid "failed to compile %s" msgid "failed to compile %s"
msgstr "Échec de la compilation de %s" msgstr "Échec de la compilation de %s"
#. translators: The parameter is a filename. #. translators: The parameter is a filename.
#: ../IkiWiki/Wrapper.pm:155 #: ../IkiWiki/Wrapper.pm:174
#, perl-format #, perl-format
msgid "successfully generated %s" msgid "successfully generated %s"
msgstr "%s a été créé avec succès" msgstr "%s a été créé avec succès"
@ -954,41 +956,42 @@ msgstr "Syntaxe : ikiwiki [options] source destination"
msgid " ikiwiki --setup configfile" msgid " ikiwiki --setup configfile"
msgstr " ikiwiki --setup fichier de configuration" msgstr " ikiwiki --setup fichier de configuration"
#: ../ikiwiki.in:90 #: ../ikiwiki.in:91
msgid "usage: --set var=value" msgid "usage: --set var=value"
msgstr "Syntaxe : -- set var=valeur" msgstr "Syntaxe : -- set var=valeur"
#: ../ikiwiki.in:138 #: ../ikiwiki.in:139
msgid "generating wrappers.." msgid "generating wrappers.."
msgstr "Création des fichiers CGI..." msgstr "Création des fichiers CGI..."
#: ../ikiwiki.in:195 #: ../ikiwiki.in:197
msgid "rebuilding wiki.." msgid "rebuilding wiki.."
msgstr "Reconstruction du wiki..." msgstr "Reconstruction du wiki..."
#: ../ikiwiki.in:198 #: ../ikiwiki.in:200
msgid "refreshing wiki.." msgid "refreshing wiki.."
msgstr "Rafraîchissement du wiki..." msgstr "Rafraîchissement du wiki..."
#: ../IkiWiki.pm:466 #: ../IkiWiki.pm:480
msgid "Must specify url to wiki with --url when using --cgi" msgid "Must specify url to wiki with --url when using --cgi"
msgstr "Vous devez indiquer l'URL du wiki par --url lors de l'utilisation de --cgi" msgstr ""
"Vous devez indiquer l'URL du wiki par --url lors de l'utilisation de --cgi"
#: ../IkiWiki.pm:512 #: ../IkiWiki.pm:526
msgid "cannot use multiple rcs plugins" msgid "cannot use multiple rcs plugins"
msgstr "impossible d'utiliser plusieurs systèmes de contrôle des versions" msgstr "impossible d'utiliser plusieurs systèmes de contrôle des versions"
#: ../IkiWiki.pm:541 #: ../IkiWiki.pm:555
#, perl-format #, perl-format
msgid "failed to load external plugin needed for %s plugin: %s" msgid "failed to load external plugin needed for %s plugin: %s"
msgstr "Impossible de charger le greffon externe nécessaire au greffon %s : %s" msgstr "Impossible de charger le greffon externe nécessaire au greffon %s : %s"
#: ../IkiWiki.pm:1165 #: ../IkiWiki.pm:1187
#, perl-format #, perl-format
msgid "preprocessing loop detected on %s at depth %i" msgid "preprocessing loop detected on %s at depth %i"
msgstr "une boucle de pré traitement a été détectée sur %s à hauteur de %i" msgstr "une boucle de pré traitement a été détectée sur %s à hauteur de %i"
#: ../IkiWiki.pm:1678 #: ../IkiWiki.pm:1688
msgid "yes" msgid "yes"
msgstr "oui" msgstr "oui"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-11-11 20:48-0500\n" "POT-Creation-Date: 2008-12-11 14:46-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -48,7 +48,7 @@ msgstr ""
msgid "You are banned." msgid "You are banned."
msgstr "" msgstr ""
#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1189 #: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1204
msgid "Error" msgid "Error"
msgstr "" msgstr ""
@ -111,16 +111,16 @@ msgstr ""
msgid "(invalid UTF-8 stripped from feed)" msgid "(invalid UTF-8 stripped from feed)"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:504 #: ../IkiWiki/Plugin/aggregate.pm:506
#, perl-format #, perl-format
msgid "(feed entities escaped)" msgid "(feed entities escaped)"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:510 #: ../IkiWiki/Plugin/aggregate.pm:514
msgid "feed crashed XML::Feed!" msgid "feed crashed XML::Feed!"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:591 #: ../IkiWiki/Plugin/aggregate.pm:595
#, perl-format #, perl-format
msgid "creating new page %s" msgid "creating new page %s"
msgstr "" msgstr ""
@ -129,7 +129,7 @@ msgstr ""
msgid "deleting bucket.." msgid "deleting bucket.."
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:206 #: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:208
msgid "done" msgid "done"
msgstr "" msgstr ""
@ -172,7 +172,7 @@ msgid "automatic index generation"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:261 #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:261
#: ../IkiWiki/Plugin/inline.pm:327 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/inline.pm:344 ../IkiWiki/Plugin/opendiscussion.pm:26
#: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79
#: ../IkiWiki/Render.pm:149 #: ../IkiWiki/Render.pm:149
msgid "discussion" msgid "discussion"
@ -320,15 +320,15 @@ msgstr ""
msgid "failed to determine size of image %s" msgid "failed to determine size of image %s"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/inline.pm:93 #: ../IkiWiki/Plugin/inline.pm:92
msgid "Must specify url to wiki with --url when using --rss or --atom" msgid "Must specify url to wiki with --url when using --rss or --atom"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/inline.pm:139 #: ../IkiWiki/Plugin/inline.pm:138
msgid "page editing not allowed" msgid "page editing not allowed"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/inline.pm:156 #: ../IkiWiki/Plugin/inline.pm:155
msgid "missing pages parameter" msgid "missing pages parameter"
msgstr "" msgstr ""
@ -337,20 +337,20 @@ msgstr ""
msgid "unknown sort type %s" msgid "unknown sort type %s"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/inline.pm:285 #: ../IkiWiki/Plugin/inline.pm:297
msgid "Add a new post titled:" msgid "Add a new post titled:"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/inline.pm:301 #: ../IkiWiki/Plugin/inline.pm:318
#, perl-format #, perl-format
msgid "nonexistant template %s" msgid "nonexistant template %s"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/inline.pm:335 ../IkiWiki/Render.pm:83 #: ../IkiWiki/Plugin/inline.pm:352 ../IkiWiki/Render.pm:83
msgid "Discussion" msgid "Discussion"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/inline.pm:572 #: ../IkiWiki/Plugin/inline.pm:577
msgid "RPC::XML::Client not found, not pinging" msgid "RPC::XML::Client not found, not pinging"
msgstr "" msgstr ""
@ -563,16 +563,16 @@ msgstr ""
msgid "need either `percent` or `totalpages` and `donepages` parameters" msgid "need either `percent` or `totalpages` and `donepages` parameters"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/recentchanges.pm:100 #: ../IkiWiki/Plugin/recentchanges.pm:101
msgid "missing page" msgid "missing page"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/recentchanges.pm:102 #: ../IkiWiki/Plugin/recentchanges.pm:103
#, perl-format #, perl-format
msgid "The page %s does not exist." msgid "The page %s does not exist."
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/recentchangesdiff.pm:36 #: ../IkiWiki/Plugin/recentchangesdiff.pm:37
msgid "(Diff truncated)" msgid "(Diff truncated)"
msgstr "" msgstr ""
@ -935,41 +935,41 @@ msgstr ""
msgid " ikiwiki --setup configfile" msgid " ikiwiki --setup configfile"
msgstr "" msgstr ""
#: ../ikiwiki.in:90 #: ../ikiwiki.in:91
msgid "usage: --set var=value" msgid "usage: --set var=value"
msgstr "" msgstr ""
#: ../ikiwiki.in:138 #: ../ikiwiki.in:139
msgid "generating wrappers.." msgid "generating wrappers.."
msgstr "" msgstr ""
#: ../ikiwiki.in:195 #: ../ikiwiki.in:197
msgid "rebuilding wiki.." msgid "rebuilding wiki.."
msgstr "" msgstr ""
#: ../ikiwiki.in:198 #: ../ikiwiki.in:200
msgid "refreshing wiki.." msgid "refreshing wiki.."
msgstr "" msgstr ""
#: ../IkiWiki.pm:473 #: ../IkiWiki.pm:480
msgid "Must specify url to wiki with --url when using --cgi" msgid "Must specify url to wiki with --url when using --cgi"
msgstr "" msgstr ""
#: ../IkiWiki.pm:519 #: ../IkiWiki.pm:526
msgid "cannot use multiple rcs plugins" msgid "cannot use multiple rcs plugins"
msgstr "" msgstr ""
#: ../IkiWiki.pm:548 #: ../IkiWiki.pm:555
#, perl-format #, perl-format
msgid "failed to load external plugin needed for %s plugin: %s" msgid "failed to load external plugin needed for %s plugin: %s"
msgstr "" msgstr ""
#: ../IkiWiki.pm:1172 #: ../IkiWiki.pm:1187
#, perl-format #, perl-format
msgid "preprocessing loop detected on %s at depth %i" msgid "preprocessing loop detected on %s at depth %i"
msgstr "" msgstr ""
#: ../IkiWiki.pm:1673 #: ../IkiWiki.pm:1688
msgid "yes" msgid "yes"
msgstr "" msgstr ""