summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2009-01-01 13:34:00 +0100
committerintrigeri <intrigeri@boum.org>2009-01-01 13:34:00 +0100
commit5c2f6cb8935f828274511ba5ca0d92b586632740 (patch)
tree0c72d1f73c0424236a98a1d51d192ee5e0e507ae
parentc3af3840a295780e0f32df398f2dc7d34653e75e (diff)
parent8202cfe19e65867d7e41339944a8d7ca6daffa22 (diff)
Merge commit 'upstream/master' into prv/po
-rw-r--r--IkiWiki.pm52
-rw-r--r--IkiWiki/CGI.pm32
-rw-r--r--IkiWiki/Plugin/aggregate.pm8
-rw-r--r--IkiWiki/Plugin/amazon_s3.pm2
-rw-r--r--IkiWiki/Plugin/anonok.pm2
-rw-r--r--IkiWiki/Plugin/attachment.pm52
-rw-r--r--IkiWiki/Plugin/autoindex.pm2
-rw-r--r--IkiWiki/Plugin/brokenlinks.pm2
-rw-r--r--IkiWiki/Plugin/calendar.pm2
-rw-r--r--IkiWiki/Plugin/camelcase.pm2
-rw-r--r--IkiWiki/Plugin/color.pm2
-rw-r--r--IkiWiki/Plugin/comments.pm7
-rw-r--r--IkiWiki/Plugin/conditional.pm2
-rw-r--r--IkiWiki/Plugin/creole.pm2
-rw-r--r--IkiWiki/Plugin/cutpaste.pm2
-rw-r--r--IkiWiki/Plugin/ddate.pm2
-rw-r--r--IkiWiki/Plugin/editdiff.pm2
-rw-r--r--IkiWiki/Plugin/edittemplate.pm2
-rw-r--r--IkiWiki/Plugin/embed.pm2
-rw-r--r--IkiWiki/Plugin/external.pm2
-rw-r--r--IkiWiki/Plugin/favicon.pm2
-rw-r--r--IkiWiki/Plugin/filecheck.pm2
-rw-r--r--IkiWiki/Plugin/format.pm2
-rw-r--r--IkiWiki/Plugin/fortune.pm2
-rw-r--r--IkiWiki/Plugin/goodstuff.pm2
-rw-r--r--IkiWiki/Plugin/google.pm2
-rw-r--r--IkiWiki/Plugin/googlecalendar.pm57
-rw-r--r--IkiWiki/Plugin/graphviz.pm2
-rw-r--r--IkiWiki/Plugin/haiku.pm2
-rw-r--r--IkiWiki/Plugin/hnb.pm2
-rw-r--r--IkiWiki/Plugin/html.pm2
-rw-r--r--IkiWiki/Plugin/htmlbalance.pm5
-rw-r--r--IkiWiki/Plugin/htmlscrubber.pm2
-rw-r--r--IkiWiki/Plugin/htmltidy.pm2
-rw-r--r--IkiWiki/Plugin/httpauth.pm2
-rw-r--r--IkiWiki/Plugin/img.pm2
-rw-r--r--IkiWiki/Plugin/inline.pm2
-rw-r--r--IkiWiki/Plugin/link.pm2
-rw-r--r--IkiWiki/Plugin/linkmap.pm2
-rw-r--r--IkiWiki/Plugin/listdirectives.pm2
-rw-r--r--IkiWiki/Plugin/lockedit.pm60
-rw-r--r--IkiWiki/Plugin/map.pm2
-rw-r--r--IkiWiki/Plugin/mdwn.pm2
-rw-r--r--IkiWiki/Plugin/meta.pm2
-rw-r--r--IkiWiki/Plugin/mirrorlist.pm2
-rw-r--r--IkiWiki/Plugin/more.pm2
-rw-r--r--IkiWiki/Plugin/opendiscussion.pm2
-rw-r--r--IkiWiki/Plugin/openid.pm2
-rw-r--r--IkiWiki/Plugin/orphans.pm2
-rw-r--r--IkiWiki/Plugin/otl.pm2
-rw-r--r--IkiWiki/Plugin/pagecount.pm2
-rw-r--r--IkiWiki/Plugin/pagestats.pm2
-rw-r--r--IkiWiki/Plugin/pagetemplate.pm2
-rw-r--r--IkiWiki/Plugin/parentlinks.pm2
-rw-r--r--IkiWiki/Plugin/passwordauth.pm2
-rw-r--r--IkiWiki/Plugin/pingee.pm2
-rw-r--r--IkiWiki/Plugin/pinger.pm2
-rw-r--r--IkiWiki/Plugin/poll.pm2
-rw-r--r--IkiWiki/Plugin/polygen.pm2
-rw-r--r--IkiWiki/Plugin/postsparkline.pm2
-rw-r--r--IkiWiki/Plugin/prettydate.pm2
-rw-r--r--IkiWiki/Plugin/progress.pm2
-rw-r--r--IkiWiki/Plugin/rawhtml.pm2
-rw-r--r--IkiWiki/Plugin/recentchanges.pm2
-rw-r--r--IkiWiki/Plugin/recentchangesdiff.pm2
-rw-r--r--IkiWiki/Plugin/relativedate.pm2
-rw-r--r--IkiWiki/Plugin/remove.pm2
-rw-r--r--IkiWiki/Plugin/rename.pm2
-rw-r--r--IkiWiki/Plugin/search.pm2
-rw-r--r--IkiWiki/Plugin/shortcut.pm2
-rw-r--r--IkiWiki/Plugin/sidebar.pm2
-rw-r--r--IkiWiki/Plugin/signinedit.pm2
-rw-r--r--IkiWiki/Plugin/smiley.pm2
-rw-r--r--IkiWiki/Plugin/sparkline.pm2
-rw-r--r--IkiWiki/Plugin/table.pm2
-rw-r--r--IkiWiki/Plugin/tag.pm2
-rw-r--r--IkiWiki/Plugin/template.pm2
-rw-r--r--IkiWiki/Plugin/testpagespec.pm2
-rw-r--r--IkiWiki/Plugin/teximg.pm2
-rw-r--r--IkiWiki/Plugin/textile.pm2
-rw-r--r--IkiWiki/Plugin/toc.pm2
-rw-r--r--IkiWiki/Plugin/toggle.pm2
-rw-r--r--IkiWiki/Plugin/txt.pm2
-rw-r--r--IkiWiki/Plugin/typography.pm2
-rw-r--r--IkiWiki/Plugin/version.pm2
-rw-r--r--IkiWiki/Plugin/websetup.pm4
-rw-r--r--IkiWiki/Plugin/wikitext.pm2
-rw-r--r--IkiWiki/UserInfo.pm20
-rw-r--r--auto.setup1
-rw-r--r--debian/NEWS14
-rw-r--r--debian/changelog27
-rw-r--r--doc/download.mdwn2
-rw-r--r--doc/ikiwiki-transition.mdwn36
-rw-r--r--doc/ikiwiki/directive.mdwn16
-rw-r--r--doc/ikiwiki/pagespec.mdwn19
-rw-r--r--doc/news/ikiwiki_version_3.0.mdwn42
-rw-r--r--doc/plugins/aggregate.mdwn36
-rw-r--r--doc/plugins/contrib.mdwn2
-rw-r--r--doc/plugins/discussion.mdwn9
-rw-r--r--doc/plugins/embed.mdwn8
-rw-r--r--doc/plugins/googlecalendar.mdwn20
-rw-r--r--doc/plugins/htmlscrubber.mdwn8
-rw-r--r--doc/plugins/lockedit.mdwn2
-rw-r--r--doc/plugins/write.mdwn6
-rw-r--r--doc/plugins/write/tutorial.mdwn2
-rw-r--r--doc/roadmap.mdwn53
-rw-r--r--doc/security.mdwn2
-rw-r--r--doc/tips/embedding_content.mdwn35
-rw-r--r--doc/tips/github.mdwn67
-rw-r--r--doc/tips/upgrade_to_3.0.mdwn95
-rw-r--r--doc/todo/firm_up_plugin_interface.mdwn2
-rw-r--r--doc/todo/need_global_renamepage_hook.mdwn6
-rw-r--r--doc/users/smcv/gallery.mdwn266
-rw-r--r--doc/wikiicons/openidlogin-bg.gifbin142 -> 336 bytes
-rwxr-xr-xikiwiki-transition99
-rw-r--r--po/bg.po83
-rw-r--r--po/cs.po81
-rw-r--r--po/da.po81
-rw-r--r--po/de.po81
-rw-r--r--po/es.po83
-rw-r--r--po/fr.po68
-rw-r--r--po/gu.po81
-rw-r--r--po/ikiwiki.pot54
-rw-r--r--po/pl.po83
-rw-r--r--po/sv.po83
-rw-r--r--po/vi.po83
-rw-r--r--t/basewiki_brokenlinks/index.mdwn2
-rwxr-xr-xt/pagespec_match.t11
-rwxr-xr-xt/pagespec_merge.t12
-rw-r--r--t/tinyblog/index.mdwn2
l---------underlays/basewiki/directive.mdwn1
131 files changed, 1255 insertions, 962 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index 54e00ec7b..e509a7c2f 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -24,7 +24,7 @@ our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match
inject
%config %links %pagestate %wikistate %renderedfiles
%pagesources %destsources);
-our $VERSION = 2.00; # plugin interface version, next is ikiwiki version
+our $VERSION = 3.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
@@ -194,7 +194,7 @@ sub getsetup () {
},
prefix_directives => {
type => "boolean",
- default => 0,
+ default => 1,
description => "use '!'-prefixed preprocessor directives?",
safe => 0, # changing requires manual transition
rebuild => 1,
@@ -1600,40 +1600,6 @@ sub rcs_receive () {
$hooks{rcs}{rcs_receive}{call}->();
}
-sub globlist_to_pagespec ($) {
- my @globlist=split(' ', shift);
-
- my (@spec, @skip);
- foreach my $glob (@globlist) {
- if ($glob=~/^!(.*)/) {
- push @skip, $glob;
- }
- else {
- push @spec, $glob;
- }
- }
-
- my $spec=join(' or ', @spec);
- if (@skip) {
- my $skip=join(' and ', @skip);
- if (length $spec) {
- $spec="$skip and ($spec)";
- }
- else {
- $spec=$skip;
- }
- }
- return $spec;
-}
-
-sub is_globlist ($) {
- my $s=shift;
- my $ret= ( $s =~ /[^\s]+\s+([^\s]+)/ && $1 ne "and" && $1 ne "or" );
- print STDERR "warning: deprecated GlobList style PageSpec \"$s\" will stop working in ikiwiki version 3.0\n"
- if $ret && $s !~ /TMPL_VAR/; # hack alert
- return $ret;
-}
-
sub safequote ($) {
my $s=shift;
$s=~s/[{}]//g;
@@ -1725,26 +1691,12 @@ sub pagespec_merge ($$) {
my $b=shift;
return $a if $a eq $b;
-
- # Support for old-style GlobLists.
- if (is_globlist($a)) {
- $a=globlist_to_pagespec($a);
- }
- if (is_globlist($b)) {
- $b=globlist_to_pagespec($b);
- }
-
return "($a) or ($b)";
}
sub pagespec_translate ($) {
my $spec=shift;
- # Support for old-style GlobLists.
- if (is_globlist($spec)) {
- $spec=globlist_to_pagespec($spec);
- }
-
# Convert spec to perl code.
my $code="";
while ($spec=~m{
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 81cb42d13..3fadc462e 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -203,25 +203,9 @@ sub cgi_prefs ($$) {
my $user_name=$session->param("name");
- # XXX deprecated, should be removed eventually
- $form->field(name => "banned_users", size => 50, fieldset => "admin");
- if (! is_admin($user_name)) {
- $form->field(name => "banned_users", type => "hidden");
- }
if (! $form->submitted) {
$form->field(name => "email", force => 1,
value => userinfo_get($user_name, "email"));
- if (is_admin($user_name)) {
- my $value=join(" ", get_banned_users());
- if (length $value) {
- $form->field(name => "banned_users", force => 1,
- value => join(" ", get_banned_users()),
- comment => "deprecated; please move to banned_users in setup file");
- }
- else {
- $form->field(name => "banned_users", type => "hidden");
- }
- }
}
if ($form->submitted eq 'Logout') {
@@ -239,17 +223,6 @@ sub cgi_prefs ($$) {
error("failed to set email");
}
- # XXX deprecated, should be removed eventually
- if (is_admin($user_name)) {
- set_banned_users(grep { ! is_admin($_) }
- split(' ',
- $form->field("banned_users"))) ||
- error("failed saving changes");
- if (! length $form->field("banned_users")) {
- $form->field(name => "banned_users", type => "hidden");
- }
- }
-
$form->text(gettext("Preferences saved."));
}
@@ -262,10 +235,7 @@ sub check_banned ($$) {
my $name=$session->param("name");
if (defined $name) {
- # XXX banned in userinfo is deprecated, should be removed
- # eventually, and only banned_users be checked.
- if (userinfo_get($session->param("name"), "banned") ||
- grep { $name eq $_ } @{$config{banned_users}}) {
+ if (grep { $name eq $_ } @{$config{banned_users}}) {
print $q->header(-status => "403 Forbidden");
$session->delete();
print gettext("You are banned.");
diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm
index 97dd036f6..c667ee2a9 100644
--- a/IkiWiki/Plugin/aggregate.pm
+++ b/IkiWiki/Plugin/aggregate.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::aggregate;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use HTML::Parser;
use HTML::Tagset;
use HTML::Entities;
@@ -46,7 +46,7 @@ sub getsetup () {
},
aggregateinternal => {
type => "boolean",
- example => 0,
+ example => 1,
description => "enable aggregation to internal pages?",
safe => 0, # enabling needs manual transition
rebuild => 0,
@@ -61,6 +61,10 @@ sub getsetup () {
}
sub checkconfig () {
+ if (! defined $config{aggregateinternal}) {
+ $config{aggregateinternal}=1;
+ }
+
if ($config{aggregate} && ! ($config{post_commit} &&
IkiWiki::commit_hook_enabled())) {
launchaggregation();
diff --git a/IkiWiki/Plugin/amazon_s3.pm b/IkiWiki/Plugin/amazon_s3.pm
index 93c10b629..10bf358e4 100644
--- a/IkiWiki/Plugin/amazon_s3.pm
+++ b/IkiWiki/Plugin/amazon_s3.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::amazon_s3;
use warnings;
no warnings 'redefine';
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use IkiWiki::Render;
use Net::Amazon::S3;
diff --git a/IkiWiki/Plugin/anonok.pm b/IkiWiki/Plugin/anonok.pm
index 1cbdfe4e5..243b98920 100644
--- a/IkiWiki/Plugin/anonok.pm
+++ b/IkiWiki/Plugin/anonok.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::anonok;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "anonok", call => \&getsetup);
diff --git a/IkiWiki/Plugin/attachment.pm b/IkiWiki/Plugin/attachment.pm
index 87da6cd4e..087c315a9 100644
--- a/IkiWiki/Plugin/attachment.pm
+++ b/IkiWiki/Plugin/attachment.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::attachment;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
add_underlay("javascript");
@@ -61,23 +61,6 @@ sub check_canattach ($$;$) {
);
}
- # XXX deprecated, should be removed eventually
- if ($allowed) {
- foreach my $admin (@{$config{adminuser}}) {
- my $allowed_attachments=IkiWiki::userinfo_get($admin, "allowed_attachments");
- if (defined $allowed_attachments &&
- length $allowed_attachments) {
- $allowed=pagespec_match($dest,
- $allowed_attachments,
- file => $file,
- user => $session->param("name"),
- ip => $ENV{REMOTE_ADDR},
- );
- last if $allowed;
- }
- }
- }
-
if (! $allowed) {
error(gettext("prohibited by allowed_attachments")." ($allowed)");
}
@@ -120,39 +103,6 @@ sub formbuilder_setup (@) {
$form->tmpl_param("attachments-class" => "toggleable-open");
}
}
- elsif ($form->title eq "preferences") {
- # XXX deprecated, should remove eventually
- my $session=$params{session};
- my $user_name=$session->param("name");
-
- $form->field(name => "allowed_attachments", size => 50,
- fieldset => "admin",
- comment => "deprecated; please move to allowed_attachments in setup file",
- );
- if (! IkiWiki::is_admin($user_name)) {
- $form->field(name => "allowed_attachments", type => "hidden");
- }
- if (! $form->submitted) {
- my $value=IkiWiki::userinfo_get($user_name, "allowed_attachments");
- if (length $value) {
- $form->field(name => "allowed_attachments", force => 1,
- value => IkiWiki::userinfo_get($user_name, "allowed_attachments"));
- }
- else {
- $form->field(name => "allowed_attachments", type => "hidden");
- }
- }
- if ($form->submitted && $form->submitted eq 'Save Preferences') {
- if (defined $form->field("allowed_attachments")) {
- IkiWiki::userinfo_set($user_name, "allowed_attachments",
- $form->field("allowed_attachments")) ||
- error("failed to set allowed_attachments");
- if (! length $form->field("allowed_attachments")) {
- $form->field(name => "allowed_attachments", type => "hidden");
- }
- }
- }
- }
}
sub formbuilder (@) {
diff --git a/IkiWiki/Plugin/autoindex.pm b/IkiWiki/Plugin/autoindex.pm
index bb08091ae..555856b11 100644
--- a/IkiWiki/Plugin/autoindex.pm
+++ b/IkiWiki/Plugin/autoindex.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::autoindex;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use Encode;
sub import {
diff --git a/IkiWiki/Plugin/brokenlinks.pm b/IkiWiki/Plugin/brokenlinks.pm
index 1c52099bf..bf0d7560d 100644
--- a/IkiWiki/Plugin/brokenlinks.pm
+++ b/IkiWiki/Plugin/brokenlinks.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::brokenlinks;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "brokenlinks", call => \&getsetup);
diff --git a/IkiWiki/Plugin/calendar.pm b/IkiWiki/Plugin/calendar.pm
index 88303fc44..d473c8348 100644
--- a/IkiWiki/Plugin/calendar.pm
+++ b/IkiWiki/Plugin/calendar.pm
@@ -20,7 +20,7 @@ package IkiWiki::Plugin::calendar;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use Time::Local;
use POSIX;
diff --git a/IkiWiki/Plugin/camelcase.pm b/IkiWiki/Plugin/camelcase.pm
index f9ee30fe2..74a8397d7 100644
--- a/IkiWiki/Plugin/camelcase.pm
+++ b/IkiWiki/Plugin/camelcase.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::camelcase;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
# This regexp is based on the one in Text::WikiFormat.
my $link_regexp=qr{
diff --git a/IkiWiki/Plugin/color.pm b/IkiWiki/Plugin/color.pm
index 53d8389d2..20505893b 100644
--- a/IkiWiki/Plugin/color.pm
+++ b/IkiWiki/Plugin/color.pm
@@ -5,7 +5,7 @@ package IkiWiki::Plugin::color;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "preprocess", id => "color", call => \&preprocess);
diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm
index d8318d3e3..1c10417c3 100644
--- a/IkiWiki/Plugin/comments.pm
+++ b/IkiWiki/Plugin/comments.pm
@@ -7,7 +7,7 @@ package IkiWiki::Plugin::comments;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use Encode;
use POSIX qw(strftime);
@@ -506,7 +506,10 @@ sub sessioncgi ($$) {
error($conflict) if defined $conflict;
# Jump to the new comment on the page.
- IkiWiki::redirect($cgi, urlto($page, undef, 1)."#$location");
+ # The trailing question mark tries to avoid broken
+ # caches and get the most recent version of the page.
+ IkiWiki::redirect($cgi, urlto($page, undef, 1)."#$location?updated");
+
}
else {
IkiWiki::showform ($form, \@buttons, $session, $cgi,
diff --git a/IkiWiki/Plugin/conditional.pm b/IkiWiki/Plugin/conditional.pm
index 66253e07d..4f3577b34 100644
--- a/IkiWiki/Plugin/conditional.pm
+++ b/IkiWiki/Plugin/conditional.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::conditional;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use UNIVERSAL;
sub import {
diff --git a/IkiWiki/Plugin/creole.pm b/IkiWiki/Plugin/creole.pm
index 3c46a48df..425e71043 100644
--- a/IkiWiki/Plugin/creole.pm
+++ b/IkiWiki/Plugin/creole.pm
@@ -5,7 +5,7 @@ package IkiWiki::Plugin::creole;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "creole", call => \&getsetup);
diff --git a/IkiWiki/Plugin/cutpaste.pm b/IkiWiki/Plugin/cutpaste.pm
index e579c1ea2..417442f34 100644
--- a/IkiWiki/Plugin/cutpaste.pm
+++ b/IkiWiki/Plugin/cutpaste.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::cutpaste;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %savedtext;
diff --git a/IkiWiki/Plugin/ddate.pm b/IkiWiki/Plugin/ddate.pm
index 3470640dc..bb77ce59f 100644
--- a/IkiWiki/Plugin/ddate.pm
+++ b/IkiWiki/Plugin/ddate.pm
@@ -2,7 +2,7 @@
# Discordian date support fnord ikiwiki.
package IkiWiki::Plugin::ddate;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
no warnings;
sub import {
diff --git a/IkiWiki/Plugin/editdiff.pm b/IkiWiki/Plugin/editdiff.pm
index 068b83b3c..7df6a9ffb 100644
--- a/IkiWiki/Plugin/editdiff.pm
+++ b/IkiWiki/Plugin/editdiff.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::editdiff;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use HTML::Entities;
use IPC::Open2;
diff --git a/IkiWiki/Plugin/edittemplate.pm b/IkiWiki/Plugin/edittemplate.pm
index 7c0e7c2f8..0bafc95d0 100644
--- a/IkiWiki/Plugin/edittemplate.pm
+++ b/IkiWiki/Plugin/edittemplate.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::edittemplate;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use HTML::Template;
use Encode;
diff --git a/IkiWiki/Plugin/embed.pm b/IkiWiki/Plugin/embed.pm
index 664c95763..a7d38358f 100644
--- a/IkiWiki/Plugin/embed.pm
+++ b/IkiWiki/Plugin/embed.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::embed;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my $attribr=qr/[^<>"]+/;
diff --git a/IkiWiki/Plugin/external.pm b/IkiWiki/Plugin/external.pm
index 2d540143f..066f15cf1 100644
--- a/IkiWiki/Plugin/external.pm
+++ b/IkiWiki/Plugin/external.pm
@@ -6,7 +6,7 @@ package IkiWiki::Plugin::external;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use RPC::XML;
use RPC::XML::Parser;
use IPC::Open2;
diff --git a/IkiWiki/Plugin/favicon.pm b/IkiWiki/Plugin/favicon.pm
index 68359a4aa..6060914c5 100644
--- a/IkiWiki/Plugin/favicon.pm
+++ b/IkiWiki/Plugin/favicon.pm
@@ -5,7 +5,7 @@ package IkiWiki::Plugin::favicon;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "favicon", call => \&getsetup);
diff --git a/IkiWiki/Plugin/filecheck.pm b/IkiWiki/Plugin/filecheck.pm
index 5040a185c..8575ee108 100644
--- a/IkiWiki/Plugin/filecheck.pm
+++ b/IkiWiki/Plugin/filecheck.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::filecheck;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %units=( #{{{ # size in bytes
B => 1,
diff --git a/IkiWiki/Plugin/format.pm b/IkiWiki/Plugin/format.pm
index b4d3a3c5f..bbe3aa9fe 100644
--- a/IkiWiki/Plugin/format.pm
+++ b/IkiWiki/Plugin/format.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::format;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "preprocess", id => "format", call => \&preprocess);
diff --git a/IkiWiki/Plugin/fortune.pm b/IkiWiki/Plugin/fortune.pm
index 6a12f28fd..17e57dea1 100644
--- a/IkiWiki/Plugin/fortune.pm
+++ b/IkiWiki/Plugin/fortune.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::fortune;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "fortune", call => \&getsetup);
diff --git a/IkiWiki/Plugin/goodstuff.pm b/IkiWiki/Plugin/goodstuff.pm
index 92bc8200a..46f2380cf 100644
--- a/IkiWiki/Plugin/goodstuff.pm
+++ b/IkiWiki/Plugin/goodstuff.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::goodstuff;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my @bundle=qw{
brokenlinks
diff --git a/IkiWiki/Plugin/google.pm b/IkiWiki/Plugin/google.pm
index 5394c5a6f..4bba5775c 100644
--- a/IkiWiki/Plugin/google.pm
+++ b/IkiWiki/Plugin/google.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::google;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use URI;
my $host;
diff --git a/IkiWiki/Plugin/googlecalendar.pm b/IkiWiki/Plugin/googlecalendar.pm
deleted file mode 100644
index 24c2e1527..000000000
--- a/IkiWiki/Plugin/googlecalendar.pm
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/perl
-package IkiWiki::Plugin::googlecalendar;
-
-use warnings;
-use strict;
-use IkiWiki 2.00;
-
-print STDERR "warning: the googlecalendar plugin is deprecated and will be removed in ikiwiki 3.0 (use the embed plugin instead)\n";
-
-sub import {
- hook(type => "getsetup", id => "googlecalendar",
- call => \&getsetup);
- hook(type => "preprocess", id => "googlecalendar",
- call => \&preprocess);
- hook(type => "format", id => "googlecalendar",
- call => \&format);
-}
-
-sub getsetup () {
- return
- plugin => {
- safe => 1,
- rebuild => undef,
- },
-}
-
-sub preprocess (@) {
- my %params=@_;
-
- # Parse the html, looking for the url to embed for the calendar.
- # Avoid XSS attacks..
- my ($url)=$params{html}=~m#iframe\s+src="http://www\.google\.com/calendar/embed\?([^"<>]+)"#;
- if (! defined $url || ! length $url) {
- error gettext("failed to find url in html")
- }
- my ($height)=$params{html}=~m#height="(\d+)"#;
- my ($width)=$params{html}=~m#width="(\d+)"#;
-
- return "<div class=\"googlecalendar\" src=\"$url\" height=\"$height\" width=\"$width\"></div>";
-}
-
-sub format (@) {
- my %params=@_;
-
- $params{content}=~s/<div class=\"googlecalendar" src="([^"]+)" height="([^"]+)" width="([^"]+)"><\/div>/gencal($1,$2,$3)/eg;
-
- return $params{content};
-}
-
-sub gencal ($$$) {
- my $url=shift;
- my $height=shift;
- my $width=shift;
- return qq{<iframe src="http://www.google.com/calendar/embed?$url" style=" border-width:0 " width="$width" frameborder="0" height="$height"></iframe>};
-}
-
-1
diff --git a/IkiWiki/Plugin/graphviz.pm b/IkiWiki/Plugin/graphviz.pm
index 23631da30..b43e96a73 100644
--- a/IkiWiki/Plugin/graphviz.pm
+++ b/IkiWiki/Plugin/graphviz.pm
@@ -5,7 +5,7 @@ package IkiWiki::Plugin::graphviz;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use IPC::Open2;
sub import {
diff --git a/IkiWiki/Plugin/haiku.pm b/IkiWiki/Plugin/haiku.pm
index fe68c6eec..5a062a276 100644
--- a/IkiWiki/Plugin/haiku.pm
+++ b/IkiWiki/Plugin/haiku.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::haiku;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "haiku", call => \&getsetup);
diff --git a/IkiWiki/Plugin/hnb.pm b/IkiWiki/Plugin/hnb.pm
index d5b5ce3b4..bd2177a06 100644
--- a/IkiWiki/Plugin/hnb.pm
+++ b/IkiWiki/Plugin/hnb.pm
@@ -10,7 +10,7 @@ package IkiWiki::Plugin::hnb;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use File::Temp qw(:mktemp);
sub import {
diff --git a/IkiWiki/Plugin/html.pm b/IkiWiki/Plugin/html.pm
index 9b9547cca..a7d5e8ce9 100644
--- a/IkiWiki/Plugin/html.pm
+++ b/IkiWiki/Plugin/html.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::html;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "html", call => \&getsetup);
diff --git a/IkiWiki/Plugin/htmlbalance.pm b/IkiWiki/Plugin/htmlbalance.pm
index acbe40a5d..26f8e494b 100644
--- a/IkiWiki/Plugin/htmlbalance.pm
+++ b/IkiWiki/Plugin/htmlbalance.pm
@@ -9,8 +9,7 @@ package IkiWiki::Plugin::htmlbalance;
use warnings;
use strict;
-use IkiWiki 2.00;
-use HTML::TreeBuilder;
+use IkiWiki 3.00;
use HTML::Entities;
sub import {
@@ -30,6 +29,8 @@ sub sanitize (@) {
my %params=@_;
my $ret = '';
+ eval q{use HTML::TreeBuilder};
+ error $@ if $@;
my $tree = HTML::TreeBuilder->new();
$tree->ignore_unknown(0);
$tree->ignore_ignorable_whitespace(0);
diff --git a/IkiWiki/Plugin/htmlscrubber.pm b/IkiWiki/Plugin/htmlscrubber.pm
index 823b3d806..a249cdf7a 100644
--- a/IkiWiki/Plugin/htmlscrubber.pm
+++ b/IkiWiki/Plugin/htmlscrubber.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::htmlscrubber;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
# This regexp matches urls that are in a known safe scheme.
# Feel free to use it from other plugins.
diff --git a/IkiWiki/Plugin/htmltidy.pm b/IkiWiki/Plugin/htmltidy.pm
index 02438ebef..6f3379ef4 100644
--- a/IkiWiki/Plugin/htmltidy.pm
+++ b/IkiWiki/Plugin/htmltidy.pm
@@ -9,7 +9,7 @@ package IkiWiki::Plugin::htmltidy;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use IPC::Open2;
sub import {
diff --git a/IkiWiki/Plugin/httpauth.pm b/IkiWiki/Plugin/httpauth.pm
index 39edff615..1816c9d74 100644
--- a/IkiWiki/Plugin/httpauth.pm
+++ b/IkiWiki/Plugin/httpauth.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::httpauth;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "httpauth", call => \&getsetup);
diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm
index 395890c0e..5c580c03c 100644
--- a/IkiWiki/Plugin/img.pm
+++ b/IkiWiki/Plugin/img.pm
@@ -5,7 +5,7 @@ package IkiWiki::Plugin::img;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %imgdefaults;
diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
index e1e57e43e..d8b5f8548 100644
--- a/IkiWiki/Plugin/inline.pm
+++ b/IkiWiki/Plugin/inline.pm
@@ -5,7 +5,7 @@ package IkiWiki::Plugin::inline;
use warnings;
use strict;
use Encode;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use URI;
my %knownfeeds;
diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm
index e9623035b..48691d973 100644
--- a/IkiWiki/Plugin/link.pm
+++ b/IkiWiki/Plugin/link.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::link;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my $link_regexp;
diff --git a/IkiWiki/Plugin/linkmap.pm b/IkiWiki/Plugin/linkmap.pm
index cb9f3ef41..941ed5f36 100644
--- a/IkiWiki/Plugin/linkmap.pm
+++ b/IkiWiki/Plugin/linkmap.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::linkmap;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use IPC::Open2;
sub import {
diff --git a/IkiWiki/Plugin/listdirectives.pm b/IkiWiki/Plugin/listdirectives.pm
index be82b0495..d2cebca34 100644
--- a/IkiWiki/Plugin/listdirectives.pm
+++ b/IkiWiki/Plugin/listdirectives.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::listdirectives;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
add_underlay("directives");
diff --git a/IkiWiki/Plugin/lockedit.pm b/IkiWiki/Plugin/lockedit.pm
index 31a9e70cd..0fa329251 100644
--- a/IkiWiki/Plugin/lockedit.pm
+++ b/IkiWiki/Plugin/lockedit.pm
@@ -3,13 +3,11 @@ package IkiWiki::Plugin::lockedit;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "lockedit", call => \&getsetup);
hook(type => "canedit", id => "lockedit", call => \&canedit);
- hook(type => "formbuilder_setup", id => "lockedit",
- call => \&formbuilder_setup);
}
sub getsetup () {
@@ -52,63 +50,7 @@ sub canedit ($$) {
}
}
- # XXX deprecated, should be removed eventually
- foreach my $admin (@{$config{adminuser}}) {
- if (pagespec_match($page, IkiWiki::userinfo_get($admin, "locked_pages"),
- user => $session->param("name"),
- ip => $ENV{REMOTE_ADDR},
- )) {
- if (! defined $user ||
- ! IkiWiki::userinfo_get($session->param("name"), "regdate")) {
- return sub { IkiWiki::needsignin($cgi, $session) };
- }
- else {
- return sprintf(gettext("%s is locked and cannot be edited"),
- htmllink("", "", $page, noimageinline => 1));
- }
- }
- }
-
return undef;
}
-sub formbuilder_setup (@) {
- my %params=@_;
-
- # XXX deprecated, should be removed eventually
- my $form=$params{form};
- if ($form->title eq "preferences") {
- my $session=$params{session};
- my $cgi=$params{cgi};
- my $user_name=$session->param("name");
-
- $form->field(name => "locked_pages", size => 50,
- fieldset => "admin",
- comment => "deprecated; please move to locked_pages in setup file"
- );
- if (! IkiWiki::is_admin($user_name)) {
- $form->field(name => "locked_pages", type => "hidden");
- }
- if (! $form->submitted) {
- my $value=IkiWiki::userinfo_get($user_name, "locked_pages");
- if (length $value) {
- $form->field(name => "locked_pages", force => 1, value => $value);
- }
- else {
- $form->field(name => "locked_pages", type => "hidden");
- }
- }
- if ($form->submitted && $form->submitted eq 'Save Preferences') {
- if (defined $form->field("locked_pages")) {
- IkiWiki::userinfo_set($user_name, "locked_pages",
- $form->field("locked_pages")) ||
- error("failed to set locked_pages");
- if (! length $form->field("locked_pages")) {
- $form->field(name => "locked_pages", type => "hidden");
- }
- }
- }
- }
-}
-
1
diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm
index af14ef5de..328493116 100644
--- a/IkiWiki/Plugin/map.pm
+++ b/IkiWiki/Plugin/map.pm
@@ -9,7 +9,7 @@ package IkiWiki::Plugin::map;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "map", call => \&getsetup);
diff --git a/IkiWiki/Plugin/mdwn.pm b/IkiWiki/Plugin/mdwn.pm
index 0d5f398a0..0e134c822 100644
--- a/IkiWiki/Plugin/mdwn.pm
+++ b/IkiWiki/Plugin/mdwn.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::mdwn;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "mdwn", call => \&getsetup);
diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm
index 8c214139f..15bb29b3f 100644
--- a/IkiWiki/Plugin/meta.pm
+++ b/IkiWiki/Plugin/meta.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::meta;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %metaheaders;
diff --git a/IkiWiki/Plugin/mirrorlist.pm b/IkiWiki/Plugin/mirrorlist.pm
index b726386f6..737dcf767 100644
--- a/IkiWiki/Plugin/mirrorlist.pm
+++ b/IkiWiki/Plugin/mirrorlist.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::mirrorlist;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "mirrorlist", call => \&getsetup);
diff --git a/IkiWiki/Plugin/more.pm b/IkiWiki/Plugin/more.pm
index f1216ad3d..77d5fb077 100644
--- a/IkiWiki/Plugin/more.pm
+++ b/IkiWiki/Plugin/more.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::more;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my $linktext = gettext("more");
diff --git a/IkiWiki/Plugin/opendiscussion.pm b/IkiWiki/Plugin/opendiscussion.pm
index 95220d7b3..3da01efee 100644
--- a/IkiWiki/Plugin/opendiscussion.pm
+++ b/IkiWiki/Plugin/opendiscussion.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::opendiscussion;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "opendiscussion", call => \&getsetup);
diff --git a/IkiWiki/Plugin/openid.pm b/IkiWiki/Plugin/openid.pm
index 574c42f0e..5424c57e2 100644
--- a/IkiWiki/Plugin/openid.pm
+++ b/IkiWiki/Plugin/openid.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::openid;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getopt", id => "openid", call => \&getopt);
diff --git a/IkiWiki/Plugin/orphans.pm b/IkiWiki/Plugin/orphans.pm
index 8e9ab0ff4..605e6e43a 100644
--- a/IkiWiki/Plugin/orphans.pm
+++ b/IkiWiki/Plugin/orphans.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::orphans;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "orphans", call => \&getsetup);
diff --git a/IkiWiki/Plugin/otl.pm b/IkiWiki/Plugin/otl.pm
index 280b19db0..c68fcbbe3 100644
--- a/IkiWiki/Plugin/otl.pm
+++ b/IkiWiki/Plugin/otl.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::otl;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use open qw{:utf8 :std};
sub import {
diff --git a/IkiWiki/Plugin/pagecount.pm b/IkiWiki/Plugin/pagecount.pm
index c08ab3931..a143f24d0 100644
--- a/IkiWiki/Plugin/pagecount.pm
+++ b/IkiWiki/Plugin/pagecount.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::pagecount;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "pagecount", call => \&getsetup);
diff --git a/IkiWiki/Plugin/pagestats.pm b/IkiWiki/Plugin/pagestats.pm
index e20d0dac6..dbe69539d 100644
--- a/IkiWiki/Plugin/pagestats.pm
+++ b/IkiWiki/Plugin/pagestats.pm
@@ -12,7 +12,7 @@ package IkiWiki::Plugin::pagestats;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
# Names of the HTML classes to use for the tag cloud
our @classes = ('smallestPC', 'smallPC', 'normalPC', 'bigPC', 'biggestPC' );
diff --git a/IkiWiki/Plugin/pagetemplate.pm b/IkiWiki/Plugin/pagetemplate.pm
index 60db8b327..1d8a84ca7 100644
--- a/IkiWiki/Plugin/pagetemplate.pm
+++ b/IkiWiki/Plugin/pagetemplate.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::pagetemplate;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %templates;
diff --git a/IkiWiki/Plugin/parentlinks.pm b/IkiWiki/Plugin/parentlinks.pm
index 866201e5e..1ee69cbff 100644
--- a/IkiWiki/Plugin/parentlinks.pm
+++ b/IkiWiki/Plugin/parentlinks.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::parentlinks;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "parentlinks", id => "parentlinks", call => \&parentlinks);
diff --git a/IkiWiki/Plugin/passwordauth.pm b/IkiWiki/Plugin/passwordauth.pm
index 7176f0c33..90e2ca564 100644
--- a/IkiWiki/Plugin/passwordauth.pm
+++ b/IkiWiki/Plugin/passwordauth.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::passwordauth;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "passwordauth", "call" => \&getsetup);
diff --git a/IkiWiki/Plugin/pingee.pm b/IkiWiki/Plugin/pingee.pm
index fcbe6b57b..f5386d0ca 100644
--- a/IkiWiki/Plugin/pingee.pm
+++ b/IkiWiki/Plugin/pingee.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::pingee;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "pingee", call => \&getsetup);
diff --git a/IkiWiki/Plugin/pinger.pm b/IkiWiki/Plugin/pinger.pm
index 7b4dce586..4a8088661 100644
--- a/IkiWiki/Plugin/pinger.pm
+++ b/IkiWiki/Plugin/pinger.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::pinger;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %pages;
my $pinged=0;
diff --git a/IkiWiki/Plugin/poll.pm b/IkiWiki/Plugin/poll.pm
index 5ac5b818d..bc1e3501e 100644
--- a/IkiWiki/Plugin/poll.pm
+++ b/IkiWiki/Plugin/poll.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::poll;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use Encode;
sub import {
diff --git a/IkiWiki/Plugin/polygen.pm b/IkiWiki/Plugin/polygen.pm
index a32003778..bc21d71c7 100644
--- a/IkiWiki/Plugin/polygen.pm
+++ b/IkiWiki/Plugin/polygen.pm
@@ -7,7 +7,7 @@ package IkiWiki::Plugin::polygen;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use File::Find;
sub import {
diff --git a/IkiWiki/Plugin/postsparkline.pm b/IkiWiki/Plugin/postsparkline.pm
index 1753e4cf9..ba43561fb 100644
--- a/IkiWiki/Plugin/postsparkline.pm
+++ b/IkiWiki/Plugin/postsparkline.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::postsparkline;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
IkiWiki::loadplugin('sparkline');
diff --git a/IkiWiki/Plugin/prettydate.pm b/IkiWiki/Plugin/prettydate.pm
index 501f17f5d..e155dd39b 100644
--- a/IkiWiki/Plugin/prettydate.pm
+++ b/IkiWiki/Plugin/prettydate.pm
@@ -1,6 +1,6 @@
#!/usr/bin/perl
package IkiWiki::Plugin::prettydate;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use warnings;
no warnings 'redefine';
use strict;
diff --git a/IkiWiki/Plugin/progress.pm b/IkiWiki/Plugin/progress.pm
index 75da16d16..76d994acc 100644
--- a/IkiWiki/Plugin/progress.pm
+++ b/IkiWiki/Plugin/progress.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::progress;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my $percentage_pattern = qr/[0-9]+\%?/; # pattern to validate percentages
diff --git a/IkiWiki/Plugin/rawhtml.pm b/IkiWiki/Plugin/rawhtml.pm
index 73093439d..ad8a610c1 100644
--- a/IkiWiki/Plugin/rawhtml.pm
+++ b/IkiWiki/Plugin/rawhtml.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::rawhtml;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "rawhtml", call => \&getsetup);
diff --git a/IkiWiki/Plugin/recentchanges.pm b/IkiWiki/Plugin/recentchanges.pm
index 7071596e6..ef108b3f0 100644
--- a/IkiWiki/Plugin/recentchanges.pm
+++ b/IkiWiki/Plugin/recentchanges.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::recentchanges;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use Encode;
use HTML::Entities;
diff --git a/IkiWiki/Plugin/recentchangesdiff.pm b/IkiWiki/Plugin/recentchangesdiff.pm
index 4dea9c26b..e3ba9b8d8 100644
--- a/IkiWiki/Plugin/recentchangesdiff.pm
+++ b/IkiWiki/Plugin/recentchangesdiff.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::recentchangesdiff;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use HTML::Entities;
my $maxlines=200;
diff --git a/IkiWiki/Plugin/relativedate.pm b/IkiWiki/Plugin/relativedate.pm
index e5fa8e1a5..3e33cd5c3 100644
--- a/IkiWiki/Plugin/relativedate.pm
+++ b/IkiWiki/Plugin/relativedate.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::relativedate;
use warnings;
no warnings 'redefine';
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use POSIX;
use Encode;
diff --git a/IkiWiki/Plugin/remove.pm b/IkiWiki/Plugin/remove.pm
index 781501662..21989aff3 100644
--- a/IkiWiki/Plugin/remove.pm
+++ b/IkiWiki/Plugin/remove.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::remove;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "remove", call => \&getsetup);
diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm
index 227f59bfa..25ddd2d65 100644
--- a/IkiWiki/Plugin/rename.pm
+++ b/IkiWiki/Plugin/rename.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::rename;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "rename", call => \&getsetup);
diff --git a/IkiWiki/Plugin/search.pm b/IkiWiki/Plugin/search.pm
index cc2130ad5..d79e3170e 100644
--- a/IkiWiki/Plugin/search.pm
+++ b/IkiWiki/Plugin/search.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::search;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "search", call => \&getsetup);
diff --git a/IkiWiki/Plugin/shortcut.pm b/IkiWiki/Plugin/shortcut.pm
index 33d158d3e..0e7cbd4d1 100644
--- a/IkiWiki/Plugin/shortcut.pm
+++ b/IkiWiki/Plugin/shortcut.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::shortcut;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "shortcut", call => \&getsetup);
diff --git a/IkiWiki/Plugin/sidebar.pm b/IkiWiki/Plugin/sidebar.pm
index 746fa93bb..41812e1c1 100644
--- a/IkiWiki/Plugin/sidebar.pm
+++ b/IkiWiki/Plugin/sidebar.pm
@@ -6,7 +6,7 @@ package IkiWiki::Plugin::sidebar;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "sidebar", call => \&getsetup);
diff --git a/IkiWiki/Plugin/signinedit.pm b/IkiWiki/Plugin/signinedit.pm
index 321c93ed5..032a0034c 100644
--- a/IkiWiki/Plugin/signinedit.pm
+++ b/IkiWiki/Plugin/signinedit.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::signinedit;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "signinedit", call => \&getsetup);
diff --git a/IkiWiki/Plugin/smiley.pm b/IkiWiki/Plugin/smiley.pm
index 70b8cef74..1697a37c1 100644
--- a/IkiWiki/Plugin/smiley.pm
+++ b/IkiWiki/Plugin/smiley.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::smiley;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %smileys;
my $smiley_regexp;
diff --git a/IkiWiki/Plugin/sparkline.pm b/IkiWiki/Plugin/sparkline.pm
index dca755c63..1ed65e5b7 100644
--- a/IkiWiki/Plugin/sparkline.pm
+++ b/IkiWiki/Plugin/sparkline.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::sparkline;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use IPC::Open2;
my $match_num=qr/[-+]?[0-9]+(?:\.[0-9]+)?/;
diff --git a/IkiWiki/Plugin/table.pm b/IkiWiki/Plugin/table.pm
index b6f53f607..479f3d745 100644
--- a/IkiWiki/Plugin/table.pm
+++ b/IkiWiki/Plugin/table.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::table;
use warnings;
use strict;
use Encode;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "table", call => \&getsetup);
diff --git a/IkiWiki/Plugin/tag.pm b/IkiWiki/Plugin/tag.pm
index ecc77cbb1..d43910910 100644
--- a/IkiWiki/Plugin/tag.pm
+++ b/IkiWiki/Plugin/tag.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::tag;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my %tags;
diff --git a/IkiWiki/Plugin/template.pm b/IkiWiki/Plugin/template.pm
index 1b7eb91bf..57bff20ff 100644
--- a/IkiWiki/Plugin/template.pm
+++ b/IkiWiki/Plugin/template.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::template;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use HTML::Template;
use Encode;
diff --git a/IkiWiki/Plugin/testpagespec.pm b/IkiWiki/Plugin/testpagespec.pm
index a6e94dbbb..440fca33b 100644
--- a/IkiWiki/Plugin/testpagespec.pm
+++ b/IkiWiki/Plugin/testpagespec.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::testpagespec;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "testpagespec", call => \&getsetup);
diff --git a/IkiWiki/Plugin/teximg.pm b/IkiWiki/Plugin/teximg.pm
index 57b23147e..dba5372b5 100644
--- a/IkiWiki/Plugin/teximg.pm
+++ b/IkiWiki/Plugin/teximg.pm
@@ -8,7 +8,7 @@ use strict;
use Digest::MD5 qw(md5_hex);
use File::Temp qw(tempdir);
use HTML::Entities;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
my $default_prefix = <<EOPREFIX;
\\documentclass{article}
diff --git a/IkiWiki/Plugin/textile.pm b/IkiWiki/Plugin/textile.pm
index d1b927b74..b604aa3c5 100644
--- a/IkiWiki/Plugin/textile.pm
+++ b/IkiWiki/Plugin/textile.pm
@@ -6,7 +6,7 @@ package IkiWiki::Plugin::textile;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use Encode;
sub import {
diff --git a/IkiWiki/Plugin/toc.pm b/IkiWiki/Plugin/toc.pm
index 460837b1d..a585564e7 100644
--- a/IkiWiki/Plugin/toc.pm
+++ b/IkiWiki/Plugin/toc.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::toc;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use HTML::Parser;
sub import {
diff --git a/IkiWiki/Plugin/toggle.pm b/IkiWiki/Plugin/toggle.pm
index 967b07fcc..aae8cdf84 100644
--- a/IkiWiki/Plugin/toggle.pm
+++ b/IkiWiki/Plugin/toggle.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::toggle;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
add_underlay("javascript");
diff --git a/IkiWiki/Plugin/txt.pm b/IkiWiki/Plugin/txt.pm
index d65bb2036..8599bdc8e 100644
--- a/IkiWiki/Plugin/txt.pm
+++ b/IkiWiki/Plugin/txt.pm
@@ -8,7 +8,7 @@ package IkiWiki::Plugin::txt;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
use HTML::Entities;
my $findurl=0;
diff --git a/IkiWiki/Plugin/typography.pm b/IkiWiki/Plugin/typography.pm
index e395b2143..f62be82bb 100644
--- a/IkiWiki/Plugin/typography.pm
+++ b/IkiWiki/Plugin/typography.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::typography;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getopt", id => "typography", call => \&getopt);
diff --git a/IkiWiki/Plugin/version.pm b/IkiWiki/Plugin/version.pm
index 3526dafde..587cd55fa 100644
--- a/IkiWiki/Plugin/version.pm
+++ b/IkiWiki/Plugin/version.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::version;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "version", call => \&getsetup);
diff --git a/IkiWiki/Plugin/websetup.pm b/IkiWiki/Plugin/websetup.pm
index 66dacfde3..95d044c08 100644
--- a/IkiWiki/Plugin/websetup.pm
+++ b/IkiWiki/Plugin/websetup.pm
@@ -3,7 +3,7 @@ package IkiWiki::Plugin::websetup;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "websetup", call => \&getsetup);
@@ -139,7 +139,7 @@ sub showfields ($$$@) {
my $value=$config{$key};
if ($info{safe} && (ref $value eq 'ARRAY' || ref $info{example} eq 'ARRAY')) {
- $value=[@{$value}, "", ""]; # blank items for expansion
+ $value=[(ref $value eq 'ARRAY' ? @{$value} : ""), "", ""]; # blank items for expansion
}
if ($info{type} eq "string") {
diff --git a/IkiWiki/Plugin/wikitext.pm b/IkiWiki/Plugin/wikitext.pm
index 50571e524..accb03bbe 100644
--- a/IkiWiki/Plugin/wikitext.pm
+++ b/IkiWiki/Plugin/wikitext.pm
@@ -4,7 +4,7 @@ package IkiWiki::Plugin::wikitext;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "wiki", call => \&getsetup);
diff --git a/IkiWiki/UserInfo.pm b/IkiWiki/UserInfo.pm
index 3423dc923..0bf100a95 100644
--- a/IkiWiki/UserInfo.pm
+++ b/IkiWiki/UserInfo.pm
@@ -74,24 +74,4 @@ sub is_admin ($) {
return grep { $_ eq $user_name } @{$config{adminuser}};
}
-# XXX deprecated, should be removed eventually
-sub get_banned_users () {
- my @ret;
- my $userinfo=userinfo_retrieve();
- foreach my $user (keys %{$userinfo}) {
- push @ret, $user if $userinfo->{$user}->{banned};
- }
- return @ret;
-}
-
-# XXX deprecated, should be removed eventually
-sub set_banned_users (@) {
- my %banned=map { $_ => 1 } @_;
- my $userinfo=userinfo_retrieve();
- foreach my $user (keys %{$userinfo}) {
- $userinfo->{$user}->{banned} = $banned{$user};
- }
- return userinfo_store($userinfo);
-}
-
1
diff --git a/auto.setup b/auto.setup
index ef0f1723c..9cf5e7725 100644
--- a/auto.setup
+++ b/auto.setup
@@ -40,6 +40,5 @@ IkiWiki::Setup::Automator->import(
rss => 1,
atom => 1,
syslog => 1,
- prefix_directives => 1,
hardlink => 1,
)
diff --git a/debian/NEWS b/debian/NEWS
index a7a145d9b..6fe70c9e4 100644
--- a/debian/NEWS
+++ b/debian/NEWS
@@ -1,3 +1,12 @@
+ikiwiki (3.00) unstable; urgency=low
+
+ The 3.0 release of ikiwiki changes several defaults and finishes
+ some transitions. You will need to modify your wikis to work with
+ ikiwiki 3.0. A document explaining the process is available
+ in </usr/share/doc/ikiwiki/html/tips/upgrade_to_3.0.html>
+
+ -- Joey Hess <joeyh@debian.org> Tue, 23 Dec 2008 16:14:18 -0500
+
ikiwiki (2.62) unstable; urgency=low
TexImg standard preamble changed
@@ -101,10 +110,7 @@ ikiwiki (2.40) unstable; urgency=low
in their setup files.
To convert your wiki to the new syntax, ikiwiki provides a new script
- ikiwiki-transition. It will convert preprocessor directives in
- all files given on the command line. To convert an entire wiki:
-
- find wikidir/ -type f -name '*.mdwn' -print0 | xargs -0 ikiwiki-transition prefix_directives
+ ikiwiki-transition.
Even with prefix_directives disabled, ikiwiki now allows an optional '!'
prefix on preprocessor directives (but still requires a space). Thus, a
diff --git a/debian/changelog b/debian/changelog
index 7875d425b..07062b04a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,30 @@
+ikiwiki (3.00) unstable; urgency=low
+
+ * Remove support for GlobLists.
+ * Remove support for configuring allowed attachments, locked pages,
+ and banned users from the admin preferences page. These can only be
+ controlled via the setup file now.
+ * ikiwiki-transition moveprefs can be used to move the above
+ admin preferences into a setup file.
+ * prefix_directives and aggregate_internal are now turned on by default.
+ * ikiwiki-transition prefix_directives syntax changed
+ * googlecalendar: removed this deprecated plugin. Use htmlscrubber_skip
+ instead.
+ * embed: This plugin is deprecated, use htmlscrubber_skip instead.
+ Closes: ##462970.
+ * Version 3.00 of the plugin API.
+ * Replace blank OpenID placeholder logo with an unofficial OpenID
+ logo developed by Anna Hess. The official logo does not seem destined to
+ be free.
+ * comments: Add cache avoidance.
+ * htmlbalance: Demand-load HTML::TreeBuilder to avoid failing test suite
+ if it is not present.
+ * French translation update from Philippe Batailler. Closes: #510216
+ * websetup: Avoid a crash when a new array setup item has been added in
+ a new ikiwiki release, and is thus not present in the setup file yet.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 31 Dec 2008 15:17:47 -0500
+
ikiwiki (2.72) unstable; urgency=low
* Avoid comments in recentchanges being broken links (smcv)
diff --git a/doc/download.mdwn b/doc/download.mdwn
index 1099045b5..067938f87 100644
--- a/doc/download.mdwn
+++ b/doc/download.mdwn
@@ -26,7 +26,7 @@ There is a backport of a recent version of ikiwiki for Debian 4.0 at
Fedora versions 8 and newer have RPMs of ikiwiki available.
-There is also an unofficial backport of ikiwiki for Ubuntu Hardy, provided by
+There is also an unofficial backport of ikiwiki for Ubuntu Intrepid, provided by
[[Paweł_Tęcza|users/ptecza]],
at [http://gpa.net.icm.edu.pl/ubuntu/](http://gpa.net.icm.edu.pl/ubuntu/index-en.html).
diff --git a/doc/ikiwiki-transition.mdwn b/doc/ikiwiki-transition.mdwn
index 8b7c3579f..18836d5f5 100644
--- a/doc/ikiwiki-transition.mdwn
+++ b/doc/ikiwiki-transition.mdwn
@@ -8,24 +8,23 @@ ikiwiki-transition type ...
# DESCRIPTION
-`ikiwiki-transition` aids in converting wiki pages when
-there's a major change in ikiwiki syntax. It also handles other transitions
-not involving wiki pages.
+`ikiwiki-transition` aids in converting wiki pages when there's a major
+change in ikiwiki syntax. It also handles other transitions not involving
+wiki pages.
-# prefix_directives
+# prefix_directives your.setup
-The `prefix_directives` mode converts the specified ikiwiki page from
-the old preprocessor directive syntax, requiring a space, to the new
-syntax, prefixed by '!'.
+The `prefix_directives` mode converts all pages from the old preprocessor
+directive syntax, requiring a space, to the new syntax, prefixed by '!'.
Preprocessor directives which already use the new syntax will remain
unchanged.
-Note that if the page contains wiki links with spaces, which some
+Note that if a page contains wiki links with spaces, which some
older versions of ikiwiki accepted, the prefix_directives transition will
treat these as preprocessor directives and convert them.
-# setupformat
+# setupformat your.setup
The `setupformat` mode converts a setup file from using a single `wrappers` block
to using `cgi_wrapper`, `git_wrapper`, etc.
@@ -33,25 +32,30 @@ to using `cgi_wrapper`, `git_wrapper`, etc.
Note that all comments and any unusual stuff like perl code in the setup
file will be lost, as it is entirely rewritten by the transition.
-# aggregateinternal
+# aggregateinternal your.setup
The `aggregateinternal` mode moves pages aggregated by the aggregate plugin
so that the `aggregateinternal` option can be enabled.
-# indexdb
+# moveprefs your.setup
+
+Moves values that used to be admin preferences into the setup file.
+
+Note that all comments and any unusual stuff like perl code in the setup
+file will be lost, as it is entirely rewritten by the move.
+
+# indexdb srcdir
The `indexdb` mode handles converting a plain text `.ikiwiki/index` file to
-a binary `.ikiwiki/indexdb`. In this mode, you should specify the srcdir of
-the wiki as the second parameter. You do not normally need to run
+a binary `.ikiwiki/indexdb`. You do not normally need to run
`ikiwiki-transition indexdb`; ikiwiki will automatically run it as
necessary.
-# hashpassword
+# hashpassword srcdir
The `hashpassword` mode forces any plaintext passwords stored in the
`.ikiwiki/userdb` file to be replaced with password hashes. (The
-Authen::Passphrase perl module is needed to do this.) In this mode, you
-should specify the srcdir of the wiki as the second parameter.
+Authen::Passphrase perl module is needed to do this.)
If this is not done explicitly, a user's plaintext password will be
automatically converted to a hash when a user logs in for the first time
diff --git a/doc/ikiwiki/directive.mdwn b/doc/ikiwiki/directive.mdwn
index c4342dee8..fb88aa72d 100644
--- a/doc/ikiwiki/directive.mdwn
+++ b/doc/ikiwiki/directive.mdwn
@@ -28,15 +28,13 @@ of text with triple-quotes:
3. "baz"
"""]]
-ikiwiki also has an older syntax for directives, which requires a
-space in directives to distinguish them from [[wikilinks|ikiwiki/wikilink]].
-This syntax has several disadvantages: it requires a space after directives
-with no parameters (such as `\[[pagecount ]]`), and it prohibits spaces in
-[[wikilinks|ikiwiki/wikilink]]. ikiwiki now provides the `!`-prefixed syntax
-shown above as the preferred alternative. However, ikiwiki still supports
-wikis using the older syntax, if the `prefix_directives` option is not enabled.
-For backward compatibility with existing wikis, this option currently
-defaults to off, so ikiwiki supports the old syntax.
+ikiwiki also has an older syntax for directives, which requires a space in
+directives to distinguish them from [[wikilinks|ikiwiki/wikilink]]. This
+syntax has several disadvantages: it requires a space after directives with
+no parameters (such as `\[[pagecount ]]`), and it prohibits spaces in
+[[wikilinks|ikiwiki/wikilink]]. ikiwiki now provides the `!`-prefixed
+syntax shown above as default. However, ikiwiki still supports wikis using
+the older syntax, if the `prefix_directives` option is disabled.
[[!if test="enabled(listdirectives)" then="""
Here is a list of currently available directives in this wiki:
diff --git a/doc/ikiwiki/pagespec.mdwn b/doc/ikiwiki/pagespec.mdwn
index d4dd265cc..86abe5745 100644
--- a/doc/ikiwiki/pagespec.mdwn
+++ b/doc/ikiwiki/pagespec.mdwn
@@ -72,22 +72,3 @@ filenames of the pages in the wiki, so a pagespec "foo" used on page
"a/b" will not match a page named "a/foo" or "a/b/foo". To match
relative to the directory of the page containing the pagespec, you can
use "./". For example, "./foo" on page "a/b" matches page "a/foo".
-
-## Old syntax
-
-The old PageSpec syntax was called a "GlobList", and worked differently in
-two ways:
-
-1. "and" and "or" were not used; any page matching any item from the list
- matched.
-2. If an item was prefixed with "`!`", then no page matching that item
- matched, even if it matched an earlier list item.
-
-For example, here is the old way to match all pages except for the SandBox
-and Discussion pages:
-
- * !SandBox !*/Discussion
-
-Using this old syntax is still supported. However, the old syntax is
-deprecated and will be removed at some point, and using the new syntax is
-recommended.
diff --git a/doc/news/ikiwiki_version_3.0.mdwn b/doc/news/ikiwiki_version_3.0.mdwn
new file mode 100644
index 000000000..7ca636cf2
--- /dev/null
+++ b/doc/news/ikiwiki_version_3.0.mdwn
@@ -0,0 +1,42 @@
+Ikiwiki has reached version 3.0 and entered a new phase in its
+[[development_cycle|roadmap]].
+
+The 3.0 release of ikiwiki changes several defaults and finishes
+some transitions. You will need to modify your wikis to work with
+ikiwiki 3.0. A document explaining the process is available
+in [[tips/upgrade_to_3.0]].
+
+The highlights of the changes in version 3.0 include:
+
+* Support for uploading [[attachments|plugins/attachment]].
+* Can [[plugins/rename]] and [[plugins/remove]] pages and files via the web.
+* [[Web_based_setup|plugins/websetup]].
+* Blog-style [[plugins/comments]] as an alternative to Discussion pages.
+* Many other new plugins including [[plugins/htmlbalance]], [[plugins/format]],
+ [[plugins/progress]], [[plugins/color]], [[plugins/autoindex]],
+ [[plugins/cutpaste]], [[plugins/hnb]], [[plugins/creole]], [[plugins/txt]],
+ [[plugins/amazon_s3]], [[plugins/pinger]], [[plugins/pingee]],
+ [[plugins/edittemplate]]
+* The RecentChanges page is compiled statically, not generated from the CGI.
+* Support for additional revision control systems: [[rcs/bzr]],
+ [[rcs/monotone]]
+* Support for [[tips/untrusted_git_push]].
+* A new version (3.00) of the plugin API, exporting additional
+ commonly used functions from `IkiWiki.pm`.
+* Nearly everything in ikiwiki is now a plugin, from WikiLinks to
+ page editing, to RecentChanges.
+* Far too many bug fixes, features, and enhancements to list here.
+
+Thanks to the many contributors to ikiwiki 3.0, including:
+
+ Jelmer Vernooij, Recai Oktaş, William Uther, Simon McVittie, Axel Beckert,
+ Bernd Zeimetz, Gabriel McManus, Paweł Tęcza, Peter Simons, Manoj
+ Srivastava, Patrick Winnertz, Jeremie Koenig, Josh Triplett, thm, Michael
+ Gold, Jason Blevins, Alexandre Dupas, Henrik Brix Andersen, Thomas Keller,
+ Enrico Zini, intrigeri, Scott Bronson, Brian May, Adeodato Simó, Brian
+ Downing, Nis Martensen. (And anyone I missed.)
+
+Also, thanks to the users, bug submitters, and documentation wiki editors.
+Without you, ikiwiki would just be a little thing I use for my home page.
+
+--[[Joey]]
diff --git a/doc/plugins/aggregate.mdwn b/doc/plugins/aggregate.mdwn
index 6fc87853b..e2efcd83f 100644
--- a/doc/plugins/aggregate.mdwn
+++ b/doc/plugins/aggregate.mdwn
@@ -5,10 +5,6 @@ This plugin allows content from other feeds to be aggregated into the
wiki. To specify feeds to aggregate, use the
[[ikiwiki/directive/aggregate]] [[ikiwiki/directive]].
-New users of aggregate should enable the `aggregateinternal => 1` option in the
-.setup file. If you don't do so, you will need to enable the [[html]] plugin
-as well as aggregate itself, since feed entries will be stored as HTML.
-
The [[meta]] and [[tag]] plugins are also recommended. Either the
[[htmltidy]] or [[htmlbalance]] plugin is suggested, since feeds can easily
contain html problems, some of which these plugins can fix.
@@ -27,37 +23,19 @@ visit is `http://whatever/ikiwiki.cgi?do=aggregate_webtrigger`. Anyone
can visit the url to trigger an aggregation run, but it will only check
each feed if its `updateinterval` has passed.
-## internal pages and `aggregateinternal`
+## aggregated pages
This plugin creates a page for each aggregated item.
If the `aggregateinternal` option is enabled in the setup file (which is
-recommended), aggregated pages are stored in the source directory with a
+the default), aggregated pages are stored in the source directory with a
"._aggregated" extension. These pages cannot be edited by web users, and
do not generate first-class wiki pages. They can still be inlined into a
blog, but you have to use `internal` in [[PageSpecs|IkiWiki/PageSpec]],
like `internal(blog/*)`.
-For backward compatibility, the default is that these pages have the
-".html" extension, and are first-class wiki pages -- each one generates
-a separate HTML page in the output, and they can even be edited.
-
-That turns out to not be ideal for aggregated content, because publishing
-files for each of those pages is a waste of disk space and CPU, and you
-probably don't want to allow them to be edited. So, there is an alternative
-method that can be used (and is recommended), turned on by the
-`aggregateinternal` option in the setup file.
-
-If you are already using aggregate and want to enable `aggregateinternal`,
-you should follow this process:
-
-1. Update all [[PageSpecs|ikiwiki/PageSpec]] that refer to the aggregated
- pages -- such as those in inlines. Put "internal()" around globs
- in those PageSpecs. For example, if the PageSpec was `foo/*`, it should
- be changed to `internal(foo/*)`. This has to be done because internal
- pages are not matched by regular globs.
-2. Turn on `aggregateinternal` in the setup file.
-3. Use [[ikiwiki-transition]] to rename all existing aggregated `.html`
- files in the srcdir. The command to run is
- `ikiwiki-transition aggregateinternal $setupfile`,
-4. Refresh the wiki. (`ikiwiki -setup your.setup -refresh`)
+If `aggregateinternal` is disabled, you will need to enable the [[html]]
+plugin as well as aggregate itself, since feed entries will be stored as
+HTML, and as first-class wiki pages -- each one generates
+a separate HTML page in the output, and they can even be edited. This
+option is provided only for backwards compatability.
diff --git a/doc/plugins/contrib.mdwn b/doc/plugins/contrib.mdwn
index 7a28edaba..e22b13f71 100644
--- a/doc/plugins/contrib.mdwn
+++ b/doc/plugins/contrib.mdwn
@@ -2,6 +2,6 @@ Contributed [[plugins]]:
(See [[install]] for installation help.)
-[[!inline pages="plugins/contrib/* !*/Discussion"
+[[!inline pages="plugins/contrib/* and !*/Discussion"
feedpages="created_after(plugins/contrib/navbar)" archive="yes"
rootpage="plugins/contrib" postformtext="Add a new plugin named:" show=0]]
diff --git a/doc/plugins/discussion.mdwn b/doc/plugins/discussion.mdwn
index 70157f1e2..854307a98 100644
--- a/doc/plugins/discussion.mdwn
+++ b/doc/plugins/discussion.mdwn
@@ -34,12 +34,3 @@ Any objections to listing plugins alphabetically rather than by creation date?
>> "recently changed" list with the 10 most recently changed plugins
>> at the top. That would allow what you suggested, but still allow
>> the main list to be alphabetical. -- [[Will]]
-
-How about adding a deprecated tag in order to clean up the plugin list?
-
-> AFAIK it's currently the only one. --[[Joey]]
-
-For instance [[googlecalendar]] is listed as plugin but should probably be removed from Ikiwiki in a future major version (v3?).
-
--- [[AlexandreDupas]]
-
diff --git a/doc/plugins/embed.mdwn b/doc/plugins/embed.mdwn
index 1d43061e0..85592cb72 100644
--- a/doc/plugins/embed.mdwn
+++ b/doc/plugins/embed.mdwn
@@ -13,6 +13,14 @@ In the examples below, the parts of the html that you can change are denoted
with "XXX"; everything else must appear exactly as shown to be accepted by the
plugin.
+**This plugin is deprecated.** Rather than relying on these complex lists
+of safe content, which constantly fall out of date, you're recommended to
+configure the [[htmlscrubber]] to not scrub some pages, which only trusted
+users can edit. Then you can embed anything from anywhere on those pages.
+See [[tips/embedding_content]] for details and examples.
+This plugin's lists of safe embedded content will not be maintained, and
+the plugin will be removed in a future release.
+
## google maps
Use html like this to embed a map:
diff --git a/doc/plugins/googlecalendar.mdwn b/doc/plugins/googlecalendar.mdwn
deleted file mode 100644
index bca2ae74f..000000000
--- a/doc/plugins/googlecalendar.mdwn
+++ /dev/null
@@ -1,20 +0,0 @@
-[[!template id=plugin name=googlecalendar author="[[Joey]]"]]
-[[!tag type/special-purpose]]
-
-*Note*: This plugin is deprecated. Please switch to the [[embed]] plugin.
-
-This plugin allows embedding a google calendar iframe in the wiki.
-Normally, if the [[htmlscrubber]] is enabled, such iframes are scrubbed out
-of the wiki content since they're not very safe if created by malicious
-users. But some iframes are legitimate, and safe, if you trust the embedded
-content. This plugin is an example of how to deal with this in ikiwiki.
-
-Example use:
-
- \[[!googlecalendar html="""
- <iframe src="http://www.google.com/calendar/embed?src=adkrdken8mupngh13jshlbenoc%40group.calendar.google.com&title=OSEL%20Calendar&chrome=NAVIGATION&bgcolor=%2371d873&height=588" style=" border-width:0 " width="480" frameborder="0" height="588"></iframe>
- """]]
-
-The iframe should be the one provided by google. Note that it's used in a
-way that avoids cross-site scripting attacks, assuming you trust google's
-content.
diff --git a/doc/plugins/htmlscrubber.mdwn b/doc/plugins/htmlscrubber.mdwn
index b9f7e6d22..c59b46e14 100644
--- a/doc/plugins/htmlscrubber.mdwn
+++ b/doc/plugins/htmlscrubber.mdwn
@@ -32,10 +32,10 @@ other HTML-related functionality, such as whether [[meta]] allows
potentially unsafe HTML tags.
The `htmlscrubber_skip` configuration setting can be used to skip scrubbing
-of some pages. Set it to a [[ikiwiki/PageSpec]], such as "!*/Discussion", and pages
-matching that can have all the evil CSS, JavsScript, and unsafe html
-elements you like. One safe way to use this is to use [[lockedit]] to lock
-those pages, so only admins can edit them.
+of some pages. Set it to a [[ikiwiki/PageSpec]], such as "!*/Discussion",
+and pages matching that can have all the evil CSS, JavsScript, and unsafe
+html elements you like. One safe way to use this is to use [[lockedit]] to
+lock those pages, so only admins can edit them.
----
diff --git a/doc/plugins/lockedit.mdwn b/doc/plugins/lockedit.mdwn
index d2e98e07a..c8f64ea47 100644
--- a/doc/plugins/lockedit.mdwn
+++ b/doc/plugins/lockedit.mdwn
@@ -4,7 +4,7 @@
This plugin allows the administrator of a wiki to lock some pages, limiting
who can edit them using the online interface. This doesn't prevent anyone
who can commit to the underlying revision control system from editing the
-pages, however.
+pages, however. (Unless you set up [[tips/untrusted_git_push]].)
The `locked_pages` setting configures what pages are locked. It is a
[[ikiwiki/PageSpec]], so you have lots of control over what kind of pages
diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn
index d024a5dd4..eb50ca4ef 100644
--- a/doc/plugins/write.mdwn
+++ b/doc/plugins/write.mdwn
@@ -19,7 +19,7 @@ that can be fleshed out to make a useful plugin.
`IkiWiki::Plugin::pagecount` is another simple example. All perl plugins
should `use IkiWiki` to import the ikiwiki plugin interface. It's a good
idea to include the version number of the plugin interface that your plugin
-expects: `use IkiWiki 2.00`.
+expects: `use IkiWiki 3.00`.
An external plugin is an executable program. It can be written in any
language. Its interface to ikiwiki is via XML RPC, which it reads from
@@ -442,7 +442,7 @@ describes the plugin as a whole. For example:
To import the ikiwiki plugin interface:
- use IkiWiki '2.00';
+ use IkiWiki '3.00';
This will import several variables and functions into your plugin's
namespace. These variables and functions are the ones most plugins need,
@@ -497,7 +497,7 @@ use the following hashes, using a page name as the key:
destination file.
* `%pagesources` contains the name of the source file for each page.
-Also, the %IkiWiki::version variable contains the version number for the
+Also, the `%IkiWiki::version` variable contains the version number for the
ikiwiki program.
### Library functions
diff --git a/doc/plugins/write/tutorial.mdwn b/doc/plugins/write/tutorial.mdwn
index e1b34b800..5345f71f2 100644
--- a/doc/plugins/write/tutorial.mdwn
+++ b/doc/plugins/write/tutorial.mdwn
@@ -27,7 +27,7 @@ important one is the IkiWiki module.
use warnings;
use strict;
- use IkiWiki 2.00;
+ use IkiWiki 3.00;
Ok, boilerplate is out of the way. Now to add the one function that ikiwiki
expects to find in any module: `import`. The import function is called when
diff --git a/doc/roadmap.mdwn b/doc/roadmap.mdwn
index 9ed5742eb..2f79f7978 100644
--- a/doc/roadmap.mdwn
+++ b/doc/roadmap.mdwn
@@ -7,10 +7,7 @@ This is the roadmap for ikiwiki development.
Released 29 April 2006.
-The 1.x series changed a great deal over the more than 50 releases in its
-lifetime. It is now in maintenance mode, only security issues or really bad
-bugs will be fixed in 1.x going forward. 1.x will stop being supported with
-the release of 3.0.
+The 1.x series is no longer supported.
----
@@ -32,27 +29,43 @@ the release of 3.0.
Released 30 April 2007.
-The 2.x series is expected to undergo continuing development for some time,
-adding improvements and new features, but avoiding changes that break
-backwards compatability.
+The 2.x series is now in maintenance mode. Only security fixes and fixes for
+really bad bugs will be applied going forward.
----
# 3.0
-Version 3.0 will be an opportunity to make significant transitions.
-
-* Default to using `prefix_directives`.
-* Default to using `aggregateinternal`.
-* Remove deprecated prefs form settings for `allowed_attachments` and
- `locked_pages`.
-* Finalise a new version of the plugin API, exporting additional commonly
- used functions from IkiWiki.pm. See [[todo/firm_up_plugin_interface]]
-
-It will include a vast number of new features, bugfixes, and other
-improvements, far too many to list here.
-
-Release is planned for fall^Wlate, 2008.
+Version 3.0 is an opportunity to make significant transitions.
+Read [[tips/upgrade_to_3.0]] for the steps you will need to
+follow when upgrading your wiki to this version.
+
+The highlights of the changes in version 3.0 include:
+
+* Support for uploading [[attachments|plugins/attachment]].
+* Can [[plugins/rename]] and [[plugins/remove]] pages and files via the web.
+* [[Web_based_setup|plugins/websetup]].
+* Blog-style [[plugins/comments]] as an alternative to Discussion pages.
+* Many other new plugins including [[plugins/htmlbalance]], [[plugins/format]],
+ [[plugins/progress]], [[plugins/color]], [[plugins/autoindex]],
+ [[plugins/cutpaste]], [[plugins/hnb]], [[plugins/creole]], [[plugins/txt]],
+ [[plugins/amazon_s3]], [[plugins/pinger]], [[plugins/pingee]],
+ [[plugins/edittemplate]]
+* The RecentChanges page is compiled statically, not generated from the CGI.
+* Support for additional revision control systems: [[rcs/bzr]],
+ [[rcs/monotone]]
+* Support for [[tips/untrusted_git_push]].
+* A new version (3.00) of the plugin API, exporting additional
+ commonly used functions from `IkiWiki.pm`.
+* Nearly everything in ikiwiki is now a plugin, from WikiLinks to page
+ editing, to RecentChanges.
+* Far too many bug fixes, features, and enhancements to list here.
+
+Released 31 December, 2008.
+
+The 3.x series is expected to undergo continuing development for some time,
+adding improvements and new features, but avoiding changes that break
+backwards compatability.
----
diff --git a/doc/security.mdwn b/doc/security.mdwn
index b067a8a16..939d65d01 100644
--- a/doc/security.mdwn
+++ b/doc/security.mdwn
@@ -416,4 +416,4 @@ attack.
intrigeri discovered this problem on 12 Nov 2008 and a patch put in place
later that day, in version 2.70. The fix was backported to testing as version
-2.53.2, and to stable as version 1.33.7.
+2.53.3, and to stable as version 1.33.7.
diff --git a/doc/tips/embedding_content.mdwn b/doc/tips/embedding_content.mdwn
new file mode 100644
index 000000000..142acd16e
--- /dev/null
+++ b/doc/tips/embedding_content.mdwn
@@ -0,0 +1,35 @@
+Content from sites such as YouTube can be embedded into a web page. Maybe
+you want to do this. But you'll find that the [[plugins/htmlscrubber]]
+doesn't let you. It blocks the tags used to embed such content, because
+they can be abused in many evil ways.
+
+Some plugins have been written to try to work around this problem, by
+whitelisting the html needed to embed things from a few sites like Google
+maps, calendar, videos, and YouTube. The problem with these plugins is that
+they have to be kept up to date to add new sites, and follow changes to the
+html such sites use for embedding.
+
+(Digression: The real problem with the plugins is that they hide the
+underlying trust relationship. If you decide to embed html from a site,
+you'd better trust that site. And if ikiwiki lets you enter such html, it
+needs to trust you.)
+
+The [[plugins/htmlscrubber]] offers a different way around this problem.
+You can configure it to skip scrubbing certian pages, so that content from
+elsewhere can be embedded on those pages. Then use [[plugins/lockedit]]
+to limit who can edit those unscrubbed pages.
+
+For example, suppose your blog is all under `blog/*`, and you want
+only yourself to be able to post there, and you'd like to be able to embed
+youtube videos etc in your blog. Other users can edit some pages in the
+wiki (Discussion pages, say), but not your blog posts. Then you could configure
+ikiwiki as follows:
+
+ htmlscrubber_skip => 'blog/* and !*/Discussion',
+ locked_pages => '!*/Discussion',
+
+More simply, you might want to allow yourself to embed content anywhere
+on the wiki, but scrub content written on Discussion pages:
+
+ htmlscrubber_skip => '!*/Discussion',
+ locked_pages => '!*/Discussion',
diff --git a/doc/tips/github.mdwn b/doc/tips/github.mdwn
new file mode 100644
index 000000000..cd1b479d1
--- /dev/null
+++ b/doc/tips/github.mdwn
@@ -0,0 +1,67 @@
+Here's how to set up a static wiki or blog using ikiwiki with no hosting
+feeds. Everything is hosted on github, both the git repository and the web
+site. Your laptop is used to generate and publish changes to it.
+
+This is possible because github now supports
+[github pages](http://github.com/blog/272-github-pages).
+
+Note that github limits free accounts to 100 mb of git storage. It's
+unlikely that a small wiki or blog will outgrow this, but we are keeping
+two copies of the website in git (source and the compiled site), and all
+historical versions too. So it could happen. If it does, you can pay github
+for more space, or you can migrate your site elsewhere.
+
+## github setup
+
+* Go to [github](http://github.com/) and sign up for an account, if you
+ haven't already.
+* Be sure to add your laptop's ssh key to it so you can push
+ to github.
+* Create a repository on githib named `$YOU.github.com`, substituting your
+ username. This repository will be used to publish your compiled website.
+* Create a repository on github named `$YOU` (or anything else you like).
+ This repository will be used to publish the source of your website.
+ This is actually optional.
+
+## local setup
+
+* On your laptop, create two empty git repositories to correspond to the
+ github repositories:
+ YOU=# your github username here
+ mkdir ~/$YOU.github.com
+ cd ~/$YOU.github.com
+ git init
+ git remote add origin git@github.com:$YOU/$YOU.github.com.git
+ mkdir ~/$YOU
+ cd ~/$YOU
+ git init
+ git remote add origin git@github.com:$YOU/$YOU.git
+* Add some wiki pages, such as an `index.mdwn`, to `~/$YOU`, and check them
+ in and commit them to git. You need something to push to github. Run
+ `git push origin master` to push the source pages to github.
+
+## publishing to github
+
+* Now build your wiki with a command such as:
+ ikiwiki ~/$YOU ~/$YOU.github.com --refresh
+* Each time you build the wiki you will need to commit the changes
+ to git, and push the compiled pages to github:
+ cd ~/YOU.github.com
+ git add .
+ git commit -a -m update
+ git push origin master
+
+Your wiki will show up at `http://$YOU.github.com/` within ten
+minutes after the first push, and changes you push to it from then on
+should show up immediatly.
+
+## enhancements
+
+You can follow the instructions in [[laptop_wiki_with_git]] to set up an
+editable version of your wiki on your laptop. Then you can use the web
+interface for editing. You'll still need to follow the instructions above
+to publish your changes to github.
+
+It would also be possible to teach ikiwiki to push compiled pages to github
+itself via a plugin, as was done with the [[plugins/amazon_s3]] plugin. Not
+done yet!
diff --git a/doc/tips/upgrade_to_3.0.mdwn b/doc/tips/upgrade_to_3.0.mdwn
new file mode 100644
index 000000000..b8a75aeca
--- /dev/null
+++ b/doc/tips/upgrade_to_3.0.mdwn
@@ -0,0 +1,95 @@
+Version 3.0 of ikiwiki makes some significant changes, which
+you will need to deal with when upgrading from ikiwiki 2.x.
+
+[[!toc ]]
+
+## setup file format change
+
+The layout of the setup file changed in a significant way in version 2.60
+of ikiwiki. If you have not changed yours to the new format, now would be a
+good time to do so. Some new features, like the [[plugins/websetup]]
+interface, need the new format setup file.
+
+You can convert old setup files into the new format by running
+`ikiwiki-transition setupformat your.setup`
+
+## moving settings from Preferences page
+
+The admin preferences page used to have settings for allowed attachments,
+locked pages, and banned users. These three settings have moved to the
+setup file, and will no longer appear on the admin preferences page once
+your wiki is upgraded to 3.0.
+
+You can move these preferences into the setup file by running
+`ikiwiki-transition moveprefs your.setup; ikiwiki -setup your.setup -refresh -wrappers`
+
+(Make sure you have converted the setup file to the new format first.)
+
+## prefix directives
+
+In 3.0, the syntax ikiwiki uses for [[directives|ikiwiki/directive]] has
+changed, requiring that the directive start with a bang:
+
+ \[[!directive ...]]
+
+If you would like to keep the old syntax, it is still supported, add the
+following to your setup file:
+
+ prefix_directives => 0,
+
+To convert to the new syntax, run
+`ikiwiki-transition prefix_directives your.setup`
+
+(And then commit the changes it makes to pages in your srcdir.)
+
+## GlobLists
+
+In 3.0, the old "GlobList" syntax for [[PageSpecs|ikiwiki/PageSpec]] is no
+longer supported. A GlobList contains multiple term, but does not separate
+them with "and" or "or":
+
+ sandbox !*/Discussion
+
+To convert this to a modern PageSpec, simply add "and" or "or" as
+appropriate between terms:
+
+ sandbox and !*/Discussion
+
+GlobLists have been deprecated for more than two years. If your wiki dates
+to the ikiwiki 1.0 era, you should check it for any that might have lurked
+unnoticed in it since back then. Ikiwiki version 2.72 will print warnings
+about any GlobLists it sees.
+
+## aggregateinternal
+
+If your wiki uses the [[aggregate|plugins/aggregate]] plugin, it will start
+to aggregate feeds to special "internal" pages.
+
+If you don't want this change, you can add the following to your setup
+file:
+
+ aggregateinternal => 0,
+
+Otherwise, follow this procedure to upgrade a wiki using the aggregate plugin:
+
+1. Update all [[PageSpecs|ikiwiki/PageSpec]] that refer to the aggregated
+ pages -- such as those in inlines. Put "internal()" around globs
+ in those PageSpecs. For example, if the PageSpec was `foo/*`, it should
+ be changed to `internal(foo/*)`. This has to be done because internal
+ pages are not matched by regular globs.
+2. Use [[ikiwiki-transition]] to rename all existing aggregated `.html`
+ files in the srcdir. The command to run is
+ `ikiwiki-transition aggregateinternal your.setup`,
+3. Refresh the wiki. (`ikiwiki -setup your.setup -refresh`)
+
+## embed / googlecalendar
+
+The googlecalendar plugin has been deprecated for a long time, and is
+removed in 3.0.
+
+The embed plugin is also now deprecated, though not yet removed.
+
+If you use either plugin to embed content from google, youtube, etc,
+into your wiki, you should instead configure the [[plugins/htmlscrubber]]
+to skip sanitising some pages, via the `htmlscrubber_skip` setting.
+See [[embedding_content]] for examples.
diff --git a/doc/todo/firm_up_plugin_interface.mdwn b/doc/todo/firm_up_plugin_interface.mdwn
index c2e190884..c7553f7dd 100644
--- a/doc/todo/firm_up_plugin_interface.mdwn
+++ b/doc/todo/firm_up_plugin_interface.mdwn
@@ -92,3 +92,5 @@ Probably needs to evolve more and be more widely used before being exported.
* %IkiWiki::pagecase (aggregate)
* %IkiWiki::backlinks (pagestats)
+
+[[done]] (until 4.0)..
diff --git a/doc/todo/need_global_renamepage_hook.mdwn b/doc/todo/need_global_renamepage_hook.mdwn
index 8265497ae..f4e18baa2 100644
--- a/doc/todo/need_global_renamepage_hook.mdwn
+++ b/doc/todo/need_global_renamepage_hook.mdwn
@@ -25,7 +25,7 @@ It may seem like a corner case, but I want to be very careful when
deleting files automatically in `srcdir`, which is not always under
version control.
-As an sad workaround, I can still disable any deletion in `srcdir`
+As a sad workaround, I can still disable any deletion in `srcdir`
when it is not under version control. But I think ikiwiki deserves
a global `renamepage` hook that would be run once per rename
operation.
@@ -51,3 +51,7 @@ would solve my problem. Hmmm? --[[intrigeri]]
> It might make sense to rename `renamepage` to `renamelink` to make it
> clearer what it does. (I'm not very worried about this breaking things, at
> this point.) --[[Joey]]
+
+>> In my `po` branch, I renamed `renamepage` to `renamelink`, and
+>> created a `rename` hook that is passed a reference to `@torename`.
+>> --[[intrigeri]]
diff --git a/doc/users/smcv/gallery.mdwn b/doc/users/smcv/gallery.mdwn
new file mode 100644
index 000000000..40e9f6279
--- /dev/null
+++ b/doc/users/smcv/gallery.mdwn
@@ -0,0 +1,266 @@
+[[!template id=plugin name=smcvgallery author="[[Simon_McVittie|smcv]]"]]
+[[!tag type/chrome]]
+
+This plugin has not yet been written; this page is an experiment in
+design-by-documentation :-)
+
+## Requirements
+
+This plugin formats a collection of images into a photo gallery,
+in the same way as many websites: good examples include the
+PHP application [Gallery](http://gallery.menalto.com/), Flickr,
+and Facebook's Photos "application".
+
+The web UI I'm trying to achieve consists of one
+[HTML page of thumbnails](http://www.pseudorandom.co.uk/2008/2008-03-08-panic-cell-gig/)
+as an entry point to the gallery, where each thumbnail
+links to
+[a "viewer" HTML page](http://www.pseudorandom.co.uk/2008/2008-03-08-panic-cell-gig/img_0068/)
+with a full size image, next/previous thumbnail links, and [[plugins/comments]].
+
+(The Summer of Code [[plugins/contrib/gallery]] plugin does the
+next/previous UI in Javascript using Lightbox, which means that
+individual photos can't be bookmarked in a meaningful way, and
+the best it can do as a fallback for non-Javascript browsers
+is to provide a direct link to the image.)
+
+Other features that would be good to have:
+
+* minimizing the number of separate operations needed to make a gallery -
+ editing one source file per gallery is acceptable, editing one
+ source file per photo is not
+
+* keeping photos outside source code control, for instance in an
+ underlay
+
+* assigning [[tags|ikiwiki/directive/tag]] to photos, providing a
+ superset of Facebook's "show tagged photos of this person" functionality
+
+* constructing galleries entirely via the web by uploading attachments
+
+* inserting grouping (section headings) within a gallery; as in the example
+ linked above, I'd like this to split up the thumbnails but not the
+ next/previous trail
+
+* rendering an `<object>/<embed>` arrangement to display videos, and possibly
+ thumbnailing them in the same way as totem-video-thumbnailer
+ (my camera can record short videos, so some of my web photo galleries contain
+ them)
+
+My plan is to have these directives:
+
+* \[[!gallery]] registers the page it's on as a gallery, and displays all photos
+ that are part of this gallery but not part of a \[[!gallerysection]] (below).
+
+ All images (i.e. `*.png *.jpg *.gif`) that are attachments to the gallery page
+ or its subpages are considered to be part of the gallery.
+
+ Optional arguments:
+
+ * filter="[[ikiwiki/PageSpec]]": only consider images to be part of the
+ gallery if they also match this filter
+
+ * sort="date|filename": order in which to sort the images
+
+* \[[!gallerysection filter="[[ikiwiki/PageSpec]]"]] displays all photos in the
+ gallery that match the filter
+
+So, [the gallery I'm using as an example](http://www.pseudorandom.co.uk/2008/2008-03-08-panic-cell-gig/)
+could look something like this:
+
+ \[[!gallery]]
+ <!-- replaced with one uncategorized photo -->
+
+ # Gamarra
+
+ \[[!gallerysection filter="link(sometag)"]]
+ <!-- all the Gamarra photos -->
+
+ # Smokescreen
+
+ \[[!gallerysection filter="link(someothertag)"]]
+ <!-- all the Smokescreen photos -->
+
+ <!-- ... -->
+
+## Implementation ideas
+
+The photo galleries I have at the moment, like the Panic Cell example above,
+are made by using an external script to parse XML gallery descriptions (lists
+of image filenames, with metadata such as titles), and using this to write IkiWiki
+markup into a directory which is then used as an underlay. This is a hack, but it
+works. The use of XML is left over from a previous attempt at solving the same
+problem using Django.
+
+The next/previous part this plugin overlaps with [[todo/wikitrails]].
+
+A \[[!galleryimg]] directive to assign metadata to images is probably necessary, so
+the gallery page can contain something like:
+
+ \[[!galleryimg p1010001.jpg title="..." caption="..." tags="foo"]]
+ \[[!galleryimg p1010002.jpg title="..." caption="..." tags="foo bar"]]
+
+Making the viewer pages could be rather tricky.
+
+One possibility is to write out the viewer pages as a side-effect of preprocessing
+the \[[!gallery]] directive. The proof-of-concept implementation below does this.
+However, this does mean the viewer pages can't have tags or metadata of their own
+and can't be matched by [[pagespecs|ikiwiki/pagespec]] or
+[[wikilinks|ikiwiki/wikilink]]. It might be possible to implement tagging by
+using \[[!galleryimg]] to assign the metadata to the *images* instead of their
+viewers,
+
+Another is to synthesize source pages for the viewers. This means they can have
+tags and metadata, but trying to arrange for them to be scanned etc. correctly
+without needing another refresh run is somewhat terrifying.
+[[plugins/autoindex]] can safely create source pages because it runs in
+the refresh hook, but I don't really like the idea of a refresh hook that scans
+all source pages to see if they contain \[[!gallery]]...
+
+Making the image be the source page (and generate HTML itself) would be possible,
+but I wouldn't want to generate a HTML viewer for every `.jpg` on a site, so
+either the images would have to have a special extension (awkward for uploads from
+Windows users) or the plugin would have to be able to change whether HTML was
+generated in some way (not currently possible).
+
+## Proof-of-concept
+
+ #!/usr/bin/perl
+ package IkiWiki::Plugin::gallery;
+
+ use warnings;
+ use strict;
+ use IkiWiki 2.00;
+
+ sub import {
+ hook(type => "getsetup", id => "gallery", call => \&getsetup);
+ hook(type => "checkconfig", id => "gallery", call => \&checkconfig);
+ hook(type => "preprocess", id => "gallery",
+ call => \&preprocess_gallery, scan => 1);
+ hook(type => "preprocess", id => "gallerysection",
+ call => \&preprocess_gallerysection, scan => 1);
+ hook(type => "preprocess", id => "galleryimg",
+ call => \&preprocess_galleryimg, scan => 1);
+ }
+
+ sub getsetup () {
+ return
+ plugin => {
+ safe => 1,
+ rebuild => undef,
+ },
+ }
+
+ sub checkconfig () {
+ }
+
+ # page that is a gallery => array of images
+ my %galleries;
+ # page that is a gallery => array of filters
+ my %sections;
+ # page that is an image => page name of generated "viewer"
+ my %viewers;
+
+ sub preprocess_gallery {
+ # \[[!gallery filter="!*/cover.jpg"]]
+ my %params=@_;
+
+ my $subpage = qr/^\Q$params{page}\E\//;
+
+ my @images;
+
+ foreach my $page (keys %pagesources) {
+ # Reject anything not a subpage or attachment of this page
+ next unless $page =~ $subpage;
+
+ # Reject non-images
+ # FIXME: hard-coded list of extensions
+ next unless $page =~ /\.(jpg|gif|png|mov)$/;
+
+ # Reject according to the filter, if any
+ next if (exists $params{filter} &&
+ !pagespec_match($page, $params{filter},
+ location => $params{page}));
+
+ # OK, we'll have that one
+ push @images, $page;
+
+ my $viewername = $page;
+ $viewername =~ s/\.[^.]+$//;
+ $viewers{$page} = $viewername;
+
+ my $filename = htmlpage($viewername);
+ will_render($params{page}, $filename);
+ }
+
+ $galleries{$params{page}} = \@images;
+
+ # If we're just scanning, don't bother producing output
+ return unless defined wantarray;
+
+ # actually render the viewers
+ foreach my $img (@images) {
+ my $filename = htmlpage($viewers{$img});
+ debug("rendering image viewer $filename for $img");
+ writefile($filename, $config{destdir}, "# placeholder");
+ }
+
+ # display a list of "loose" images (those that are in no section);
+ # this works because we collected the sections' filters during the
+ # scan stage
+
+ my @loose = @images;
+
+ foreach my $filter (@{$sections{$params{page}}}) {
+ my $_;
+ @loose = grep { !pagespec_match($_, $filter,
+ location => $params{page}) } @loose;
+ }
+
+ my $_;
+ my $ret = "<ul>\n";
+ foreach my $img (@loose) {
+ $ret .= "<li>";
+ $ret .= "<a href=\"" . urlto($viewers{$img}, $params{page});
+ $ret .= "\">$img</a></li>\n"
+ }
+ return "$ret</ul>\n";
+ }
+
+ sub preprocess_gallerysection {
+ # \[[!gallerysection filter="friday/*"]]
+ my %params=@_;
+
+ # remember the filter for this section so the "loose images" section
+ # won't include these images
+ push @{$sections{$params{page}}}, $params{filter};
+
+ # If we're just scanning, don't bother producing output
+ return unless defined wantarray;
+
+ # this relies on the fact that we ran preprocess_gallery once
+ # already, during the scan stage
+ my @images = @{$galleries{$params{page}}};
+ @images = grep { pagespec_match($_, $params{filter},
+ location => $params{page}) } @images;
+
+ my $_;
+ my $ret = "<ul>\n";
+ foreach my $img (@images) {
+ $ret .= "<li>";
+ $ret .= htmllink($params{page}, $params{destpage},
+ $viewers{$img});
+ $ret .= "</li>";
+ }
+ return "$ret</ul>\n";
+ }
+
+ sub preprocess_galleryimg {
+ # \[[!galleryimg p1010001.jpg title="" caption="" tags=""]]
+ my $file = $_[0];
+ my %params=@_;
+
+ return "";
+ }
+
+ 1
diff --git a/doc/wikiicons/openidlogin-bg.gif b/doc/wikiicons/openidlogin-bg.gif
index c8f43d08e..a3bfe1098 100644
--- a/doc/wikiicons/openidlogin-bg.gif
+++ b/doc/wikiicons/openidlogin-bg.gif
Binary files differ
diff --git a/ikiwiki-transition b/ikiwiki-transition
index e42a5137c..599261a09 100755
--- a/ikiwiki-transition
+++ b/ikiwiki-transition
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -i
+#!/usr/bin/perl
use warnings;
use strict;
use IkiWiki;
@@ -42,11 +42,33 @@ sub handle_directive {
}
sub prefix_directives {
- $/=undef; # process whole files at once
-
- while (<>) {
- s{$regex}{handle_directive($1, $2, $3, $4)}eg;
- print;
+ my $setup=shift;
+ if (! defined $setup) {
+ usage();
+ }
+
+ require IkiWiki::Setup;
+ require IkiWiki::Plugin::aggregate;
+
+ %config = IkiWiki::defaultconfig();
+ IkiWiki::Setup::load($setup);
+ IkiWiki::loadplugins();
+ IkiWiki::checkconfig();
+ IkiWiki::loadindex();
+
+ if (! %pagesources) {
+ error "ikiwiki has not built this wiki yet, cannot transition";
+ }
+
+ foreach my $page (values %pagesources) {
+ next unless defined pagetype($page) &&
+ -f $config{srcdir}."/".$page;
+ my $content=readfile($config{srcdir}."/".$page);
+ my $oldcontent=$content;
+ $content=~s{$regex}{handle_directive($1, $2, $3, $4)}eg;
+ if ($oldcontent ne $content) {
+ writefile($page, $config{srcdir}, $content);
+ }
}
}
@@ -109,12 +131,10 @@ sub aggregateinternal {
require IkiWiki::Plugin::aggregate;
%config = IkiWiki::defaultconfig();
- IkiWiki::Setup::load();
+ IkiWiki::Setup::load($setup);
IkiWiki::checkconfig();
IkiWiki::Plugin::aggregate::migrate_to_internal();
-
- print "... now add aggregateinternal => 1 to your .setup file\n";
}
sub setupformat {
@@ -161,14 +181,54 @@ sub setupformat {
IkiWiki::Setup::dump($setup);
}
+sub moveprefs {
+ my $setup=shift;
+ if (! defined $setup) {
+ usage();
+ }
+
+ require IkiWiki::Setup;
+
+ %config = IkiWiki::defaultconfig();
+ IkiWiki::Setup::load($setup);
+ IkiWiki::checkconfig();
+
+ eval q{use IkiWiki::UserInfo};
+ error $@ if $@;
+
+ foreach my $field (qw{allowed_attachments locked_pages}) {
+ my $orig=$config{$field};
+ foreach my $admin (@{$config{adminuser}}) {
+ my $a=IkiWiki::userinfo_get($admin, $field);
+ if (defined $a && length $a &&
+ # might already have been moved
+ (! defined $orig || $a ne $orig)) {
+ if (defined $config{$field} &&
+ length $config{$field}) {
+ $config{$field}=IkiWiki::pagespec_merge($config{$field}, $a);
+ }
+ else {
+ $config{$field}=$a;
+ }
+ }
+ }
+ }
+
+ my %banned=map { $_ => 1 } @{$config{banned_users}}, IkiWiki::get_banned_users();
+ $config{banned_users}=[sort keys %banned];
+
+ IkiWiki::Setup::dump($setup);
+}
+
sub usage {
print STDERR "Usage: ikiwiki-transition type ...\n";
print STDERR "Currently supported transition subcommands:\n";
- print STDERR "\tprefix_directives file\n";
- print STDERR "\tindexdb srcdir\n";
- print STDERR "\thashpassword srcdir\n";
+ print STDERR "\tprefix_directives setupfile ...\n";
print STDERR "\taggregateinternal setupfile\n";
print STDERR "\tsetupformat setupfile\n";
+ print STDERR "\tmoveprefs setupfile\n";
+ print STDERR "\thashpassword srcdir\n";
+ print STDERR "\tindexdb srcdir\n";
exit 1;
}
@@ -190,6 +250,9 @@ elsif ($mode eq 'aggregateinternal') {
elsif ($mode eq 'setupformat') {
setupformat(@ARGV);
}
+elsif ($mode eq 'moveprefs') {
+ moveprefs(@ARGV);
+}
else {
usage();
}
@@ -247,3 +310,15 @@ sub oldloadindex {
return close($in);
}
+
+# Used to be in IkiWiki/UserInfo, but only used here now.
+sub get_banned_users () {
+ my @ret;
+ my $userinfo=userinfo_retrieve();
+ foreach my $user (keys %{$userinfo}) {
+ push @ret, $user if $userinfo->{$user}->{banned};
+ }
+ return @ret;
+}
+
+1
diff --git a/po/bg.po b/po/bg.po
index 37e249012..0103a110a 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: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-0500\n"
"PO-Revision-Date: 2007-01-12 01:19+0200\n"
"Last-Translator: Damyan Ivanov <dam@modsodtsys.com>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -24,7 +24,7 @@ msgstr "Първо трябва да влезете."
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr ""
@@ -41,88 +41,88 @@ msgstr "Предпочитанията са запазени."
msgid "Admin"
msgstr ""
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "Предпочитанията са запазени."
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "Достъпът ви е забранен."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "Грешка"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, fuzzy, perl-format
msgid "missing %s parameter"
msgstr "липсващ параметър „id” на шаблона"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "нов източник"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "съобщения"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "ново"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "премахване на „%s” (на %s дни)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "премахване на „%s”"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "проверка на източника „%s”"
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "не е намерен източник на адрес „%s”"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
#, fuzzy
msgid "feed not found"
msgstr "шаблонът „%s” не е намерен"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "данните от източника предизвикаха грешка в модула XML::Feed!"
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "създаване на нова страницa „%s”"
@@ -159,15 +159,15 @@ msgstr "грешка при запис на файла „%s”: %s"
msgid "there is already a page named %s"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr ""
@@ -191,12 +191,12 @@ msgstr ""
msgid "There are no broken links!"
msgstr "Няма „счупени” връзки!"
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr ""
@@ -204,45 +204,45 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
#, fuzzy
msgid "missing page"
msgstr "липсващ параметър „id” на шаблона"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, fuzzy, perl-format
msgid "commenting on %s"
msgstr "създаване на %s"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr ""
@@ -336,11 +336,6 @@ msgstr "При използване на приеставката „search”
msgid "Failed to parse url, cannot determine domain name"
msgstr ""
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-#, fuzzy
-msgid "failed to find url in html"
-msgstr "приставката „googlecalendar” не намери URL в HTML-кода"
-
#: ../IkiWiki/Plugin/graphviz.pm:67
#, fuzzy
msgid "failed to run graphviz"
@@ -419,7 +414,7 @@ msgstr "модулът „RPC::XML::Client” не е намерен; източ
msgid "failed to run dot"
msgstr "приставката „linkmap”: грешка при изпълнение на „dot”"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, fuzzy, perl-format
msgid "%s is locked and cannot be edited"
msgstr ""
@@ -1043,7 +1038,7 @@ msgstr ""
msgid "preprocessing loop detected on %s at depth %i"
msgstr "открита е циклична завидимост при %s на „%s” на дълбочина %i"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr ""
@@ -1067,6 +1062,10 @@ msgstr ""
msgid "What is the domain name of the web server?"
msgstr ""
+#, fuzzy
+#~ msgid "failed to find url in html"
+#~ msgstr "приставката „googlecalendar” не намери URL в HTML-кода"
+
#~ msgid "processed ok at %s"
#~ msgstr "е обработен нормално от %s"
diff --git a/po/cs.po b/po/cs.po
index 7ea726c5a..fc6684a5a 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: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-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"
@@ -23,7 +23,7 @@ msgstr "Nejprve se musíte přihlásit."
msgid "login failed, perhaps you need to turn on cookies?"
msgstr "přihlášení selhalo; možná si musíte povolit cookies?"
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr ""
@@ -39,87 +39,87 @@ msgstr "Předvolby"
msgid "Admin"
msgstr "Správce"
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "Nastavení uloženo."
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "Jste vyhoštěni."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "Chyba"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, perl-format
msgid "missing %s parameter"
msgstr "chybí parametr %s"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "nový zdroj"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "příspěvky"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "nový"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "expiruji %s (stará %s dnů)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "expiruji %s"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "kontroluji zdroj %s ..."
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "nemohu najít zdroj na %s"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
msgid "feed not found"
msgstr "zdroj nebyl nalezen"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr "(neplatné UTF-8 bylo ze zdroje odstraněno)"
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "zdroj shodil XML::Feed!"
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "vytvářím novou stránku %s"
@@ -156,15 +156,15 @@ msgstr "nelze změnit velikost: %s"
msgid "there is already a page named %s"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr ""
@@ -188,12 +188,12 @@ msgstr ""
msgid "There are no broken links!"
msgstr "Žádné porušené odkazy!"
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr ""
@@ -201,45 +201,45 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
#, fuzzy
msgid "missing page"
msgstr "chybí hodnoty"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, fuzzy, perl-format
msgid "commenting on %s"
msgstr "vytvářím %s"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr ""
@@ -333,10 +333,6 @@ msgstr "Při používání vyhledávacího modulu musíte zadat %s"
msgid "Failed to parse url, cannot determine domain name"
msgstr ""
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-msgid "failed to find url in html"
-msgstr "v html se nepodařilo nalézt url"
-
#: ../IkiWiki/Plugin/graphviz.pm:67
msgid "failed to run graphviz"
msgstr "nepodařilo se spustit graphviz"
@@ -411,7 +407,7 @@ msgstr "RPC::XML::Client nebyl nalezen, nepinkám"
msgid "failed to run dot"
msgstr "nepodařilo se spustit dot"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, fuzzy, perl-format
msgid "%s is locked and cannot be edited"
msgstr "Stránka %s je zamknutá uživatelem %s a nelze ji měnit"
@@ -1022,7 +1018,7 @@ msgstr ""
msgid "preprocessing loop detected on %s at depth %i"
msgstr "Byla rozpoznána smyčka direktivy %s na %s v hloubce %i"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr ""
@@ -1046,6 +1042,9 @@ msgstr ""
msgid "What is the domain name of the web server?"
msgstr ""
+#~ msgid "failed to find url in html"
+#~ msgstr "v html se nepodařilo nalézt url"
+
#~ msgid "processed ok at %s"
#~ msgstr "zpracováno ok %s"
diff --git a/po/da.po b/po/da.po
index 4a016233a..48a4c7744 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: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-0500\n"
"PO-Revision-Date: 2008-10-22 19:13+0100\n"
"Last-Translator: Jonas Smedegaard <dr@jones.dk>\n"
"Language-Team: None\n"
@@ -27,7 +27,7 @@ msgstr "Du skal først logge på."
msgid "login failed, perhaps you need to turn on cookies?"
msgstr "Pålogning mislykkedes, måske skal du tillade infokager (cookies)?"
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr "Din kørsel (login session) er udløbet"
@@ -43,87 +43,87 @@ msgstr "Indstillinger"
msgid "Admin"
msgstr "Admin"
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "Indstillinger gemt"
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "Du er banlyst."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "Fejl"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr "Indsamling udløst via web."
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr "Intet at gøre lige nu, alle fødninger er tidssvarende!"
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, perl-format
msgid "missing %s parameter"
msgstr "mangler parametren %s"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "ny fødning"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "indlæg"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "nyt"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "udløber %s (%s dage gammel)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "udløber %s"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "undersøger fødning %s ..."
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "kunne ikke finde fødning ved %s"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
msgid "feed not found"
msgstr "fødning ikke fundet"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr "(defekt UTF-8 fjernet fra fødning)"
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr "(fødningselementer omgået (escaped))"
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "fødning fik XML::Feed til at bryde sammen!"
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "opretter ny side %s"
@@ -158,15 +158,15 @@ msgstr "Sletning af fil fra S3 mislykkedes: "
msgid "there is already a page named %s"
msgstr "der er allerede en side ved navn %s"
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr "forhindret af allowed_attachments"
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr "dårligt vedhæftningsfilnavn"
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr "vedhæftningsoplægning"
@@ -190,12 +190,12 @@ msgstr "%s fra %s"
msgid "There are no broken links!"
msgstr "Ingen henvisninger der ikker fungerer!"
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, fuzzy, perl-format
msgid "unsupported page format %s"
msgstr "revisionskontrolsystem %s ikke understøttet"
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr ""
@@ -203,45 +203,45 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
msgid "missing page"
msgstr "manglende side"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr "Siden %s eksisterer ikke."
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
#, fuzzy
msgid "bad page name"
msgstr "dårligt vedhæftningsfilnavn"
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, fuzzy, perl-format
msgid "commenting on %s"
msgstr "opretter %s"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr ""
@@ -333,10 +333,6 @@ msgstr "Skal angive %s når google søgeudvidelsen bruges"
msgid "Failed to parse url, cannot determine domain name"
msgstr "Tolkning af URL mislykkedes, kan ikke afgøre domænenavn"
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-msgid "failed to find url in html"
-msgstr "lokalisering af url i html mislykkedes"
-
#: ../IkiWiki/Plugin/graphviz.pm:67
msgid "failed to run graphviz"
msgstr "graphviz-kørsel mislykkedes"
@@ -408,7 +404,7 @@ msgstr "RPC::XML::Client ikke fundet, pinger ikke"
msgid "failed to run dot"
msgstr "dot-kørsel mislykkedes"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, perl-format
msgid "%s is locked and cannot be edited"
msgstr "%s er låst og kan ikke redigeres"
@@ -1021,7 +1017,7 @@ msgstr ""
msgid "preprocessing loop detected on %s at depth %i"
msgstr "forudberegningssløkke fundet på %s ved dybde %i"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr "ja"
@@ -1045,5 +1041,8 @@ msgstr "Hvilken wiki bruger (eller openid) skal være administrator?"
msgid "What is the domain name of the web server?"
msgstr "Hvad er domænenavnet på webserveren?"
+#~ msgid "failed to find url in html"
+#~ msgstr "lokalisering af url i html mislykkedes"
+
#~ msgid "processed ok at %s"
#~ msgstr "korrekt dannet ved %s"
diff --git a/po/de.po b/po/de.po
index b0db15a6a..e6f6bfa1e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki 2.70\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-0500\n"
"PO-Revision-Date: 2008-11-20 19:58+0100\n"
"Last-Translator: Kai Wasserbäch <debian@carbon-project.org>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@@ -23,7 +23,7 @@ msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
"Anmeldung fehlgeschlagen, möglicherweise müssen Sie zuvor Cookies aktivieren?"
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr "Ihre Anmeldung für die aktuelle Sitzung ist abgelaufen."
@@ -39,87 +39,87 @@ msgstr "Einstellungen"
msgid "Admin"
msgstr "Administrator"
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "Einstellungen gespeichert."
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "Sie sind ausgeschlossen worden."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "Fehler"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr "Feed-Erstellung wurde über das Web ausgelöst."
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr "Derzeit nichts zu tun, alle Feeds sind auf dem neusten Stand!"
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, perl-format
msgid "missing %s parameter"
msgstr "Parameter %s fehlt"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "neuer Feed"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "Beiträge"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "neu"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "%s läuft aus (%s Tage alt)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "%s läuft aus"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr "zuletzt überprüft am %s"
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "überprüfe Feed %s ..."
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "konnte Feed unter %s nicht finden"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
msgid "feed not found"
msgstr "Feed nicht gefunden"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr "(ungültiges UTF-8-Zeichen wurde aus dem Feed entfernt)"
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr "(Feed-Entitäten maskiert)"
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "Feed führte zum Absturz von XML::Feed!"
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "erstelle neue Seite %s"
@@ -154,15 +154,15 @@ msgstr "Konnte Datei nicht bei S3 löschen: "
msgid "there is already a page named %s"
msgstr "eine Seite mit dem Namen %s existiert bereits"
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr "durch allowed_attachements verboten"
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr "fehlerhafter Dateiname für Anhang"
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr "Anhang hochladen"
@@ -186,12 +186,12 @@ msgstr "%s von %s"
msgid "There are no broken links!"
msgstr "Es gibt keine ungültigen Links!"
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
msgstr "nicht unterstütztes Seitenformat %s"
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr ""
@@ -199,44 +199,44 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
msgid "missing page"
msgstr "fehlende Seite"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr "Die Seite %s existiert nicht."
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
msgstr "fehlerhafter Seitenname"
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, fuzzy, perl-format
msgid "commenting on %s"
msgstr "erstelle %s"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr ""
@@ -329,10 +329,6 @@ msgid "Failed to parse url, cannot determine domain name"
msgstr ""
"Verarbeiten der URL fehlgeschlagen, konnte Domainnamen nicht feststellen"
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-msgid "failed to find url in html"
-msgstr "URL in HTML nicht gefunden"
-
#: ../IkiWiki/Plugin/graphviz.pm:67
msgid "failed to run graphviz"
msgstr "konnte graphviz nicht ausführen"
@@ -406,7 +402,7 @@ msgstr "RPC::XML::Client nicht gefunden, führe Ping nicht aus"
msgid "failed to run dot"
msgstr "dot konnte nicht ausgeführt werden"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, perl-format
msgid "%s is locked and cannot be edited"
msgstr "%s wurde gesperrt und kann nicht bearbeitet werden"
@@ -1025,7 +1021,7 @@ msgstr "Laden der für %s benötigten externen Erweiterung fehlgeschlagen: %s"
msgid "preprocessing loop detected on %s at depth %i"
msgstr "Präprozessorschleife auf %s in Tiefe %i erkannt"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr "ja"
@@ -1050,3 +1046,6 @@ msgstr ""
#: ../auto.setup:23
msgid "What is the domain name of the web server?"
msgstr "Wie lautet der Domainname des Webservers?"
+
+#~ msgid "failed to find url in html"
+#~ msgstr "URL in HTML nicht gefunden"
diff --git a/po/es.po b/po/es.po
index 7966d94f9..953e9ee8b 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: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-0500\n"
"PO-Revision-Date: 2008-12-19 08:10+0100\n"
"Last-Translator: Víctor Moral <victor@taquiones.net>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -24,7 +24,7 @@ msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
"registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?"
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr "Su registro en el sistema ha expirado."
@@ -40,88 +40,88 @@ msgstr "Preferencias"
msgid "Admin"
msgstr "Administración"
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "Las preferencias se han guardado."
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "Ha sido expulsado."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "Error"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr "Contenido añadido activado vía web."
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr ""
"¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !"
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, perl-format
msgid "missing %s parameter"
msgstr "falta el parámetro %s"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "nueva entrada"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "entradas"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "nuevo"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "%s caducada (%s días de antigüedad)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "%s caducada"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr "última comprobación el %s"
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "comprobando fuente de datos %s ..."
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "no puedo encontrar la fuente de datos en %s"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
msgid "feed not found"
msgstr "fuente de datos no encontrada"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr "(una secuencia UTF-8 inválida ha sido eliminada de la fuente de datos)"
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr "(los caracteres especiales de la fuente de datos están exceptuados)"
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "¡ la fuente de datos ha provocado un error fatal en XML::Feed !"
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "creando nueva página %s"
@@ -156,15 +156,15 @@ msgstr "No puedo borrar archivo en S3: "
msgid "there is already a page named %s"
msgstr "ya existe una página de nombre %s"
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr "prohibido por la claúsula allowed_attachments"
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr "nombre de archivo adjunto erróneo"
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr "enviado el adjunto"
@@ -188,12 +188,12 @@ msgstr "%s desde la página %s"
msgid "There are no broken links!"
msgstr "¡ No hay enlaces rotos !"
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
msgstr "formato de página %s no soportado"
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr "Un comentario debe tener algún contenido"
@@ -201,44 +201,44 @@ msgstr "Un comentario debe tener algún contenido"
msgid "Anonymous"
msgstr "Anónimo"
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
msgid "missing page"
msgstr "página no encontrada"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr "No existe la página %s."
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
msgstr "nombre de página erróneo"
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, perl-format
msgid "commenting on %s"
msgstr "creando comentarios en la página %s"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr "la página '%s' no existe, así que no se puede comentar sobre ella"
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr "los comentarios para la página '%s' están cerrados"
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr "Añadir un comentario"
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr "Comentario añadido: %s"
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr "Comentarios"
@@ -332,11 +332,6 @@ msgid "Failed to parse url, cannot determine domain name"
msgstr ""
"Error en el análisis del URL, no puedo determinar el nombre del dominio"
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-msgid "failed to find url in html"
-msgstr ""
-"El complemento googlecalendar no ha encontrado un URL en el código html "
-
#: ../IkiWiki/Plugin/graphviz.pm:67
msgid "failed to run graphviz"
msgstr "no he podido ejecutar el programa graphviz "
@@ -410,7 +405,7 @@ msgstr "No he encontrado el componente RPC::XML::Client, no envío señal alguna
msgid "failed to run dot"
msgstr "no he podido ejecutar el programa dot"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, perl-format
msgid "%s is locked and cannot be edited"
msgstr "La página %s está bloqueada y no puede modificarse"
@@ -1032,7 +1027,7 @@ msgstr ""
"se ha detectado en la página %s un bucle de preprocesado en la iteración "
"número %i"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr "si"
@@ -1058,6 +1053,10 @@ msgstr ""
msgid "What is the domain name of the web server?"
msgstr "¿ Cuál es el dominio para el servidor web ?"
+#~ msgid "failed to find url in html"
+#~ msgstr ""
+#~ "El complemento googlecalendar no ha encontrado un URL en el código html "
+
#~ msgid "processed ok at %s"
#~ msgstr "proceso completado con éxito a %s"
diff --git a/po/fr.po b/po/fr.po
index e45d19cc2..4092f0367 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,10 +7,10 @@
# Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>, 2007.
msgid ""
msgstr ""
-"Project-Id-Version: ikiwiki 2.70 \n"
+"Project-Id-Version: ikiwiki 2.71 \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-12-20 18:07-0500\n"
-"PO-Revision-Date: 2008-11-19 21:53+0100\n"
+"PO-Revision-Date: 2008-12-29 17:57+0100\n"
"Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"MIME-Version: 1.0\n"
@@ -128,7 +128,7 @@ msgstr "Création de la nouvelle page %s"
#: ../IkiWiki/Plugin/amazon_s3.pm:31
msgid "deleting bucket.."
-msgstr "suppression du compartiment S3 (« bucket »)..."
+msgstr "Suppression du compartiment S3 (« bucket »)..."
#: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:208
msgid "done"
@@ -154,11 +154,11 @@ msgstr "Échec lors de la suppression du fichier sur S3 :"
#: ../IkiWiki/Plugin/attachment.pm:49
#, perl-format
msgid "there is already a page named %s"
-msgstr "il existe déjà une page nommée %s"
+msgstr "Il existe déjà une page nommée %s"
#: ../IkiWiki/Plugin/attachment.pm:82
msgid "prohibited by allowed_attachments"
-msgstr "action interdite par allowed_attachments"
+msgstr "Action interdite par allowed_attachments"
#: ../IkiWiki/Plugin/attachment.pm:190
msgid "bad attachment filename"
@@ -166,11 +166,11 @@ msgstr "Nom de la pièce jointe incorrect"
#: ../IkiWiki/Plugin/attachment.pm:232
msgid "attachment upload"
-msgstr "envoi de la pièce jointe"
+msgstr "Envoi de la pièce jointe"
#: ../IkiWiki/Plugin/autoindex.pm:105
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:260
#: ../IkiWiki/Plugin/inline.pm:354 ../IkiWiki/Plugin/opendiscussion.pm:26
@@ -186,20 +186,20 @@ msgstr "%s sur %s"
#: ../IkiWiki/Plugin/brokenlinks.pm:56
msgid "There are no broken links!"
-msgstr "Il n'existe pas de lien cassé !"
+msgstr "Aucun lien cassé !"
#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
-msgstr "format de page non reconnu %s"
+msgstr "Format de page non reconnu %s"
#: ../IkiWiki/Plugin/comments.pm:124
msgid "comment must have content"
-msgstr ""
+msgstr "Un commentaire doit avoir un contenu."
#: ../IkiWiki/Plugin/comments.pm:181
msgid "Anonymous"
-msgstr ""
+msgstr "Anonyme"
#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
msgid "missing page"
@@ -212,46 +212,46 @@ msgstr "La page %s n'existe pas."
#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
-msgstr "nom de page incorrect"
+msgstr "Nom de page incorrect"
#: ../IkiWiki/Plugin/comments.pm:341
-#, fuzzy, perl-format
+#, perl-format
msgid "commenting on %s"
-msgstr "Création de %s"
+msgstr "Faire un commentaire sur %s"
#: ../IkiWiki/Plugin/comments.pm:359
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
-msgstr ""
+msgstr "La page '%s' n'existe pas, commentaire impossible."
#: ../IkiWiki/Plugin/comments.pm:366
#, perl-format
msgid "comments on page '%s' are closed"
-msgstr ""
+msgstr "Le commentaire pour la page '%s' est terminé."
#: ../IkiWiki/Plugin/comments.pm:468
msgid "Added a comment"
-msgstr ""
+msgstr "Commentaire ajouté"
#: ../IkiWiki/Plugin/comments.pm:472
#, perl-format
msgid "Added a comment: %s"
-msgstr ""
+msgstr "Commentaire ajouté : %s"
#: ../IkiWiki/Plugin/comments.pm:565
msgid "Comments"
-msgstr ""
+msgstr "Commentaires"
#: ../IkiWiki/Plugin/conditional.pm:27 ../IkiWiki/Plugin/cutpaste.pm:30
#: ../IkiWiki/Plugin/cutpaste.pm:45 ../IkiWiki/Plugin/cutpaste.pm:61
#: ../IkiWiki/Plugin/testpagespec.pm:26
#, perl-format
msgid "%s parameter is required"
-msgstr "le paramètre %s est obligatoire"
+msgstr "Le paramètre %s est obligatoire"
#: ../IkiWiki/Plugin/cutpaste.pm:66
msgid "no text was copied in this page"
-msgstr "aucun texte n'a été copié dans cette page"
+msgstr "Aucun texte n'a été copié dans cette page"
#: ../IkiWiki/Plugin/cutpaste.pm:69
#, perl-format
@@ -309,7 +309,7 @@ msgstr "Échec du lancement de « fortune »"
#: ../IkiWiki/Receive.pm:129
#, perl-format
msgid "you are not allowed to change %s"
-msgstr "vous n'êtes pas autorisé à modifier %s"
+msgstr "Vous n'êtes pas autorisé à modifier %s"
#: ../IkiWiki/Plugin/git.pm:658
#, perl-format
@@ -318,7 +318,7 @@ msgstr "Vous ne pouvez utiliser le mode %s pour les fichiers"
#: ../IkiWiki/Plugin/git.pm:662
msgid "you are not allowed to change file modes"
-msgstr "vous n'êtes pas autorisé à modifier le mode des fichiers"
+msgstr "Vous n'êtes pas autorisé à modifier le mode des fichiers"
#: ../IkiWiki/Plugin/google.pm:27
#, perl-format
@@ -378,7 +378,7 @@ msgstr "Modification de page interdite"
#: ../IkiWiki/Plugin/inline.pm:155
msgid "missing pages parameter"
-msgstr "paramètre « pages » manquant"
+msgstr "Paramètre « pages » manquant"
#: ../IkiWiki/Plugin/inline.pm:204
#, perl-format
@@ -662,7 +662,7 @@ msgstr "Aucun changement dans le nom du fichier n'a été spécifié"
#: ../IkiWiki/Plugin/rename.pm:68
#, perl-format
msgid "illegal name"
-msgstr "appellation non autorisée"
+msgstr "Appellation non autorisée"
#: ../IkiWiki/Plugin/rename.pm:73
#, perl-format
@@ -694,7 +694,7 @@ msgstr "Veuillez sélectionner la pièce jointe à renommer"
#: ../IkiWiki/Plugin/rename.pm:338
#, perl-format
msgid "rename %s to %s"
-msgstr "renomme %s en %s"
+msgstr "Renomme %s en %s"
#: ../IkiWiki/Plugin/rename.pm:490
#, perl-format
@@ -824,11 +824,11 @@ msgstr "activer %s ?"
#: ../IkiWiki/Plugin/websetup.pm:236
msgid "you are not logged in as an admin"
-msgstr "vous n'êtes pas authentifié comme administrateur"
+msgstr "Vous n'êtes pas authentifié comme administrateur"
#: ../IkiWiki/Plugin/websetup.pm:240
msgid "setup file for this wiki is not known"
-msgstr "le fichier de configuration de ce wiki n'est pas connu"
+msgstr "Le fichier de configuration de ce wiki n'est pas connu"
#: ../IkiWiki/Plugin/websetup.pm:256
msgid "main"
@@ -842,7 +842,7 @@ msgstr "Greffons"
msgid ""
"The configuration changes shown below require a wiki rebuild to take effect."
msgstr ""
-"les changements de configuration ci-dessous nécessitent une recompilation du "
+"Les changements de configuration ci-dessous nécessitent une recompilation du "
"wiki pour prendre effet"
#: ../IkiWiki/Plugin/websetup.pm:399
@@ -868,7 +868,7 @@ msgstr ""
#: ../IkiWiki/Receive.pm:85
#, perl-format
msgid "bad file name %s"
-msgstr "nom de fichier incorrect %s"
+msgstr "Nom de fichier incorrect %s"
#: ../IkiWiki/Render.pm:253
#, perl-format
@@ -876,7 +876,7 @@ msgid ""
"symlink found in srcdir path (%s) -- set allow_symlinks_before_srcdir to "
"allow this"
msgstr ""
-"lien symbolique trouvé dans l'adresse de srcdir (%s) -- pour l'autoriser, "
+"Lien symbolique trouvé dans l'adresse de srcdir (%s) -- pour l'autoriser, "
"activez le paramètre « allow_symlinks_before_srcdir »."
#: ../IkiWiki/Render.pm:277 ../IkiWiki/Render.pm:302
@@ -897,7 +897,7 @@ msgstr "Suppression de l'ancienne page %s"
#: ../IkiWiki/Render.pm:400
#, perl-format
msgid "scanning %s"
-msgstr "Parcours de %s"
+msgstr "Examen de %s"
#: ../IkiWiki/Render.pm:405
#, perl-format
@@ -1015,7 +1015,7 @@ msgstr ""
#: ../IkiWiki.pm:526
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:555
#, perl-format
@@ -1025,7 +1025,7 @@ msgstr "Impossible de charger le greffon externe nécessaire au greffon %s : %s
#: ../IkiWiki.pm:1187
#, perl-format
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:1688
msgid "yes"
diff --git a/po/gu.po b/po/gu.po
index d31260c71..a070344fd 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: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-0500\n"
"PO-Revision-Date: 2007-01-11 16:05+0530\n"
"Last-Translator: Kartik Mistry <kartik.mistry@gmail.com>\n"
"Language-Team: Gujarati <team@utkarsh.org>\n"
@@ -23,7 +23,7 @@ msgstr "તમારે પ્રથમ લોગ ઇન થવું પડશ
msgid "login failed, perhaps you need to turn on cookies?"
msgstr "પ્રવેશ નિષ્ફળ, કદાચ તમારી કુકીઓ સક્રિય બનાવવી પડશે?"
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr ""
@@ -40,87 +40,87 @@ msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
msgid "Admin"
msgstr ""
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "તમારા પર પ્રતિબંધ છે."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "ક્ષતિ"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, perl-format
msgid "missing %s parameter"
msgstr "ખોવાયેલ %s વિકલ્પ"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "નવું ફીડ"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "પોસ્ટ"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "નવું"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "જુનું કરે છે %s (%s દિવસો જુનું)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "જુનું કરે છે %s"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "ફીડ %s ચકાસે છે ..."
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "%s પર ફીડ મળી શક્યું નહી"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
msgid "feed not found"
msgstr "ફીડ મળ્યું નહી"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, fuzzy, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr "ફીડમાંથી અયોગ્ય રીતે UTF-8 નીકાળેલ છે"
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "ફીડ ભાંગી ગયું XML::Feed!"
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "નવું પાનું %s બનાવે છે"
@@ -157,15 +157,15 @@ msgstr "માપ બદલવામાં નિષ્ફળ: %s"
msgid "there is already a page named %s"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr ""
@@ -189,12 +189,12 @@ msgstr ""
msgid "There are no broken links!"
msgstr "અહીં કોઇ તૂટેલ કડી નથી!"
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr ""
@@ -202,45 +202,45 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
#, fuzzy
msgid "missing page"
msgstr "ખોવાયેલ કિંમતો"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, fuzzy, perl-format
msgid "commenting on %s"
msgstr "%s બનાવે છે"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr ""
@@ -334,10 +334,6 @@ msgstr "જ્યારે શોધ પ્લગઇન ઉપયોગ કર
msgid "Failed to parse url, cannot determine domain name"
msgstr ""
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-msgid "failed to find url in html"
-msgstr "htmlમાં યુઆરએલ શોધવામાં નિષ્ફળ"
-
#: ../IkiWiki/Plugin/graphviz.pm:67
msgid "failed to run graphviz"
msgstr "ગ્રાફવિઝ ચલાવવામાં નિષ્ફળ"
@@ -412,7 +408,7 @@ msgstr "RPC::XML::Client મળ્યું નહી, પિંગ કરવા
msgid "failed to run dot"
msgstr "ડોટ ચલાવવામાં નિષ્ફળ"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, fuzzy, perl-format
msgid "%s is locked and cannot be edited"
msgstr "%s એ %s દ્વારા તાળું મરાયેલ છે અને તેમાં સુધારો કરી શકાશે નહી"
@@ -1022,7 +1018,7 @@ msgstr ""
msgid "preprocessing loop detected on %s at depth %i"
msgstr "%s પર શોધાયેલ લુપ %s પર ચલાવે છે %i ઉંડાણ પર"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr ""
@@ -1046,6 +1042,9 @@ msgstr ""
msgid "What is the domain name of the web server?"
msgstr ""
+#~ msgid "failed to find url in html"
+#~ msgstr "htmlમાં યુઆરએલ શોધવામાં નિષ્ફળ"
+
#~ msgid "processed ok at %s"
#~ msgstr "આના પર બરાબર છે %s"
diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot
index 1f59b99c7..7f664d111 100644
--- a/po/ikiwiki.pot
+++ b/po/ikiwiki.pot
@@ -24,7 +24,7 @@ msgstr ""
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr ""
@@ -40,87 +40,87 @@ msgstr ""
msgid "Admin"
msgstr ""
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr ""
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr ""
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, perl-format
msgid "missing %s parameter"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
msgid "feed not found"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr ""
@@ -155,15 +155,15 @@ msgstr ""
msgid "there is already a page named %s"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr ""
@@ -328,10 +328,6 @@ msgstr ""
msgid "Failed to parse url, cannot determine domain name"
msgstr ""
-#: ../IkiWiki/Plugin/googlecalendar.pm:34
-msgid "failed to find url in html"
-msgstr ""
-
#: ../IkiWiki/Plugin/graphviz.pm:67
msgid "failed to run graphviz"
msgstr ""
@@ -403,7 +399,7 @@ msgstr ""
msgid "failed to run dot"
msgstr ""
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, perl-format
msgid "%s is locked and cannot be edited"
msgstr ""
@@ -1005,7 +1001,7 @@ msgstr ""
msgid "preprocessing loop detected on %s at depth %i"
msgstr ""
-#: ../IkiWiki.pm:1695
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index 8951b65ce..322d6f070 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: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-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"
@@ -26,7 +26,7 @@ msgstr ""
"Nieudane logowanie. Proszę sprawdzić czy w przeglądarce włączone są "
"ciasteczka (ang. cookies)"
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr ""
@@ -43,88 +43,88 @@ msgstr "Preferencje zapisane."
msgid "Admin"
msgstr ""
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "Preferencje zapisane."
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "Twój dostęp został zabroniony przez administratora."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "Błąd"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, fuzzy, perl-format
msgid "missing %s parameter"
msgstr "brakujący parametr %s"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "nowy kanał RSS"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "wpisy"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "nowy wpis"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "wygasający wpis %s (ma już %s dni)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "wygasający wpis %s"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "sprawdzanie kanału RSS %s..."
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "nie znaleziono kanału RSS pod adresem %s"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
#, fuzzy
msgid "feed not found"
msgstr "nieznaleziony kanał RSS"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, fuzzy, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr "Nieprawidłowe kodowanie UTF-8 usunięte z kanału RSS"
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "awaria kanału RSS w module XML::Feed!"
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "tworzenie nowej strony %s"
@@ -161,15 +161,15 @@ msgstr "awaria w trakcie zmiany rozmiaru: %s"
msgid "there is already a page named %s"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr ""
@@ -193,12 +193,12 @@ msgstr ""
msgid "There are no broken links!"
msgstr "Wszystkie odnośniki są aktualne!"
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr ""
@@ -206,45 +206,45 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
#, fuzzy
msgid "missing page"
msgstr "brakujące wartości"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, fuzzy, perl-format
msgid "commenting on %s"
msgstr "tworzenie %s"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr ""
@@ -338,11 +338,6 @@ msgstr "Wtyczka do wyszukiwarka wymaga podania %s"
msgid "Failed to parse url, cannot determine domain name"
msgstr ""
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-#, fuzzy
-msgid "failed to find url in html"
-msgstr "awaria w trakcie wyszukiwania adresu URL na stronie HTML"
-
#: ../IkiWiki/Plugin/graphviz.pm:67
#, fuzzy
msgid "failed to run graphviz"
@@ -421,7 +416,7 @@ msgstr "Nieznaleziony moduł RPC::XML::Client, brak możliwości pingowania"
msgid "failed to run dot"
msgstr "awaria w trakcie uruchamiania dot"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, fuzzy, perl-format
msgid "%s is locked and cannot be edited"
msgstr ""
@@ -1049,7 +1044,7 @@ msgstr ""
msgid "preprocessing loop detected on %s at depth %i"
msgstr "polecenie preprocesora %s wykryte w %s na głębokości %i"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr ""
@@ -1073,6 +1068,10 @@ msgstr ""
msgid "What is the domain name of the web server?"
msgstr ""
+#, fuzzy
+#~ msgid "failed to find url in html"
+#~ msgstr "awaria w trakcie wyszukiwania adresu URL na stronie HTML"
+
#~ msgid "processed ok at %s"
#~ msgstr "kanał RSS przetworzony w dniu %s"
diff --git a/po/sv.po b/po/sv.po
index 3b1dc3625..1ae6bdad8 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: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-0500\n"
"PO-Revision-Date: 2007-01-10 23:47+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -23,7 +23,7 @@ msgstr "Du måste logga in först."
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr ""
@@ -40,88 +40,88 @@ msgstr "Inställningar sparades."
msgid "Admin"
msgstr ""
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "Inställningar sparades."
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "Du är bannlyst."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "Fel"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, fuzzy, perl-format
msgid "missing %s parameter"
msgstr "mall saknar id-parameter"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "ny kanal"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "inlägg"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "ny"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "låter %s gå ut (%s dagar gammal)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "låter %s gå ut"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "kontrollerar kanalen %s ..."
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "kunde inte hitta kanalen på %s"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
#, fuzzy
msgid "feed not found"
msgstr "mallen %s hittades inte"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "kanalen kraschade XML::Feed!"
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "skapar nya sidan %s"
@@ -158,15 +158,15 @@ msgstr "misslyckades med att skriva %s: %s"
msgid "there is already a page named %s"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr ""
@@ -190,12 +190,12 @@ msgstr ""
msgid "There are no broken links!"
msgstr "Det finns inga trasiga länkar!"
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr ""
@@ -203,45 +203,45 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
#, fuzzy
msgid "missing page"
msgstr "mall saknar id-parameter"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, fuzzy, perl-format
msgid "commenting on %s"
msgstr "skapar %s"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr ""
@@ -335,11 +335,6 @@ msgstr "Måste ange %s när sökinsticket används"
msgid "Failed to parse url, cannot determine domain name"
msgstr ""
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-#, fuzzy
-msgid "failed to find url in html"
-msgstr "googlecalendar misslyckades med att hitta url i html"
-
#: ../IkiWiki/Plugin/graphviz.pm:67
#, fuzzy
msgid "failed to run graphviz"
@@ -416,7 +411,7 @@ msgstr "RPC::XML::Client hittades inte, pingar inte"
msgid "failed to run dot"
msgstr "linkmap misslyckades att köra dot"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, fuzzy, perl-format
msgid "%s is locked and cannot be edited"
msgstr "%s är låst av %s och kan inte redigeras"
@@ -1036,7 +1031,7 @@ msgstr ""
msgid "preprocessing loop detected on %s at depth %i"
msgstr "%s förbehandlingsslinga detekterades på %s, djup %i"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr ""
@@ -1060,6 +1055,10 @@ msgstr ""
msgid "What is the domain name of the web server?"
msgstr ""
+#, fuzzy
+#~ msgid "failed to find url in html"
+#~ msgstr "googlecalendar misslyckades med att hitta url i html"
+
#~ msgid "processed ok at %s"
#~ msgstr "behandlad ok på %s"
diff --git a/po/vi.po b/po/vi.po
index 896d3037b..f7491b305 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: 2008-12-20 18:07-0500\n"
+"POT-Creation-Date: 2008-12-26 21:41-0500\n"
"PO-Revision-Date: 2007-01-13 15:31+1030\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -24,7 +24,7 @@ msgstr "Trước tiên bạn cần phải đăng nhập."
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
-#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:310
+#: ../IkiWiki/CGI.pm:163 ../IkiWiki/CGI.pm:280
msgid "Your login session has expired."
msgstr ""
@@ -41,88 +41,88 @@ msgstr "Tùy thích đã được lưu."
msgid "Admin"
msgstr ""
-#: ../IkiWiki/CGI.pm:253
+#: ../IkiWiki/CGI.pm:226
msgid "Preferences saved."
msgstr "Tùy thích đã được lưu."
-#: ../IkiWiki/CGI.pm:271
+#: ../IkiWiki/CGI.pm:241
msgid "You are banned."
msgstr "Bạn bị cấm ra."
-#: ../IkiWiki/CGI.pm:401 ../IkiWiki/CGI.pm:402 ../IkiWiki.pm:1204
+#: ../IkiWiki/CGI.pm:371 ../IkiWiki/CGI.pm:372 ../IkiWiki.pm:1204
msgid "Error"
msgstr "Lỗi"
-#: ../IkiWiki/Plugin/aggregate.pm:80
+#: ../IkiWiki/Plugin/aggregate.pm:84
msgid "Aggregation triggered via web."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:89
+#: ../IkiWiki/Plugin/aggregate.pm:93
msgid "Nothing to do right now, all feeds are up-to-date!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:216
+#: ../IkiWiki/Plugin/aggregate.pm:220
#, fuzzy, perl-format
msgid "missing %s parameter"
msgstr "mẫu thiếu tham số id"
-#: ../IkiWiki/Plugin/aggregate.pm:251
+#: ../IkiWiki/Plugin/aggregate.pm:255
msgid "new feed"
msgstr "nguồn tin mới"
-#: ../IkiWiki/Plugin/aggregate.pm:265
+#: ../IkiWiki/Plugin/aggregate.pm:269
msgid "posts"
msgstr "bài"
-#: ../IkiWiki/Plugin/aggregate.pm:267
+#: ../IkiWiki/Plugin/aggregate.pm:271
msgid "new"
msgstr "mới"
-#: ../IkiWiki/Plugin/aggregate.pm:431
+#: ../IkiWiki/Plugin/aggregate.pm:435
#, perl-format
msgid "expiring %s (%s days old)"
msgstr "đang mãn hạn %s (cũ %s ngày)"
-#: ../IkiWiki/Plugin/aggregate.pm:438
+#: ../IkiWiki/Plugin/aggregate.pm:442
#, perl-format
msgid "expiring %s"
msgstr "đang mãn hạn %s"
-#: ../IkiWiki/Plugin/aggregate.pm:465
+#: ../IkiWiki/Plugin/aggregate.pm:469
#, perl-format
msgid "last checked %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:469
+#: ../IkiWiki/Plugin/aggregate.pm:473
#, perl-format
msgid "checking feed %s ..."
msgstr "đang kiểm tra nguồn tin %s ..."
-#: ../IkiWiki/Plugin/aggregate.pm:474
+#: ../IkiWiki/Plugin/aggregate.pm:478
#, perl-format
msgid "could not find feed at %s"
msgstr "không tìm thấy nguồn tin ở %s"
-#: ../IkiWiki/Plugin/aggregate.pm:493
+#: ../IkiWiki/Plugin/aggregate.pm:497
#, fuzzy
msgid "feed not found"
msgstr "không tìm thấy mẫu %s"
-#: ../IkiWiki/Plugin/aggregate.pm:504
+#: ../IkiWiki/Plugin/aggregate.pm:508
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:512
+#: ../IkiWiki/Plugin/aggregate.pm:516
#, perl-format
msgid "(feed entities escaped)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:520
+#: ../IkiWiki/Plugin/aggregate.pm:524
msgid "feed crashed XML::Feed!"
msgstr "nguồn tin đã gây ra XML::Feed sụp đổ."
-#: ../IkiWiki/Plugin/aggregate.pm:601
+#: ../IkiWiki/Plugin/aggregate.pm:605
#, perl-format
msgid "creating new page %s"
msgstr "đang tạo trang mới %s"
@@ -159,15 +159,15 @@ msgstr "lỗi ghi %s: %s"
msgid "there is already a page named %s"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:82
+#: ../IkiWiki/Plugin/attachment.pm:65
msgid "prohibited by allowed_attachments"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:190
+#: ../IkiWiki/Plugin/attachment.pm:140
msgid "bad attachment filename"
msgstr ""
-#: ../IkiWiki/Plugin/attachment.pm:232
+#: ../IkiWiki/Plugin/attachment.pm:182
msgid "attachment upload"
msgstr ""
@@ -191,12 +191,12 @@ msgstr ""
msgid "There are no broken links!"
msgstr "Không có liên kết bị ngắt nào."
-#: ../IkiWiki/Plugin/comments.pm:119 ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:120 ../IkiWiki/Plugin/format.pm:23
#, perl-format
msgid "unsupported page format %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:124
+#: ../IkiWiki/Plugin/comments.pm:125
msgid "comment must have content"
msgstr ""
@@ -204,45 +204,45 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:243 ../IkiWiki/Plugin/recentchanges.pm:101
+#: ../IkiWiki/Plugin/comments.pm:252 ../IkiWiki/Plugin/recentchanges.pm:110
#, fuzzy
msgid "missing page"
msgstr "mẫu thiếu tham số id"
-#: ../IkiWiki/Plugin/comments.pm:245 ../IkiWiki/Plugin/recentchanges.pm:103
+#: ../IkiWiki/Plugin/comments.pm:254 ../IkiWiki/Plugin/recentchanges.pm:112
#, perl-format
msgid "The page %s does not exist."
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:334 ../IkiWiki/Plugin/editpage.pm:124
+#: ../IkiWiki/Plugin/comments.pm:343 ../IkiWiki/Plugin/editpage.pm:124
msgid "bad page name"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:341
+#: ../IkiWiki/Plugin/comments.pm:350
#, fuzzy, perl-format
msgid "commenting on %s"
msgstr "đang tạo %s"
-#: ../IkiWiki/Plugin/comments.pm:359
+#: ../IkiWiki/Plugin/comments.pm:368
#, perl-format
msgid "page '%s' doesn't exist, so you can't comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:366
+#: ../IkiWiki/Plugin/comments.pm:375
#, perl-format
msgid "comments on page '%s' are closed"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:468
+#: ../IkiWiki/Plugin/comments.pm:483
msgid "Added a comment"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:472
+#: ../IkiWiki/Plugin/comments.pm:487
#, perl-format
msgid "Added a comment: %s"
msgstr ""
-#: ../IkiWiki/Plugin/comments.pm:565
+#: ../IkiWiki/Plugin/comments.pm:598
msgid "Comments"
msgstr ""
@@ -336,11 +336,6 @@ msgstr "Cần phải xác định %s khi dùng bổ sung tìm kiếm"
msgid "Failed to parse url, cannot determine domain name"
msgstr ""
-#: ../IkiWiki/Plugin/googlecalendar.pm:32
-#, fuzzy
-msgid "failed to find url in html"
-msgstr "googlecalendar không tìm thấy địa chỉ URL trong mã HTML"
-
#: ../IkiWiki/Plugin/graphviz.pm:67
#, fuzzy
msgid "failed to run graphviz"
@@ -419,7 +414,7 @@ msgstr "Không tìm thấy RPC::XML::Client nên không gửi gói tin ping"
msgid "failed to run dot"
msgstr "linkmap không chạy dot được"
-#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66
+#: ../IkiWiki/Plugin/lockedit.pm:47
#, fuzzy, perl-format
msgid "%s is locked and cannot be edited"
msgstr "%s bị %s khoá nên không thể sửa được"
@@ -1037,7 +1032,7 @@ msgstr ""
msgid "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"
-#: ../IkiWiki.pm:1688
+#: ../IkiWiki.pm:1661
msgid "yes"
msgstr ""
@@ -1061,6 +1056,10 @@ msgstr ""
msgid "What is the domain name of the web server?"
msgstr ""
+#, fuzzy
+#~ msgid "failed to find url in html"
+#~ msgstr "googlecalendar không tìm thấy địa chỉ URL trong mã HTML"
+
#~ msgid "processed ok at %s"
#~ msgstr "đã xử lý được ở %s"
diff --git a/t/basewiki_brokenlinks/index.mdwn b/t/basewiki_brokenlinks/index.mdwn
index 0a6b2c39e..41768f782 100644
--- a/t/basewiki_brokenlinks/index.mdwn
+++ b/t/basewiki_brokenlinks/index.mdwn
@@ -1 +1 @@
-[[brokenlinks ]]
+[[!brokenlinks ]]
diff --git a/t/pagespec_match.t b/t/pagespec_match.t
index 7c0ac235b..69cf361de 100755
--- a/t/pagespec_match.t
+++ b/t/pagespec_match.t
@@ -1,7 +1,7 @@
#!/usr/bin/perl
use warnings;
use strict;
-use Test::More tests => 58;
+use Test::More tests => 51;
BEGIN { use_ok("IkiWiki"); }
@@ -77,12 +77,3 @@ ok(! pagespec_match("foo", "no_such_function(foo)"), "foo");
my $ret=pagespec_match("foo", "(invalid");
ok(! $ret, "syntax error");
ok($ret =~ /syntax error/, "error message");
-
-# old style globlists
-ok(pagespec_match("foo", "foo bar"), "simple list");
-ok(pagespec_match("bar", "foo bar"), "simple list 2");
-ok(pagespec_match("foo", "f?? !foz"));
-ok(! pagespec_match("foo", "f?? !foo"));
-ok(! pagespec_match("foo", "* !foo"));
-ok(! pagespec_match("foo", "foo !foo"));
-ok(! pagespec_match("foo.png", "* !*.*"));
diff --git a/t/pagespec_merge.t b/t/pagespec_merge.t
index cbb06219c..9e38d5761 100755
--- a/t/pagespec_merge.t
+++ b/t/pagespec_merge.t
@@ -28,17 +28,17 @@ ok(same("!foo", "!bar", "foo"), "double inversion failed match");
ok(same("!foo", "!bar", "bar"), "double inversion failed match 2");
ok(same("*", "!bar", "foo"), "glob+inversion match");
ok(same("*", "!bar", "bar"), "matching glob and matching inversion");
-ok(same("* !foo", "!bar", "bar"), "matching glob and matching inversion");
-ok(same("* !foo", "!bar", "foo"), "matching glob with matching inversion and non-matching inversion");
-ok(same("* !foo", "!foo", "foo"), "matching glob with matching inversion and matching inversion");
+ok(same("* and !foo", "!bar", "bar"), "matching glob and matching inversion");
+ok(same("* and !foo", "!bar", "foo"), "matching glob with matching inversion and non-matching inversion");
+ok(same("* and !foo", "!foo", "foo"), "matching glob with matching inversion and matching inversion");
ok(same("b??", "!b??", "bar"), "matching glob and matching inverted glob");
ok(same("f?? !f??", "!bar", "bar"), "matching glob and matching inverted glob");
ok(same("b??", "!b?z", "bar"), "matching glob and non-matching inverted glob");
ok(same("f?? !f?z", "!bar", "bar"), "matching glob and non-matching inverted glob");
ok(same("!foo bar baz", "!bar", "bar"), "matching list and matching inversion");
ok(pagespec_match("foo/Discussion",
- IkiWiki::pagespec_merge("* !*/Discussion", "*/Discussion")), "should match");
-ok(same("* !*/Discussion", "*/Discussion", "foo/Discussion"), "Discussion merge 1");
-ok(same("*/Discussion", "* !*/Discussion", "foo/Discussion"), "Discussion merge 2");
+ IkiWiki::pagespec_merge("* and !*/Discussion", "*/Discussion")), "should match");
+ok(same("* and !*/Discussion", "*/Discussion", "foo/Discussion"), "Discussion merge 1");
+ok(same("*/Discussion", "* and !*/Discussion", "foo/Discussion"), "Discussion merge 2");
ok(same("*/Discussion !*/bar", "*/bar !*/Discussion", "foo/Discussion"), "bidirectional merge 1");
ok(same("*/Discussion !*/bar", "*/bar !*/Discussion", "foo/bar"), "bidirectional merge 2");
diff --git a/t/tinyblog/index.mdwn b/t/tinyblog/index.mdwn
index 010c85de1..72ba7846a 100644
--- a/t/tinyblog/index.mdwn
+++ b/t/tinyblog/index.mdwn
@@ -1 +1 @@
-[[inline pages="post" rss=yes]]
+[[!inline pages="post" rss=yes]]
diff --git a/underlays/basewiki/directive.mdwn b/underlays/basewiki/directive.mdwn
deleted file mode 120000
index e8ce42cba..000000000
--- a/underlays/basewiki/directive.mdwn
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/ikiwiki/directive.mdwn \ No newline at end of file