Merge git://git.samba.org/jelmer/ikiwiki
authorJoey Hess <joey@kodama.kitenet.net>
Wed, 30 Jan 2008 00:28:51 +0000 (19:28 -0500)
committerJoey Hess <joey@kodama.kitenet.net>
Wed, 30 Jan 2008 00:28:51 +0000 (19:28 -0500)
70 files changed:
IkiWiki.pm
IkiWiki/CGI.pm
IkiWiki/Plugin/aggregate.pm
IkiWiki/Plugin/calendar.pm
IkiWiki/Plugin/ddate.pm
IkiWiki/Plugin/edittemplate.pm
IkiWiki/Plugin/inline.pm
IkiWiki/Plugin/meta.pm
IkiWiki/Plugin/prettydate.pm
IkiWiki/Plugin/recentchanges.pm [new file with mode: 0644]
IkiWiki/Plugin/version.pm
IkiWiki/Rcs/Stub.pm
IkiWiki/Rcs/git.pm
IkiWiki/Rcs/mercurial.pm
IkiWiki/Rcs/monotone.pm
IkiWiki/Rcs/svn.pm
IkiWiki/Rcs/tla.pm
IkiWiki/Render.pm
IkiWiki/UserInfo.pm
IkiWiki/Wrapper.pm
debian/NEWS
debian/changelog
debian/postinst
doc/bugs/git_mail_notification_race.mdwn
doc/cgi.mdwn
doc/features.mdwn
doc/ikiwiki.setup
doc/ikiwiki/pagespec.mdwn
doc/index/discussion.mdwn
doc/news/no_more_email_notifications.mdwn [new file with mode: 0644]
doc/plugins/brokenlinks.mdwn
doc/plugins/orphans.mdwn
doc/plugins/pagecount.mdwn
doc/plugins/recentchanges.mdwn [new file with mode: 0644]
doc/plugins/write.mdwn
doc/post-commit.mdwn
doc/rcs/monotone.mdwn
doc/recentchanges.mdwn
doc/sandbox.mdwn
doc/setup.mdwn
doc/sitemap.mdwn
doc/style.css
doc/todo/Commit_emails:_ones_own_changes.mdwn
doc/todo/__34__subscribe_to_this_page__34___checkbox_on_edit_form.mdwn
doc/todo/aggregate_to_internal_pages.mdwn [new file with mode: 0644]
doc/todo/bzr.mdwn
doc/todo/httpauth_example.mdwn
doc/todo/mercurial.mdwn
doc/todo/passwordauth:_sendmail_interface.mdwn
doc/todo/plugin.mdwn
doc/todo/recentchanges.mdwn
doc/usage.mdwn
doc/wikitemplates.mdwn
ikiwiki.in
po/bg.po
po/cs.po
po/da.po
po/es.po
po/fr.po
po/gu.po
po/ikiwiki.pot
po/pl.po
po/sv.po
po/vi.po
t/pagespec_match.t
t/svn.t
templates/change.tmpl [new file with mode: 0644]
templates/notifymail.tmpl [deleted file]
templates/recentchanges.tmpl
underlays/basewiki/recentchanges.mdwn [new symlink]

index 46060c1b225e19fce4b8bf5e799f3f496dec3f43..016c664b50c6e682f120505a7801a72311d567da 100644 (file)
@@ -62,7 +62,6 @@ sub defaultconfig () { #{{{
        cgi => 0,
        post_commit => 0,
        rcs => '',
-       notify => 0,
        url => '',
        cgiurl => '',
        historyurl => '',
@@ -76,7 +75,6 @@ sub defaultconfig () { #{{{
        w3mmode => 0,
        wrapper => undef,
        wrappermode => undef,
-       svnrepo => undef,
        svnpath => "trunk",
        gitorigin_branch => "origin",
        gitmaster_branch => "master",
@@ -90,7 +88,7 @@ sub defaultconfig () { #{{{
        adminuser => undef,
        adminemail => undef,
        plugin => [qw{mdwn inline htmlscrubber passwordauth openid signinedit
-                     lockedit conditional}],
+                     lockedit conditional recentchanges}],
        libdir => undef,
        timeformat => '%c',
        locale => undef,
@@ -262,6 +260,12 @@ sub pagetype ($) { #{{{
        return;
 } #}}}
 
+sub isinternal ($) { #{{{
+       my $page=shift;
+       return exists $pagesources{$page} &&
+               $pagesources{$page} =~ /\._([^.]+)$/;
+} #}}}
+
 sub pagename ($) { #{{{
        my $file=shift;
 
@@ -609,6 +613,43 @@ sub htmllink ($$$;@) { #{{{
        return "<a href=\"$bestlink\"@attrs>$linktext</a>";
 } #}}}
 
+sub openiduser ($) { #{{{
+       my $user=shift;
+
+       if ($user =~ m!^https?://! &&
+           eval q{use Net::OpenID::VerifiedIdentity; 1} && !$@) {
+               my $oid=Net::OpenID::VerifiedIdentity->new(identity => $user);
+               my $display=$oid->display;
+               # Convert "user.somehost.com" to "user [somehost.com]".
+               if ($display !~ /\[/) {
+                       $display=~s/^(.*?)\.([^.]+\.[a-z]+)$/$1 [$2]/;
+               }
+               # Convert "http://somehost.com/user" to "user [somehost.com]".
+               if ($display !~ /\[/) {
+                       $display=~s/^https?:\/\/(.+)\/([^\/]+)$/$2 [$1]/;
+               }
+               $display=~s!^https?://!!; # make sure this is removed
+               eval q{use CGI 'escapeHTML'};
+               error($@) if $@;
+               return escapeHTML($display);
+       }
+       return;
+}
+
+sub userlink ($) { #{{{
+       my $user=shift;
+
+       my $oiduser=openiduser($user);
+       if (defined $oiduser) {
+               return "<a href=\"$user\">$oiduser</a>";
+       }
+       else {
+               return htmllink("", "", escapeHTML(
+                       length $config{userdir} ? $config{userdir}."/".$user : $user
+               ), noimageinline => 1);
+       }
+} #}}}
+
 sub htmlize ($$$) { #{{{
        my $page=shift;
        my $type=shift;
@@ -932,7 +973,7 @@ sub saveindex () { #{{{
                if (exists $pagestate{$page}) {
                        foreach my $id (@hookids) {
                                foreach my $key (keys %{$pagestate{$page}{$id}}) {
-                                       $line.=' '.$id.'_'.encode_entities($key)."=".encode_entities($pagestate{$page}{$id}{$key});
+                                       $line.=' '.$id.'_'.encode_entities($key)."=".encode_entities($pagestate{$page}{$id}{$key}, " \t\n");
                                }
                        }
                }
@@ -1252,13 +1293,22 @@ sub match_glob ($$;@) { #{{{
        $glob=~s/\\\?/./g;
 
        if ($page=~/^$glob$/i) {
-               return IkiWiki::SuccessReason->new("$glob matches $page");
+               if (! IkiWiki::isinternal($page) || $params{internal}) {
+                       return IkiWiki::SuccessReason->new("$glob matches $page");
+               }
+               else {
+                       return IkiWiki::FailReason->new("$glob matches $page, but the page is an internal page");
+               }
        }
        else {
                return IkiWiki::FailReason->new("$glob does not match $page");
        }
 } #}}}
 
+sub match_internal ($$;@) { #{{{
+       return match_glob($_[0], $_[1], @_, internal => 1)
+} #}}}
+
 sub match_link ($$;@) { #{{{
        my $page=shift;
        my $link=lc(shift);
@@ -1354,19 +1404,4 @@ sub match_creation_year ($$;@) { #{{{
        }
 } #}}}
 
-sub match_user ($$;@) { #{{{
-       shift;
-       my $user=shift;
-       my %params=@_;
-
-       return IkiWiki::FailReason->new('cannot match user')
-               unless exists $params{user};
-       if ($user eq $params{user}) {
-               return IkiWiki::SuccessReason->new("user is $user")
-       }
-       else {
-               return IkiWiki::FailReason->new("user is not $user");
-       }
-} #}}}
-
 1
index 65a1d7fa08c00c36c08cbda7ec0e82b5f323222e..c8c1b63dd5c63d37b4e1854ed58a673920f296f5 100644 (file)
@@ -84,53 +84,6 @@ sub decode_cgi_utf8 ($) { #{{{
        }
 } #}}}
 
-sub cgi_recentchanges ($) { #{{{
-       my $q=shift;
-       
-       # Optimisation: building recentchanges means calculating lots of
-       # links. Memoizing htmllink speeds it up a lot (can't be memoized
-       # during page builds as the return values may change, but they
-       # won't here.)
-       eval q{use Memoize};
-       error($@) if $@;
-       memoize("htmllink");
-
-       eval q{use Time::Duration};
-       error($@) if $@;
-
-       my $changelog=[rcs_recentchanges(100)];
-       foreach my $change (@$changelog) {
-               $change->{when} = concise(ago($change->{when}));
-
-               $change->{user} = userlink($change->{user});
-
-               my $is_excess = exists $change->{pages}[10]; # limit pages to first 10
-               delete @{$change->{pages}}[10 .. @{$change->{pages}}] if $is_excess;
-               $change->{pages} = [
-                       map {
-                               $_->{link} = htmllink("", "", $_->{page},
-                                       noimageinline => 1,
-                                       linktext => pagetitle($_->{page}));
-                               $_;
-                       } @{$change->{pages}}
-               ];
-               push @{$change->{pages}}, { link => '...' } if $is_excess;
-       }
-
-       my $template=template("recentchanges.tmpl"); 
-       $template->param(
-               title => "RecentChanges",
-               indexlink => indexlink(),
-               wikiname => $config{wikiname},
-               changelog => $changelog,
-               baseurl => baseurl(),
-       );
-       run_hooks(pagetemplate => sub {
-               shift->(page => "", destpage => "", template => $template);
-       });
-       print $q->header(-charset => 'utf-8'), $template->output;
-} #}}}
-
 # Check if the user is signed in. If not, redirect to the signin form and
 # save their place to return to later.
 sub needsignin ($$) { #{{{
@@ -242,9 +195,6 @@ sub cgi_prefs ($$) { #{{{
        
        $form->field(name => "do", type => "hidden");
        $form->field(name => "email", size => 50, fieldset => "preferences");
-       $form->field(name => "subscriptions", size => 50,
-               fieldset => "preferences",
-               comment => "(".htmllink("", "", "ikiwiki/PageSpec", noimageinline => 1).")");
        $form->field(name => "banned_users", size => 50,
                fieldset => "admin");
        
@@ -256,8 +206,6 @@ sub cgi_prefs ($$) { #{{{
        if (! $form->submitted) {
                $form->field(name => "email", force => 1,
                        value => userinfo_get($user_name, "email"));
-               $form->field(name => "subscriptions", force => 1,
-                       value => userinfo_get($user_name, "subscriptions"));
                if (is_admin($user_name)) {
                        $form->field(name => "banned_users", force => 1,
                                value => join(" ", get_banned_users()));
@@ -274,11 +222,9 @@ sub cgi_prefs ($$) { #{{{
                return;
        }
        elsif ($form->submitted eq 'Save Preferences' && $form->validate) {
-               foreach my $field (qw(email subscriptions)) {
-                       if (defined $form->field($field)) {
-                               userinfo_set($user_name, $field, $form->field($field)) ||
-                                       error("failed to set $field");
-                       }
+               if (defined $form->field('email')) {
+                       userinfo_set($user_name, 'email', $form->field('email')) ||
+                               error("failed to set email");
                }
                if (is_admin($user_name)) {
                        set_banned_users(grep { ! is_admin($_) }
@@ -341,7 +287,7 @@ sub cgi_editpage ($$) { #{{{
        if (exists $pagesources{$page} && $form->field("do") ne "create") {
                $file=$pagesources{$page};
                $type=pagetype($file);
-               if (! defined $type) {
+               if (! defined $type || $type=~/^_/) {
                        error(sprintf(gettext("%s is not an editable page"), $page));
                }
                if (! $form->submitted) {
@@ -470,7 +416,8 @@ sub cgi_editpage ($$) { #{{{
                        
                        my @page_types;
                        if (exists $hooks{htmlize}) {
-                               @page_types=keys %{$hooks{htmlize}};
+                               @page_types=grep { !/^_/ }
+                                       keys %{$hooks{htmlize}};
                        }
                        
                        $form->tmpl_param("page_select", 1);
@@ -667,12 +614,6 @@ sub cgi (;$$) { #{{{
                }
        }
        
-       # Things that do not need a session.
-       if ($do eq 'recentchanges') {
-               cgi_recentchanges($q);
-               return;
-       }
-
        # Need to lock the wiki before getting a session.
        lockwiki();
        
@@ -726,32 +667,4 @@ sub cgi (;$$) { #{{{
        }
 } #}}}
 
-sub userlink ($) { #{{{
-       my $user=shift;
-
-       eval q{use CGI 'escapeHTML'};
-       error($@) if $@;
-       if ($user =~ m!^https?://! &&
-           eval q{use Net::OpenID::VerifiedIdentity; 1} && !$@) {
-               # Munge user-urls, as used by eg, OpenID.
-               my $oid=Net::OpenID::VerifiedIdentity->new(identity => $user);
-               my $display=$oid->display;
-               # Convert "user.somehost.com" to "user [somehost.com]".
-               if ($display !~ /\[/) {
-                       $display=~s/^(.*?)\.([^.]+\.[a-z]+)$/$1 [$2]/;
-               }
-               # Convert "http://somehost.com/user" to "user [somehost.com]".
-               if ($display !~ /\[/) {
-                       $display=~s/^https?:\/\/(.+)\/([^\/]+)$/$2 [$1]/;
-               }
-               $display=~s!^https?://!!; # make sure this is removed
-               return "<a href=\"$user\">".escapeHTML($display)."</a>";
-       }
-       else {
-               return htmllink("", "", escapeHTML(
-                       length $config{userdir} ? $config{userdir}."/".$user : $user
-               ), noimageinline => 1);
-       }
-} #}}}
-
 1
index 71368e254a960cf2545efe79ffe4b91601b34649..2a4d10411dab8ac87655e6101f20f7dff1c8bd3f 100644 (file)
@@ -66,7 +66,8 @@ sub needsbuild (@) { #{{{
        loadstate(); # if not already loaded
 
        foreach my $feed (values %feeds) {
-               if (grep { $_ eq $pagesources{$feed->{sourcepage}} } @$needsbuild) {
+               if (exists $pagesources{$feed->{sourcepage}} && 
+                   grep { $_ eq $pagesources{$feed->{sourcepage}} } @$needsbuild) {
                        # Mark all feeds originating on this page as removable;
                        # preprocess will unmark those that still exist.
                        remove_feeds($feed->{sourcepage});
index 4bb4c2c2192ef857b61da9e63608dce2b58b5020..aed087eed58248d5da153543dba03abba17b5ef0 100644 (file)
@@ -390,7 +390,8 @@ sub needsbuild (@) { #{{{
                                # the current day
                                push @$needsbuild, $pagesources{$page};
                        }
-                       if (grep { $_ eq $pagesources{$page} } @$needsbuild) {
+                       if (exists $pagesources{$page} && 
+                           grep { $_ eq $pagesources{$page} } @$needsbuild) {
                                # remove state, will be re-added if
                                # the calendar is still there during the
                                # rebuild
index 6b67f420232adcc835800c5b4729a47a5a7eb1a6..d081cb5094d56b5030ba54f7504d911785000643 100644 (file)
@@ -18,6 +18,10 @@ sub checkconfig () { #{{{
 
 sub IkiWiki::displaytime ($;$) { #{{{
        my $time=shift;
+       my $format=shift;
+       if (! defined $format) {
+               $format=$config{timeformat};
+       }
        eval q{
                use DateTime;
                use DateTime::Calendar::Discordian;
@@ -27,7 +31,7 @@ sub IkiWiki::displaytime ($;$) { #{{{
        }
        my $dt = DateTime->from_epoch(epoch => $time);
        my $dd = DateTime::Calendar::Discordian->from_object(object => $dt);
-       return $dd->strftime($IkiWiki::config{timeformat});
+       return $dd->strftime($format);
 } #}}}
 
 5
index aa72b08457616c98e1bba6ce658a2beedc1b00b6..b7651ce02b3c71ac96b4a561f3ef5e22738a6a5b 100644 (file)
@@ -21,7 +21,8 @@ sub needsbuild (@) { #{{{
 
        foreach my $page (keys %pagestate) {
                if (exists $pagestate{$page}{edittemplate}) {
-                       if (grep { $_ eq $pagesources{$page} } @$needsbuild) {
+                       if (exists $pagesources{$page} && 
+                           grep { $_ eq $pagesources{$page} } @$needsbuild) {
                                # remove state, it will be re-added
                                # if the preprocessor directive is still
                                # there during the rebuild
index 59eabb606e9967a0a3fb58bc5f0f338a3339f405..796cf2cf6eb794b3ce59436d351987c3a595a672 100644 (file)
@@ -231,6 +231,8 @@ sub preprocess_inline (@) { #{{{
                                $template->param(pageurl => urlto(bestlink($params{page}, $page), $params{destpage}));
                                $template->param(title => pagetitle(basename($page)));
                                $template->param(ctime => displaytime($pagectime{$page}, $params{timeformat}));
+                               $template->param(first => 1) if $page eq $list[0];
+                               $template->param(last => 1) if $page eq $list[$#list];
        
                                if ($actions) {
                                        my $file = $pagesources{$page};
index d2c6e7f8bfa404739498940050bda916b54d3209..621e876741b288466112360b96290bac01235e52 100644 (file)
@@ -6,13 +6,7 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-my %meta;
-my %title;
-my %permalink;
-my %author;
-my %authorurl;
-my %license;
-my %copyright;
+my %metaheaders;
 
 sub import { #{{{
        hook(type => "needsbuild", id => "meta", call => \&needsbuild);
@@ -24,7 +18,8 @@ sub needsbuild (@) { #{{{
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
                if (exists $pagestate{$page}{meta}) {
-                       if (grep { $_ eq $pagesources{$page} } @$needsbuild) {
+                       if (exists $pagesources{$page} &&
+                           grep { $_ eq $pagesources{$page} } @$needsbuild) {
                                # remove state, it will be re-added
                                # if the preprocessor directive is still
                                # there during the rebuild
@@ -71,16 +66,16 @@ sub preprocess (@) { #{{{
 
        # Metadata collection that needs to happen during the scan pass.
        if ($key eq 'title') {
-               $title{$page}=HTML::Entities::encode_numeric($value);
+               $pagestate{$page}{meta}{title}=HTML::Entities::encode_numeric($value);
        }
        elsif ($key eq 'license') {
-               push @{$meta{$page}}, '<link rel="license" href="#page_license" />';
-               $license{$page}=$value;
+               push @{$metaheaders{$page}}, '<link rel="license" href="#page_license" />';
+               $pagestate{$page}{meta}{license}=$value;
                return "";
        }
        elsif ($key eq 'copyright') {
-               push @{$meta{$page}}, '<link rel="copyright" href="#page_copyright" />';
-               $copyright{$page}=$value;
+               push @{$metaheaders{$page}}, '<link rel="copyright" href="#page_copyright" />';
+               $pagestate{$page}{meta}{copyright}=$value;
                return "";
        }
        elsif ($key eq 'link' && ! %params) {
@@ -89,11 +84,11 @@ sub preprocess (@) { #{{{
                return "";
        }
        elsif ($key eq 'author') {
-               $author{$page}=$value;
+               $pagestate{$page}{meta}{author}=$value;
                # fallthorough
        }
        elsif ($key eq 'authorurl') {
-               $authorurl{$page}=$value;
+               $pagestate{$page}{meta}{authorurl}=$value;
                # fallthrough
        }
 
@@ -111,8 +106,8 @@ sub preprocess (@) { #{{{
                }
        }
        elsif ($key eq 'permalink') {
-               $permalink{$page}=$value;
-               push @{$meta{$page}}, scrub('<link rel="bookmark" href="'.encode_entities($value).'" />');
+               $pagestate{$page}{meta}{permalink}=$value;
+               push @{$metaheaders{$page}}, scrub('<link rel="bookmark" href="'.encode_entities($value).'" />');
        }
        elsif ($key eq 'stylesheet') {
                my $rel=exists $params{rel} ? $params{rel} : "alternate stylesheet";
@@ -123,17 +118,17 @@ sub preprocess (@) { #{{{
                if (! length $stylesheet) {
                        return "[[meta ".gettext("stylesheet not found")."]]";
                }
-               push @{$meta{$page}}, '<link href="'.urlto($stylesheet, $page).
+               push @{$metaheaders{$page}}, '<link href="'.urlto($stylesheet, $page).
                        '" rel="'.encode_entities($rel).
                        '" title="'.encode_entities($title).
                        "\" type=\"text/css\" />";
        }
        elsif ($key eq 'openid') {
                if (exists $params{server}) {
-                       push @{$meta{$page}}, '<link href="'.encode_entities($params{server}).
+                       push @{$metaheaders{$page}}, '<link href="'.encode_entities($params{server}).
                                '" rel="openid.server" />';
                }
-               push @{$meta{$page}}, '<link href="'.encode_entities($value).
+               push @{$metaheaders{$page}}, '<link href="'.encode_entities($value).
                        '" rel="openid.delegate" />';
        }
        elsif ($key eq 'redir') {
@@ -172,11 +167,11 @@ sub preprocess (@) { #{{{
                if (! $safe) {
                        $redir=scrub($redir);
                }
-               push @{$meta{$page}}, $redir;
+               push @{$metaheaders{$page}}, $redir;
        }
        elsif ($key eq 'link') {
                if (%params) {
-                       push @{$meta{$page}}, scrub("<link href=\"".encode_entities($value)."\" ".
+                       push @{$metaheaders{$page}}, scrub("<link href=\"".encode_entities($value)."\" ".
                                join(" ", map {
                                        encode_entities($_)."=\"".encode_entities(decode_entities($params{$_}))."\""
                                } keys %params).
@@ -184,7 +179,7 @@ sub preprocess (@) { #{{{
                }
        }
        else {
-               push @{$meta{$page}}, scrub('<meta name="'.encode_entities($key).
+               push @{$metaheaders{$page}}, scrub('<meta name="'.encode_entities($key).
                        '" content="'.encode_entities($value).'" />');
        }
 
@@ -197,32 +192,80 @@ sub pagetemplate (@) { #{{{
         my $destpage=$params{destpage};
         my $template=$params{template};
 
-       if (exists $meta{$page} && $template->query(name => "meta")) {
+       if (exists $metaheaders{$page} && $template->query(name => "meta")) {
                # avoid duplicate meta lines
                my %seen;
-               $template->param(meta => join("\n", grep { (! $seen{$_}) && ($seen{$_}=1) } @{$meta{$page}}));
+               $template->param(meta => join("\n", grep { (! $seen{$_}) && ($seen{$_}=1) } @{$metaheaders{$page}}));
        }
-       if (exists $title{$page} && $template->query(name => "title")) {
-               $template->param(title => $title{$page});
+       if (exists $pagestate{$page}{meta}{title} && $template->query(name => "title")) {
+               $template->param(title => $pagestate{$page}{meta}{title});
                $template->param(title_overridden => 1);
        }
-       $template->param(permalink => $permalink{$page})
-               if exists $permalink{$page} && $template->query(name => "permalink");
-       $template->param(author => $author{$page})
-               if exists $author{$page} && $template->query(name => "author");
-       $template->param(authorurl => $authorurl{$page})
-               if exists $authorurl{$page} && $template->query(name => "authorurl");
 
-       if (exists $license{$page} && $template->query(name => "license") &&
-           ($page eq $destpage || ! exists $license{$destpage} ||
-            $license{$page} ne $license{$destpage})) {
-               $template->param(license => htmlize($page, $destpage, $license{$page}));
+       foreach my $field (qw{author authorurl permalink}) {
+               $template->param($field => $pagestate{$page}{meta}{$field})
+                       if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field);
        }
-       if (exists $copyright{$page} && $template->query(name => "copyright") &&
-           ($page eq $destpage || ! exists $copyright{$destpage} ||
-            $copyright{$page} ne $copyright{$destpage})) {
-               $template->param(copyright => htmlize($page, $destpage, $copyright{$page}));
+
+       foreach my $field (qw{license copyright}) {
+               if (exists $pagestate{$page}{meta}{$field} && $template->query(name => $field) &&
+                   ($page eq $destpage || ! exists $pagestate{$destpage}{meta}{$field} ||
+                    $pagestate{$page}{meta}{$field} ne $pagestate{$destpage}{meta}{$field})) {
+                       $template->param($field => htmlize($page, $destpage, $pagestate{$page}{meta}{$field}));
+               }
        }
 } # }}}
 
+sub match { #{{{
+       my $field=shift;
+       my $page=shift;
+       
+       # turn glob into a safe regexp
+       my $re=quotemeta(shift);
+       $re=~s/\\\*/.*/g;
+       $re=~s/\\\?/./g;
+
+       my $val;
+       if (exists $pagestate{$page}{meta}{$field}) {
+               $val=$pagestate{$page}{meta}{$field};
+       }
+       elsif ($field eq 'title') {
+               $val=pagetitle($page);
+       }
+
+       if (defined $val) {
+               if ($val=~/^$re$/i) {
+                       return IkiWiki::SuccessReason->new("$re matches $field of $page");
+               }
+               else {
+                       return IkiWiki::FailReason->new("$re does not match $field of $page");
+               }
+       }
+       else {
+               return IkiWiki::FailReason->new("$page does not have a $field");
+       }
+} #}}}
+
+package IkiWiki::PageSpec;
+
+sub match_title ($$;@) { #{{{
+       IkiWiki::Plugin::meta::match("title", @_);      
+} #}}}
+
+sub match_author ($$;@) { #{{{
+       IkiWiki::Plugin::meta::match("author", @_);
+} #}}}
+
+sub match_authorurl ($$;@) { #{{{
+       IkiWiki::Plugin::meta::match("authorurl", @_);
+} #}}}
+
+sub match_license ($$;@) { #{{{
+       IkiWiki::Plugin::meta::match("license", @_);
+} #}}}
+
+sub match_copyright ($$;@) { #{{{
+       IkiWiki::Plugin::meta::match("copyright", @_);
+} #}}}
+
 1
index b6110e427b5ca9c9326f572ce2d3df7b955d226f..745e6a1de436e2db15b97ebe897858f891de2a51 100644 (file)
@@ -63,6 +63,10 @@ sub checkconfig () { #{{{
 
 sub IkiWiki::displaytime ($;$) { #{{{
        my $time=shift;
+       my $format=shift;
+       if (! defined $format) {
+               $format=$config{prettydateformat};
+       }
        
        eval q{use Date::Format};
        error($@) if $@;
@@ -93,7 +97,6 @@ sub IkiWiki::displaytime ($;$) { #{{{
 
        $t=~s{\%A-}{my @yest=@t; $yest[6]--; strftime("%A", \@yest)}eg;
 
-       my $format=$config{prettydateformat};
        $format=~s/\%X/$t/g;
        return strftime($format, \@t);
 } #}}}
diff --git a/IkiWiki/Plugin/recentchanges.pm b/IkiWiki/Plugin/recentchanges.pm
new file mode 100644 (file)
index 0000000..5ac0a30
--- /dev/null
@@ -0,0 +1,116 @@
+#!/usr/bin/perl
+package IkiWiki::Plugin::recentchanges;
+
+use warnings;
+use strict;
+use IkiWiki 2.00;
+
+sub import { #{{{
+       hook(type => "checkconfig", id => "recentchanges", call => \&checkconfig);
+       hook(type => "refresh", id => "recentchanges", call => \&refresh);
+       hook(type => "htmlize", id => "_change", call => \&htmlize);
+} #}}}
+
+sub checkconfig () { #{{{
+       $config{recentchangespage}='recentchanges' unless defined $config{recentchangespage};
+       $config{recentchangesnum}=100 unless defined $config{recentchangesnum};
+} #}}}
+
+sub refresh ($) { #{{{
+       my %seen;
+
+       # add new changes
+       foreach my $change (IkiWiki::rcs_recentchanges($config{recentchangesnum})) {
+               $seen{store($change, $config{recentchangespage})}=1;
+       }
+       
+       # delete old and excess changes
+       foreach my $page (keys %pagesources) {
+               if ($page=~/^\Q$config{recentchangespage}\E\/change_/ && ! $seen{$page}) {
+                       unlink($config{srcdir}.'/'.$pagesources{$page});
+               }
+       }
+} #}}}
+
+# Pages with extension _change have plain html markup, pass through.
+sub htmlize (@) { #{{{
+       my %params=@_;
+       return $params{content};
+} #}}}
+
+sub store ($$$) { #{{{
+       my $change=shift;
+
+       my $page="$config{recentchangespage}/change_".IkiWiki::titlepage($change->{rev});
+
+       # Optimisation to avoid re-writing pages. Assumes commits never
+       # change (or that any changes are not important).
+       return $page if exists $pagesources{$page} && ! $config{rebuild};
+
+       # Limit pages to first 10, and add links to the changed pages.
+       my $is_excess = exists $change->{pages}[10];
+       delete @{$change->{pages}}[10 .. @{$change->{pages}}] if $is_excess;
+       $change->{pages} = [
+               map {
+                       if (length $config{url}) {
+                               $_->{link} = "<a href=\"$config{url}/".
+                                       urlto($_->{page},"")."\">".
+                                       IkiWiki::pagetitle($_->{page})."</a>";
+                       }
+                       else {
+                               $_->{link} = IkiWiki::pagetitle($_->{page});
+                       }
+                       $_->{baseurl}="$config{url}/" if length $config{url};
+
+                       $_;
+               } @{$change->{pages}}
+       ];
+       push @{$change->{pages}}, { link => '...' } if $is_excess;
+
+       # See if the committer is an openid.
+       $change->{author}=$change->{user};
+       my $oiduser=IkiWiki::openiduser($change->{user});
+       if (defined $oiduser) {
+               $change->{authorurl}=$change->{user};
+               $change->{user}=$oiduser;
+       }
+       elsif (length $config{url}) {
+               $change->{authorurl}="$config{url}/".
+                       (length $config{userdir} ? "$config{userdir}/" : "").
+                       $change->{user};
+       }
+
+       # escape  wikilinks and preprocessor stuff in commit messages
+       if (ref $change->{message}) {
+               foreach my $field (@{$change->{message}}) {
+                       if (exists $field->{line}) {
+                               $field->{line} =~ s/(?<!\\)\[\[/\\\[\[/g;
+                       }
+               }
+       }
+
+       # Fill out a template with the change info.
+       my $template=template("change.tmpl", blind_cache => 1);
+       $template->param(
+               %$change,
+               commitdate => displaytime($change->{when}, "%X %x"),
+               wikiname => $config{wikiname},
+       );
+       IkiWiki::run_hooks(pagetemplate => sub {
+               shift->(page => $page, destpage => $page, template => $template);
+       });
+
+       my $file=$page."._change";
+       writefile($file, $config{srcdir}, $template->output);
+       utime $change->{when}, $change->{when}, "$config{srcdir}/$file";
+
+       return $page;
+} #}}}
+
+sub updatechanges ($$) { #{{{
+       my $subdir=shift;
+       my @changes=@{shift()};
+       
+} #}}}
+
+1
index d39fd941966b35787c32910b988b938878de4792..f96d2df06ce345d9939c356637e6e6d0e2d06e8b 100644 (file)
@@ -18,7 +18,8 @@ sub needsbuild (@) { #{{{
                        if ($pagestate{$page}{version}{shown} ne $IkiWiki::version) {
                                push @$needsbuild, $pagesources{$page};
                        }
-                       if (grep { $_ eq $pagesources{$page} } @$needsbuild) {
+                       if (exists $pagesources{$page} &&
+                           grep { $_ eq $pagesources{$page} } @$needsbuild) {
                                # remove state, will be re-added if
                                # the version is still shown during the
                                # rebuild
index 19ecfa88df571bd2ca4553c4c9bbc0690ba12188..df347f6a994711977fd2f88c10393c53406d14b5 100644 (file)
@@ -37,6 +37,7 @@ sub rcs_recentchanges ($) {
        # Examine the RCS history and generate a list of recent changes.
        # The data structure returned for each change is:
        # {
+       #       rev => # the RCSs id for this commit
        #       user => # name of user who made the change,
        #       committype => # either "web" or the name of the rcs,
        #       when => # time when the change was made,
@@ -56,13 +57,6 @@ sub rcs_recentchanges ($) {
        # }
 }
 
-sub rcs_notify () {
-       # This function is called when a change is committed to the wiki,
-       # and ikiwiki is running as a post-commit hook from the RCS.
-       # It should examine the repository to somehow determine what pages
-       # changed, and then send emails to users subscribed to those pages.
-}
-
 sub rcs_getctime ($) {
        # Optional, used to get the page creation time from the RCS.
        error gettext("getctime not implemented");
index fea1c11eb4a9c9f7d599c863abbfa13ebfcaa179..26a6f42661a652249c8a4c7475dfb45578b8fc03 100644 (file)
@@ -247,8 +247,6 @@ sub _parse_diff_tree ($@) { #{{{
                last;
        }
 
-       debug("No detail in diff-tree output") if !defined $ci{'details'};
-
        return \%ci;
 } #}}}
 
@@ -374,7 +372,7 @@ sub rcs_recentchanges ($) { #{{{
 
                my ($sha1, $when) = (
                        $ci->{'sha1'},
-                       time - $ci->{'author_epoch'}
+                       $ci->{'author_epoch'}
                );
 
                my (@pages, @messages);
@@ -421,50 +419,6 @@ sub rcs_recentchanges ($) { #{{{
        return @rets;
 } #}}}
 
-sub rcs_notify () { #{{{
-       # Send notification mail to subscribed users.
-       #
-       # In usual Git usage, hooks/update script is presumed to send
-       # notification mails (see git-receive-pack(1)).  But we prefer
-       # hooks/post-update to support IkiWiki commits coming from a
-       # cloned repository (through command line) because post-update
-       # is called _after_ each ref in repository is updated (update
-       # hook is called _before_ the repository is updated).  Since
-       # post-update hook does not accept command line arguments, we
-       # don't have an $ENV variable in this function.
-       #
-       # Here, we rely on a simple fact: we can extract all parts of the
-       # notification content by parsing the "HEAD" commit (which also
-       # triggers a refresh of IkiWiki pages).
-
-       my $ci = git_commit_info('HEAD');
-       return if !defined $ci;
-
-       my @changed_pages = map { $_->{'file'} } @{ $ci->{'details'} };
-
-       my ($user, $message);
-       if (@{ $ci->{'comment'} }[0] =~ m/$config{web_commit_regexp}/) {
-               $user    = defined $2 ? "$2" : "$3";
-               $message = $4;
-       }
-       else {
-               $user    = $ci->{'author_username'};
-               $message = join "\n", @{ $ci->{'comment'} };
-       }
-
-       my $sha1 = $ci->{'sha1'};
-
-       require IkiWiki::UserInfo;
-       send_commit_mails(
-               sub {
-                       $message;
-               },
-               sub {
-                       join "\n", run_or_die('git', 'diff', "${sha1}^", $sha1);
-               }, $user, @changed_pages
-       );
-} #}}}
-
 sub rcs_getctime ($) { #{{{
        my $file=shift;
        # Remove srcdir prefix
index 15edb324581dc33e912dc17f214117b419fa689f..db6a396ac4914630a41407d0df8748641c9aeef2 100644 (file)
@@ -142,7 +142,7 @@ sub rcs_recentchanges ($) { #{{{
                        rev        => $info->{"changeset"},
                        user       => $user,
                        committype => "mercurial",
-                       when       => time - str2time($info->{"date"}),
+                       when       => str2time($info->{"date"}),
                        message    => [@message],
                        pages      => [@pages],
                };
@@ -151,10 +151,6 @@ sub rcs_recentchanges ($) { #{{{
        return @ret;
 } #}}}
 
-sub rcs_notify () { #{{{
-       # TODO
-} #}}}
-
 sub rcs_getctime ($) { #{{{
        my ($file) = @_;
 
index 5717e004342875e97259cc09fe22b77f7b981810..0ae2c1a3268e26489721de080078e07ab0bacbb5 100644 (file)
@@ -416,7 +416,7 @@ sub rcs_recentchanges ($) { #{{{
                                                $committype = "monotone";
                                        }
                                } elsif ($cert->{name} eq "date") {
-                                       $when = time - str2time($cert->{value}, 'UTC');
+                                       $when = str2time($cert->{value}, 'UTC');
                                } elsif ($cert->{name} eq "changelog") {
                                        my $messageText = $cert->{value};
                                        # split the changelog into multiple
@@ -452,54 +452,6 @@ sub rcs_recentchanges ($) { #{{{
        return @ret;
 } #}}}
 
-sub rcs_notify () { #{{{
-       debug("The monotone rcs_notify function is currently untested. Use at own risk!");
-       
-       if (! exists $ENV{REV}) {
-               error(gettext("REV is not set, not running from mtn post-commit hook, cannot send notifications"));
-       }
-       if ($ENV{REV} !~ m/($sha1_pattern)/) { # sha1 is untainted now
-               error(gettext("REV is not a valid revision identifier, cannot send notifications"));
-       }
-       my $rev = $1;
-       
-       check_config();
-
-       my $automator = Monotone->new();
-       $automator->open(undef, $config{mtnrootdir});
-
-       my $certs = [read_certs($automator, $rev)];
-       my $user;
-       my $message;
-       my $when;
-
-       foreach my $cert (@$certs) {
-               if ($cert->{signature} eq "ok" && $cert->{trust} eq "trusted") {
-                       if ($cert->{name} eq "author") {
-                               $user = $cert->{value};
-                       } elsif ($cert->{name} eq "date") {
-                               $when = $cert->{value};
-                       } elsif ($cert->{name} eq "changelog") {
-                               $message = $cert->{value};
-                       }
-               }
-       }
-               
-       my @changed_pages = get_changed_files($automator, $rev);
-       
-       $automator->close();
-       
-       require IkiWiki::UserInfo;
-       send_commit_mails(
-               sub {
-                       return $message;
-               },
-               sub {
-                       `mtn --root=$config{mtnrootdir} au content_diff -r $rev`;
-               },
-               $user, @changed_pages);
-} #}}}
-
 sub rcs_getctime ($) { #{{{
        my $file=shift;
 
index 987469ba07a221c561825968b05e347acf5b8ada..f7d2242f043209cd9ca7291d3af6186c0407990e 100644 (file)
@@ -171,7 +171,7 @@ sub rcs_recentchanges ($) { #{{{
                my $rev = $logentry->{revision};
                my $user = $logentry->{author};
 
-               my $when=time - str2time($logentry->{date}, 'UTC');
+               my $when=str2time($logentry->{date}, 'UTC');
 
                foreach my $msgline (split(/\n/, $logentry->{msg})) {
                        push @message, { line => $msgline };
@@ -203,7 +203,8 @@ sub rcs_recentchanges ($) { #{{{
                                diffurl => $diffurl,
                        } if length $file;
                }
-               push @ret, { rev => $rev,
+               push @ret, {
+                       rev => $rev,
                        user => $user,
                        committype => $committype,
                        when => $when,
@@ -216,44 +217,6 @@ sub rcs_recentchanges ($) { #{{{
        return @ret;
 } #}}}
 
-sub rcs_notify () { #{{{
-       if (! exists $ENV{REV}) {
-               error(gettext("REV is not set, not running from svn post-commit hook, cannot send notifications"));
-       }
-       my $rev=int(possibly_foolish_untaint($ENV{REV}));
-       
-       my $user=`svnlook author $config{svnrepo} -r $rev`;
-       chomp $user;
-       
-       my $message=`svnlook log $config{svnrepo} -r $rev`;
-       if ($message=~/$config{web_commit_regexp}/) {
-               $user=defined $2 ? "$2" : "$3";
-               $message=$4;
-       }
-
-       my @changed_pages;
-       foreach my $change (`svnlook changed $config{svnrepo} -r $rev`) {
-               chomp $change;
-               if (length $config{svnpath}) {
-                       if ($change =~ /^[A-Z]+\s+\Q$config{svnpath}\E\/(.*)/) {
-                               push @changed_pages, $1;
-                       }
-               }
-               else {
-                       push @changed_pages, $change;
-               }
-       }
-       
-       require IkiWiki::UserInfo;
-       send_commit_mails(
-               sub {
-                       return $message;
-               },
-               sub {
-                       `svnlook diff $config{svnrepo} -r $rev --no-diff-deleted`;
-               }, $user, @changed_pages);
-} #}}}
-
 sub rcs_getctime ($) { #{{{
        my $file=shift;
 
index 1dbc006c11f5372eb566e639a9fd3f3f52706246..ecc561bde86691489ab726eec677741f7fb6691f 100644 (file)
@@ -120,7 +120,7 @@ sub rcs_recentchanges ($) {
                        split(/ /, "$newfiles $modfiles .arch-ids/fake.id");
 
                my $sdate = $head->get("Standard-date");
-               my $when = time - str2time($sdate, 'UTC');
+               my $when = str2time($sdate, 'UTC');
 
                my $committype = "web";
                if (defined $summ && $summ =~ /$config{web_commit_regexp}/) {
@@ -145,7 +145,8 @@ sub rcs_recentchanges ($) {
                                diffurl => $diffurl,
                        } if length $file;
                }
-               push @ret, { rev => $change,
+               push @ret, {
+                       rev => $change,
                        user => $user,
                        committype => $committype,
                        when => $when,
@@ -159,51 +160,6 @@ sub rcs_recentchanges ($) {
        return @ret;
 }
 
-sub rcs_notify () { #{{{
-       # FIXME: Not set
-       if (! exists $ENV{ARCH_VERSION}) {
-               error("ARCH_VERSION is not set, not running from tla post-commit hook, cannot send notifications");
-       }
-       my $rev=int(possibly_foolish_untaint($ENV{REV}));
-
-       eval q{use Mail::Header};
-       error($@) if $@;
-       open(LOG, $ENV{"ARCH_LOG"});
-       my $head = Mail::Header->new(\*LOG);
-       close(LOG);
-
-       my $user = $head->get("Creator");
-
-       my $newfiles = $head->get("New-files");
-       my $modfiles = $head->get("Modified-files");
-       my $remfiles = $head->get("Removed-files");
-
-       my @changed_pages = grep { !/(^.*\/)?\.arch-ids\/.*\.id$/ }
-               split(/ /, "$newfiles $modfiles $remfiles .arch-ids/fake.id");
-
-       require IkiWiki::UserInfo;
-       send_commit_mails(
-               sub {
-                       my $message = $head->get("Summary");
-                       if ($message =~ /$config{web_commit_regexp}/) {
-                               $user=defined $2 ? "$2" : "$3";
-                               $message=$4;
-                       }
-               },
-               sub {
-                       my $logs = `tla logs -d $config{srcdir}`;
-                       my @changesets = reverse split(/\n/, $logs);
-                       my $i;
-
-                       for($i=0;$i<$#changesets;$i++) {
-                               last if $changesets[$i] eq $rev;
-                       }
-       
-                       my $revminusone = $changesets[$i+1];
-                       `tla diff -d $ENV{ARCH_TREE_ROOT} $revminusone`;
-               }, $user, @changed_pages);
-} #}}}
-
 sub rcs_getctime ($) { #{{{
        my $file=shift;
        eval q{use Date::Parse};
index 4fefadf09d5994c982735da22f6da194a563be50..be5af84ba5a51d65ef9f98a3d64cd7439f5dc006 100644 (file)
@@ -82,9 +82,12 @@ sub genpage ($$) { #{{{
        if (length $config{cgiurl}) {
                $template->param(editurl => cgiurl(do => "edit", page => pagetitle($page, 1)));
                $template->param(prefsurl => cgiurl(do => "prefs"));
-               if ($config{rcs}) {
-                       $template->param(recentchangesurl => cgiurl(do => "recentchanges"));
-               }
+               $actions++;
+       }
+               
+       if ($config{rcs} && exists $config{recentchangespage} &&
+           $page ne $config{recentchangespage}) {
+               $template->param(recentchangesurl => urlto($config{recentchangespage}, $page));
                $actions++;
        }
 
@@ -196,6 +199,7 @@ sub render ($) { #{{{
                my $page=pagename($file);
                delete $depends{$page};
                will_render($page, htmlpage($page), 1);
+               return if $type=~/^_/;
                
                my $content=htmlize($page, $type,
                        linkify($page, $page,
@@ -256,6 +260,8 @@ sub refresh () { #{{{
                        $test=dirname($test);
                }
        }
+       
+       run_hooks(refresh => sub { shift->() });
 
        # find existing pages
        my %exists;
@@ -314,15 +320,19 @@ sub refresh () { #{{{
                }, $dir);
        };
 
-       my %rendered;
+       my (%rendered, @add, @del, @internal);
 
        # check for added or removed pages
-       my @add;
        foreach my $file (@files) {
                my $page=pagename($file);
                $pagesources{$page}=$file;
                if (! $pagemtime{$page}) {
-                       push @add, $file;
+                       if (isinternal($page)) {
+                               push @internal, $file;
+                       }
+                       else {
+                               push @add, $file;
+                       }
                        $pagecase{lc $page}=$page;
                        if ($config{getctime} && -e "$config{srcdir}/$file") {
                                $pagectime{$page}=rcs_getctime("$config{srcdir}/$file");
@@ -332,11 +342,15 @@ sub refresh () { #{{{
                        }
                }
        }
-       my @del;
        foreach my $page (keys %pagemtime) {
                if (! $exists{$page}) {
-                       debug(sprintf(gettext("removing old page %s"), $page));
-                       push @del, $pagesources{$page};
+                       if (isinternal($page)) {
+                               push @internal, $pagesources{$page};
+                       }
+                       else {
+                               debug(sprintf(gettext("removing old page %s"), $page));
+                               push @del, $pagesources{$page};
+                       }
                        $links{$page}=[];
                        $renderedfiles{$page}=[];
                        $pagemtime{$page}=0;
@@ -361,7 +375,14 @@ sub refresh () { #{{{
                    $mtime > $pagemtime{$page} ||
                    $forcerebuild{$page}) {
                        $pagemtime{$page}=$mtime;
-                       push @needsbuild, $file;
+                       if (isinternal($page)) {
+                               push @internal, $file;
+                               # Preprocess internal page in scan-only mode.
+                               preprocess($page, $page, readfile(srcfile($file)), 1);
+                       }
+                       else {
+                               push @needsbuild, $file;
+                       }
                }
        }
        run_hooks(needsbuild => sub { shift->(\@needsbuild) });
@@ -377,6 +398,15 @@ sub refresh () { #{{{
                render($file);
                $rendered{$file}=1;
        }
+       foreach my $file (@internal) {
+               # internal pages are not rendered
+               my $page=pagename($file);
+               delete $depends{$page};
+               foreach my $old (@{$renderedfiles{$page}}) {
+                       delete $destsources{$old};
+               }
+               $renderedfiles{$page}=[];
+       }
        
        # rebuild pages that link to added or removed pages
        if (@add || @del) {
@@ -392,13 +422,17 @@ sub refresh () { #{{{
                }
        }
 
-       if (%rendered || @del) {
+       if (%rendered || @del || @internal) {
+               my @changed=(keys %rendered, @del);
+
                # rebuild dependant pages
                foreach my $f (@files) {
                        next if $rendered{$f};
                        my $p=pagename($f);
                        if (exists $depends{$p}) {
-                               foreach my $file (keys %rendered, @del) {
+                               # only consider internal files
+                               # if the page explicitly depends on such files
+                               foreach my $file (@changed, $depends{$p}=~/internal\(/ ? @internal : ()) {
                                        next if $f eq $file;
                                        my $page=pagename($file);
                                        if (pagespec_match($page, $depends{$p}, location => $p)) {
@@ -414,7 +448,7 @@ sub refresh () { #{{{
                # handle backlinks; if a page has added/removed links,
                # update the pages it links to
                my %linkchanged;
-               foreach my $file (keys %rendered, @del) {
+               foreach my $file (@changed) {
                        my $page=pagename($file);
                        
                        if (exists $links{$page}) {
@@ -436,6 +470,7 @@ sub refresh () { #{{{
                                }
                        }
                }
+
                foreach my $link (keys %linkchanged) {
                        my $linkfile=$pagesources{$link};
                        if (defined $linkfile) {
index cfc27609daee3f37497f4e6a8a7d2d762dc0883a..2ffc51c55feb6978e47c6e2147eaf45c414ef8f5 100644 (file)
@@ -92,91 +92,4 @@ sub set_banned_users (@) { #{{{
        return userinfo_store($userinfo);
 } #}}}
 
-sub commit_notify_list ($@) { #{{{
-       my $committer=shift;
-       my @pages = map pagename($_), @_;
-
-       my @ret;
-       my $userinfo=userinfo_retrieve();
-       foreach my $user (keys %{$userinfo}) {
-               next if $user eq $committer;
-               if (exists $userinfo->{$user}->{subscriptions} &&
-                   length $userinfo->{$user}->{subscriptions} &&
-                   exists $userinfo->{$user}->{email} &&
-                   length $userinfo->{$user}->{email} &&
-                   grep { pagespec_match($_,
-                                   $userinfo->{$user}->{subscriptions}, 
-                                   user => $committer) }
-                       map pagename($_), @_) {
-                       push @ret, $userinfo->{$user}->{email};
-               }
-       }
-       return @ret;
-} #}}}
-
-sub send_commit_mails ($$$@) { #{{{
-       my $messagesub=shift;
-       my $diffsub=shift;
-       my $user=shift;
-       my @changed_pages=@_;
-
-       return unless @changed_pages;
-
-       my @email_recipients=commit_notify_list($user, @changed_pages);
-       if (@email_recipients) {
-               # TODO: if a commit spans multiple pages, this will send
-               # subscribers a diff that might contain pages they did not
-               # sign up for. Should separate the diff per page and
-               # reassemble into one mail with just the pages subscribed to.
-               my $diff=$diffsub->();
-               my $message=$messagesub->();
-
-               my $pagelist;
-               if (@changed_pages > 2) {
-                       $pagelist="$changed_pages[0] $changed_pages[1] ...";
-               }
-               else {
-                       $pagelist.=join(" ", @changed_pages);
-               }
-               #translators: The three variables are the name of the wiki,
-               #translators: A list of one or more pages that were changed,
-               #translators: And the name of the user making the change.
-               #translators: This is used as the subject of a commit email.
-               my $subject=sprintf(gettext("update of %s's %s by %s"), 
-                       $config{wikiname}, $pagelist, $user);
-
-               my $template=template("notifymail.tmpl");
-               $template->param(
-                       wikiname => $config{wikiname},
-                       diff => $diff,
-                       user => $user,
-                       message => $message,
-               );
-
-               # Daemonize, in case the mail sending takes a while.
-               defined(my $pid = fork) or error("Can't fork: $!");
-               return if $pid;
-               setsid() or error("Can't start a new session: $!");
-               chdir '/';
-               open STDIN, '/dev/null';
-               open STDOUT, '>/dev/null';
-               open STDERR, '>&STDOUT' or error("Can't dup stdout: $!");
-
-               unlockwiki(); # don't need to keep a lock on the wiki
-
-               eval q{use Mail::Sendmail};
-               error($@) if $@;
-               foreach my $email (@email_recipients) {
-                       sendmail(
-                               To => $email,
-                               From => "$config{wikiname} <$config{adminemail}>",
-                               Subject => $subject,
-                               Message => $template->output,
-                       );
-               }
-
-               exit 0; # daemon process done
-       }
-} #}}}
-
 1
index 2103ea53a501b4a048192ebc289ec0eade86741a..90a4c46c79141419c872e2f64102658f41dcefda 100644 (file)
@@ -36,22 +36,6 @@ sub gen_wrapper () { #{{{
                addenv("$var", s);
 EOF
        }
-       if ($config{rcs} eq "svn" && $config{notify}) {
-               # Support running directly as hooks/post-commit by passing
-               # $2 in REV in the environment.
-               $envsave.=<<"EOF"
-       if (argc == 3)
-               addenv("REV", argv[2]);
-       else if ((s=getenv("REV")))
-               addenv("REV", s);
-EOF
-       }
-       if ($config{rcs} eq "tla" && $config{notify}) {
-               $envsave.=<<"EOF"
-       if ((s=getenv("ARCH_VERSION")))
-               addenv("ARCH_VERSION", s);
-EOF
-       }
        
        $Data::Dumper::Indent=0; # no newlines
        my $configstring=Data::Dumper->Dump([\%config], ['*config']);
index 5515bbd7db9e4ba81c7e29effe6cd648fb9c5ae5..c3ed55c03842f18556760c36c61d3ad3907e7a30 100644 (file)
@@ -1,3 +1,26 @@
+ikiwiki (2.30) unstable; urgency=low
+
+  Ever feel that ikiwiki's handling of RecentChanges wasn't truely in the
+  spirit of a wiki compiler? Well, that's changed. The RecentChanges page is
+  now a static page, not a CGI. Users can subscribe to its rss/atom feeds.
+  Custom RecentChanges pages can be easily set up that display only changes
+  to a subset of pages, or only changes by a subset of users.
+  
+  All wikis need to be rebuilt on upgrade to this version. If you listed your
+  wiki in /etc/ikiwiki/wikilist this will be done automatically when the
+  Debian package is upgraded. Or use ikiwiki-mass-rebuild to force a rebuild.
+
+  With this excellent new RecentChanges support, the mail notification system
+  is showing its age (and known to be variously buggy and underimplemented for
+  various VCSes), and so ikiwiki's support for sending commit mails is REMOVED
+  from this version. If you were subscribed to commit mails, you should be
+  able to accomplish the same thing by subscribing to a RecentChanges feed.
+
+  The "svnrepo" and "notify" fields in setup files are no longer used, and
+  silently ignored. You may want to remove them from your setup file.
+
+ -- Joey Hess <joeyh@debian.org>  Tue, 29 Jan 2008 17:18:31 -0500
+
 ikiwiki (2.20) unstable; urgency=low
 
   The template plugin has begin to htmlize the variables passed to templates.
index 50196b0775eae172cafbf5519293483b0c24c43a..ec8f7f1b133a1b4aa47309bf2f60712607712033 100644 (file)
@@ -1,4 +1,4 @@
-ikiwiki (2.21) UNRELEASED; urgency=low
+ikiwiki (2.30) UNRELEASED; urgency=low
 
   [ Joey Hess ]
   * Old versions of git-init don't support --git-dir or GIT_DIR with
@@ -15,6 +15,28 @@ ikiwiki (2.21) UNRELEASED; urgency=low
   * Add trailing comma to commented-out umask in sample ikiwiki.setup, so
     that uncommenting it does not break the setup file.
 
+  [ Joey Hess ]
+  * inline: The template can check for FIRST and LAST, which will be
+    set for the first and last inlined page. Useful for templates that build
+    tables and the like.
+  * prettydate,ddate: Don't ignore time formats passed to displaytime
+    function.
+  * Pages with extensions starting with "_" are internal-use, and will
+    not be rendered or web-edited, or matched by normal pagespecs.
+  * Add "internal()" pagespec that matches internal-use pages.
+  * RecentChanges is now a static html page, that's updated whenever a commit
+    is made to the wiki. It's built as a blog using inline, so it can have
+    an rss feed that users can subscribe to.
+  * Removed support for sending commit notification mails. Along with it went
+    the svnrepo and notify settings, though both will be ignored if left in
+    setup files. Also gone with it is the "user()" pagespec.
+  * Add refresh hook.
+  * meta: Add pagespec functions to match against title, author, authorurl,
+    license, and copyright. This can be used to create custom RecentChanges.
+  * meta: To support the pagespec functions, metadata about pages has to be
+    retained as pagestate.
+  * Fix encoding bug when pagestate values contained spaces.
+
  -- Joey Hess <joeyh@debian.org>  Fri, 11 Jan 2008 15:09:37 -0500
 
 ikiwiki (2.20) unstable; urgency=low
index 018e04f788cae8ba9ea91669a1555ed5b1eeb6ef..26c44a88b85506c0a42150ffe121b6cbdd7dd1a9 100755 (executable)
@@ -4,7 +4,7 @@ set -e
 
 # Change this when some incompatible change is made that requires
 # rebuilding all wikis.
-firstcompat=2.1
+firstcompat=2.30
 
 if [ "$1" = configure ] && \
    dpkg --compare-versions "$2" lt "$firstcompat"; then
index ebe158fb9c728c567c1820447dde0b811774fafb..58bd82325629597c0e6fbd42972117d84a6f8505 100644 (file)
@@ -1,10 +1,12 @@
+[[done]] (in this branch); fixed removing email notification support!
+
 I was suprised to receive two mails from ikiwiki about one web edit:
 
         1   F Oct 30 To joey+ikiwiki update of ikiwiki's plugins/contrib/gallery.mdwn by http://arpitjain11.myopenid.com/
         1   F Oct 30 To joey+ikiwiki update of ikiwiki's plugins/contrib/gallery.mdwn by http://arpitjain11.myopenid.com/
 
 The first of these had the correct diff for the changes made by the web
- edit (00259020061577316895370ee04cf00b634db98a).
+edit (00259020061577316895370ee04cf00b634db98a).
 
 But the second had a diff for modifications I made to ikiwiki code
 around the same time (2a6e353c205a6c2c8b8e2eaf85fe9c585c1af0cd).
@@ -38,3 +40,18 @@ diff for the first commit.
 
 Ikiwiki's own locking prevents this from happenning if both commits are web
 edits. At least one of the two commits has to be a non-web commit.
+
+----
+
+A related problem is that if two commits are made separately but then
+pushed in together, the commit code only looks at the HEAD commit, which
+is the second one. No notification is sent for the first.
+
+----
+
+Based on all of these problems with using the post-update hook, ikiwiki
+should be changed to use the post-receive hook, which provides enough
+information to avoid the assumuptions that led to these problems.
+Transitioning existing wikis to using a new hook will be interesting. Also,
+this hook is only present in git >= 1.5.0.7.
+--[[Joey]]
index 22d8c43320ae8a015cfbf4daeb8166bec3564993..1448fa4d57855d4e89fe26d1cd9840c9d3a10deb 100644 (file)
@@ -1,3 +1,5 @@
-While ikiwiki is primarily a wiki compiler, which generates static html pages, it does use CGI for two important wiki features, online page editing and the [[RecentChanges]] display.
+While ikiwiki is primarily a wiki compiler, which generates static html
+pages, it does use CGI for online page editing.
 
-To enable CGI, you need to create and install an ikiwiki.cgi wrapper. [[Setup]] explains how to do this.
\ No newline at end of file
+To enable CGI, you need to create and install an ikiwiki.cgi wrapper.
+[[Setup]] explains how to do this.
index a7b5c19ab59c3ee603c60e238d7cd464c628d34c..1d762bed4d95a9b15d8e950ec1330455ded61909 100644 (file)
@@ -127,7 +127,7 @@ with that there's no new commit marker syntax to learn.
 
 Nearly the definition of a wiki, although perhaps ikiwiki challenges how
 much of that web gunk a wiki really needs. These features are optional
-and can be enabled by enabling [[CGI]].
+and can be enabled by enabling [[CGI]] and a [[Revision_Control_System|rcs]].
 
 ### User registration
 
@@ -161,11 +161,6 @@ Well, sorta. Rather than implementing YA history browser, it can link to
 ikiwiki can use the [[HyperEstraier]] search engine to add powerful
 full text search capabilities to your wiki.
 
-### Commit mails
-
-ikiwiki can be configured to send you commit mails with diffs of changes
-to selected pages.
-
 ### [[w3mmode]]
 
 Can be set up so that w3m can be used to browse a wiki and edit pages
index 44cb354252be1ca6d2f5c725ad0fb448385ec8df..9bf54298199d130dc3187c97c784df20c7e45e6e 100644 (file)
@@ -23,7 +23,6 @@ use IkiWiki::Setup::Standard {
        #rcs => "svn",
        #historyurl => "http://svn.example.org/trunk/[[file]]",
        #diffurl => "http://svn.example.org/trunk/[[file]]?root=wiki&amp;r1=[[r1]]&amp;r2=[[r2]]",
-       #svnrepo => "/svn/wiki",
        #svnpath => "trunk",
 
        # Git stuff.
@@ -72,8 +71,6 @@ use IkiWiki::Setup::Standard {
                #       # what you want.
                #       wrapper => "/svn/wikirepo/hooks/post-commit",
                #       wrappermode => "04755",
-               #       # Enable mail notifications of commits.
-               #       notify => 1,
                #       # Log to syslog since svn post-commit hooks
                #       # hide output and errors.
                #       syslog => 1,
@@ -85,8 +82,6 @@ use IkiWiki::Setup::Standard {
                #       # what you want.
                #       wrapper => "/git/wiki.git/hooks/post-update",
                #       wrappermode => "06755",
-               #       # Enable mail notifications of commits.
-               #       notify => 1,
                #},
        ],
 
@@ -120,6 +115,9 @@ use IkiWiki::Setup::Standard {
        #account_creation_password => "example",
        # Uncomment to force ikiwiki to run with a particular umask.
        #umask => 022,
+       # Default settings for the recentchanges page.
+       #recentchangespage => "recentchanges",
+       #recentchangesnum => 100,
 
        # To add plugins, list them here.
        #add_plugins => [qw{goodstuff search wikitext camelcase
index 5c6433ed3391337aaf5d3cd1afea0057e0aa2042..3cd6bb9f467544da33deff82bffcaf8ed2e77baf 100644 (file)
@@ -33,8 +33,13 @@ functions:
   was created
 * "`created_before(page)`" - match only pages created before the given page
   was created
-* "`user(name)`" - only available in page subscription preferences, match
-  only changes made by this user
+* "`glob(someglob)`" - match pages that match the given glob. Just writing
+  the glob by itself is actually a shorthand for this function.
+* "`internal(glob)`" - like `glob()`, but matches even internal-use 
+  pages that globs do not usually match.
+* "`title(glob)`", "`author(glob)`", "`authorurl(glob)`",
+  "`license(glob)`", "`copyright(glob)`" - match pages that have the given
+  metadata, matching the specified glob.
 
 For example, to match all pages in a blog that link to the page about music
 and were written in 2005:
index d5a48f282320ddf8af6fca3fe9c80401746b6956..4cf38e9cbb2d00577528d118a917d44127634b4f 100644 (file)
@@ -405,6 +405,9 @@ I'm playing around with various ways that I can use subversion with ikiwiki.
 > away without running the post-commit wrapper on commit, and all you lose
 > is the ability to send commit notification emails.
 
+> (And now that [[recentchanges]] includes rss, you can just subscribe to
+> that, no need to worry about commit notification emails anymore.)
+
 * Is it possible / sensible to have ikiwiki share a subversion repository with other data (either completely unrelated files or another ikiwiki instance)?  This works in part but again the post-commit hook seems problematic.
 
 --[[AdamShand]]
diff --git a/doc/news/no_more_email_notifications.mdwn b/doc/news/no_more_email_notifications.mdwn
new file mode 100644 (file)
index 0000000..685a0d3
--- /dev/null
@@ -0,0 +1,14 @@
+ikiwiki.info has upgraded to the not yet released ikiwiki 2.30. This
+version of ikiwiki drops support for subscribing to commit mail
+notifications for pages. The idea is that you can subscribe to the new
+[[RecentChanges]] feed instead. (Or create your own custom feed of only the
+changes you're interested in, and subscribe to that.)
+
+So if you were subscribed to mail notifications on here, you'll need to
+change how you keep track of changes. Please let me know if there are any
+missing features in the [[RecentChanges]] feeds.
+
+Statically building the RecentChanges also has performance implications,
+I'll keep an eye on [[server_speed]]..
+
+--[[Joey]]
index 23fa04d7cf9bb8819429b6f0a96276c636f088b4..208d7120b280ca7593f4635e769bbc0074935f85 100644 (file)
@@ -10,4 +10,4 @@ pages to search for broken links, default is search them all.
 
 If this plugin is turned on, here's a list of broken links on this wiki:
 
-[[brokenlinks ]]
+[[brokenlinks pages="* and !recentchanges"]]
index 798a5c8c281f03e4a0290415cb2674faa0dc0763..74f4bae0826fdc1f2fb97aedb5886e24ac5255b7 100644 (file)
@@ -15,5 +15,6 @@ orphans.
 Here's a list of orphaned pages on this wiki:
 
 [[orphans pages="* and !news/* and !todo/* and !bugs/* and !users/* and
-!examples/* and !tips/* and !sandbox/* and !wikiicons/* and !plugins/*"]]
+!recentchanges and !examples/* and !tips/* and !sandbox/* and
+!wikiicons/* and !plugins/*"]]
 """]]
index 9a97682773a92366124cd63d84ba7a34e72b6604..8f7029df8a4994fa76127d620a746d751bd3e2fe 100644 (file)
@@ -10,5 +10,5 @@ pages to count, default is to count them all.
 This plugin is included in ikiwiki, but is not enabled by default.
 
 If it is turned on it can tell us that this wiki includes
-[[pagecount ]] pages, of which [[pagecount pages="*/Discussion"]] are
-discussion pages.
+[[pagecount pages="* and !recentchanges"]]
+pages, of which [[pagecount pages="*/Discussion"]] are discussion pages.
diff --git a/doc/plugins/recentchanges.mdwn b/doc/plugins/recentchanges.mdwn
new file mode 100644 (file)
index 0000000..b48dcba
--- /dev/null
@@ -0,0 +1,26 @@
+[[template id=plugin name=recentchanges core=1 author="[[Joey]]"]]
+
+This plugin examines the [[revision_control_system|rcs]] history and
+generates a page describing each recent change made to the wiki. These
+pages can be joined together with [[inline]] to generate the
+[[RecentChanges]] page.
+
+Typically only the RecentChanges page will use the pages generated by this
+plugin, but you can use it elsewhere too if you like. It's used like this:
+
+       \[[inline pages="internal(recentchanges/change_*)"
+       template=recentchanges show=0]]
+
+Here's an example of how to show only changes to "bugs/*".
+This matches against the title of the change, which includes a list of
+modified pages.
+
+       \[[inline pages="internal(recentchanges/change_*) and title(*bugs/*)"
+       template=recentchanges show=0]]
+
+Here's an example of how to show only changes that Joey didn't make.
+(Joey commits sometimes as user `joey`, and sometimes via openid.)
+       
+       \[[inline pages="internal(recentchanges/change_*) and
+       !author(joey) and !author(http://joey.kitenet.net*)"
+       template=recentchanges show=0]]
index 0da425402fb53b826eab803fb619e3daa8ed97c6..9c3a36b8fb516a72e0b3dbc01ad343348bd4173f 100644 (file)
@@ -82,11 +82,19 @@ configuration. It's called early in the startup process. The
 function is passed no values. It's ok for the function to call
 `error()` if something isn't configured right.
 
+### refresh
+
+       hook(type => "refresh", id => "foo", call => \&refresh);
+
+This hook is called just before ikiwiki scans the wiki for changed files.
+It's useful for plugins that need to create or modify a source page. The
+function is passed no values.
+
 ### needsbuild
 
        hook(type => "needsbuild", id => "foo", call => \&needsbuild);
 
-This allows a plugin the manipulate the list of files that need to be
+This allows a plugin to manipulate the list of files that need to be
 built when the wiki is refreshed. The function is passed a reference to an
 array of pages that will be rebuilt, and can modify the array, either
 adding or removing files from it.
@@ -523,6 +531,19 @@ destination file, as registered by `will_render`.
 Passed a page and an extension, returns the filename that page will be
 rendered to.
 
+## Internal use pages
+
+Sometimes it's useful to put pages in the wiki without the overhead of
+having them be rendered to individual html files. Such internal use pages
+are collected together to form the RecentChanges page, for example.
+
+To make an internal use page, register a filename extension that starts
+with "_". Internal use pages cannot be edited with the web interface,
+generally shouldn't contain wikilinks or preprocessor directives (use
+either on them with extreme caution), and are not matched by regular
+PageSpecs glob patterns, but instead only by a special `internal()`
+[[ikiwiki/PageSpec]].
+
 ## RCS plugins
 
 ikiwiki's support for [[revision_control_systems|rcs]] also uses pluggable
index 18eae1735fcd744bc83addb7e6e82ac7732a5b6a..1c5176d428da8b3e4890cf492ebd75a34e60e194 100644 (file)
@@ -1,7 +1,8 @@
 If your wiki is kept in [[revision_control|rcs]], a post-commit hook is run
 every time you commit a change to your repository.
 
-ikiwiki generates the "post-commit hook" once you've uncommented the relevant section (under wrappers) in the ikiwiki.setup.
+ikiwiki generates the "post-commit hook" once you've uncommented the relevant
+section (under wrappers) in the ikiwiki.setup.
 
 The generated wrapper is a C program that is designed to safely be made
 suid if necessary. It's hardcoded to run ikiwiki with the settings
@@ -14,4 +15,5 @@ your wiki checkout and html directory. If so, you can safely make
 the wrapper suid to a user who can write there (*not* to root!). You might
 want to read [[Security]] first.
 
-[[Setup]] explains setting this up from the start and see [[rcs/details]] to know more.
+[[Setup]] explains setting this up from the start and see [[rcs/details]] to
+know more.
index d7938157109ccd3eb93ed35da55ca29506ba2908..1d3cd2bc4160c4818febf319d45a2be6c3b7d52b 100644 (file)
@@ -10,7 +10,6 @@ The module is available from the monotone source repository at:
 Monotone support works, but there are still a few minor missing bits (listed here so they are not forgotten):
 
 * At the moment there are no links to display diffs between revisions.  It shouldn't be hard to add links to a [ViewMTN](http://grahame.angrygoats.net/moinmoin/ViewMTN) instance, but it hasn't been done yet.
-* The [[post-commit]] hook support, so that Ikiwiki sends change notifications when people commit using Monotone rather than the web interface, is partially implemented and untested.
 * Documentation (this page) could be improved.
 
 There is also a mismatch between the way Ikiwiki handles conflicts and the way Monotone handles conflicts.  At present, if there is a conflict, then Ikiwiki will commit a revision with conflict markers before presenting it to the user.  This is ugly, but there is no clean way to fix it at present.
index 2e67f02e7dd1a9dd8a05d91cfcc5abe1ec617e24..f832981876699827da37bcdfd72edc42b08615fb 100644 (file)
@@ -1,3 +1,5 @@
-ikiwiki generates the list of recent changes by examining the history of
-the [[revision_control_system|rcs]] that the wiki is configured to use. You
-have to have [[CGI]] set up for this feature to be enabled.
+[[meta title="RecentChanges"]]
+Recent changes to this wiki:
+
+[[inline pages="internal(recentchanges/change_*) and !*/Discussion" 
+template=recentchanges show=0]]
index 84175d68c48890b6d140687f22a2241a826d7c79..17f5fde76fb905fc5d9a5ff3d5f78258bcf6a9ef 100644 (file)
@@ -1,49 +1,15 @@
 This is the SandBox, a page anyone can edit to try out this fab ikiwiki.
 
-# Table of Contents
-testhead
-sandbox
-
-
-<h2>testhead</h2>
-----
-Do re me fa so la te... git?
-
-i see. i see. lalala hmmmmmmmm.
-
-## sandbox
-[[sandbox]] does that work? yep. yay!
-
-# テスト。
-
-Test. Korean. 나는 한국인, 백두산,동해
-
-Test. Chinese. 我是中国人,泰山、黄河。
-
-testing openid ... ignore.
-
-Test. Проверка. Тэстенг. テスト ığüşöçİ ทดสอบ éphémère
-
 Testing right-to-left text: (שרה) should be spelled shin (ש) resh (ר) heh (ה) from right to left.
 
-Testing it in a comment...
-
 Here's a paragraph.
 
 Here's another one with *emphasised* text.
 
 do ë characters work? Sure.
 
-OpenID test. It works!!
-
 Hupple hupple hupple hupple snork.
 
-Exactly my point!
-
-Test..
-
-A [[nonexistingpage]]
-
 There are Polish diacritical characters: ą, ć, ę, ł, ń, ó, ś, ż, ź.
 
 # Header
@@ -83,7 +49,7 @@ Bulleted list
      * three
        * four
         * five
-          * six
+
 ----
 
 [[template id=note text="this is generated by the [[plugins/haiku]] plugin"]]
index af1adc2358bec789b5405fadbd119badfad95958..9bf7f7c7b579918065c169254f0522cc71062fc7 100644 (file)
@@ -180,8 +180,7 @@ about using the git repositories.
 Once your wiki is checked in to the revision control system,
 you should configure ikiwiki to use revision control. Edit your
 ikiwiki.setup, and uncomment the lines for the revision control system
-you chose to use. Be sure to set `svnrepo` to $REPOSITORY, if using
-subversion. Uncomment the block for the wrapper for your revision
+you chose to use. Uncomment the block for the wrapper for your revision
 control system, and configure the wrapper path in that block
 appropriately (for Git, it should be `$REPOSITORY/hooks/post-update`).
 
index 939f20a74810d017dde440f29a89ff3cd71903a8..836ccdb9a6968f100e9e248fc8534c5ec93ea455 100644 (file)
@@ -1,5 +1,6 @@
 This map excludes discussion pages, as well as subpages that are in feeds.
 
-[[map pages="* and !*/discussion
-and !bugs/* and !examples/*/* and !news/* and !tips/* and !plugins/* and !sandbox/* and !todo/* and !users/*
+[[map pages="* and !*/discussion and !recentchanges
+and !bugs/* and !examples/*/* and !news/* and !tips/* and !plugins/*
+and !sandbox/* and !todo/* and !users/*
 and !*.css and !*.ico and !*.png and !*.svgz and !*.gif"]]
index 0fa15d2b1a10a26254ecab2141a8954e31675bc4..026d2c8817d6f35fd1ad76a6e4b3c9551292efbd 100644 (file)
@@ -70,27 +70,49 @@ img {
        border-style: none;
 }
 
-/* Stuff for the RecentChanges table. */
-tr.changeheader {
+div.recentchanges {
+       border-style: solid;
+       border-width: 1px;
+       overflow: auto;
+       width: 100%;
        background: #eee;
        color: black !important;
 }
-tr.changeinfo {
-       background: #eee;
+.recentchanges .metadata {
+       padding: 0px 0.5em;
+}
+.recentchanges .changelog {
+       font-style: italic;
+       clear: both;
+       display: block;
+       padding: 1px 2px;
+       background: white !important;
        color: black !important;
 }
-th.changeheader {
-       padding: 1px .3em;
+.recentchanges .desc {
+       display: none;
+}
+.recentchanges .committer {
+       float: left;
+       margin: 0;
+       width: 40%;
 }
-td.changeinfo {
-       padding: 1px .3em;
+.recentchanges .committype {
+       float: left;
+       margin: 0;
+       width: 5%;
+       font-size: small;
 }
-td.changetime {
-       white-space: nowrap;
-       padding: 1px .3em;
+.recentchanges .changedate {
+       float: left;
+       margin: 0;
+       width: 35%;
+       font-size: small;
 }
-td.changelog {
-       font-style: italic;
+.recentchanges .pagelinks {
+       float: right;
+       margin: 0;
+       width: 60%;
 }
 
 /* Used for adding a blog page. */
index d577c454f96bf505c8cc27377e044631be0a2e16..862a8507163fee3a8930fa9f540594666ed8f277 100644 (file)
@@ -4,3 +4,6 @@ What's the rationale behind excluding ones own changes from the commit emails se
 > Well, commit mails are intended to keep you informed of changes in the
 > wiki, and I assumed you'd know about changes you made yourself.
 > --[[Joey]]
+
+> [[done]] -- commit mails removed; recentchanges feeds can be configured
+> for whatever you like.
index 70970c6cc7f7f5ba5fa99eef167e53e918b2355c..dc456bbbfaf54b7b1c7234c8c82a6f259091be01 100644 (file)
@@ -3,4 +3,8 @@ user to add a page to their subscribed list while editing.  This would prove
 particularly useful for [[todo]] and [bug](bugs) items, to allow users to receive
 notifications for activity on their reports.
 
---[[JoshTriplett]]
\ No newline at end of file
+--[[JoshTriplett]]
+
+I went and removed commit notification mails entirely, the idea is that you
+subscribe using the [[RecentChanges]] rss feed, and filter it on your end.
+Good enough? --[[Joey]]
diff --git a/doc/todo/aggregate_to_internal_pages.mdwn b/doc/todo/aggregate_to_internal_pages.mdwn
new file mode 100644 (file)
index 0000000..a4164fa
--- /dev/null
@@ -0,0 +1,5 @@
+The new internal page feature is designed for something like
+[[plugins/aggregate]].
+
+How to transition to it though? inlines of aggregated content would need to
+change their pagespecs to use `internal()`.
index dbe35245c920b10ef767cd581647135354707810..51ae081463e11711631524729c547d2f918f1736 100644 (file)
@@ -4,6 +4,8 @@ rcs_commit was only changed to work around bzr's lack of a switch to set the
 username). bzr_log could probably be written better by someone better at perl,
 and rcs_getctime and rcs_notify aren't written at all. --[[bma]]
 
+(rcs_notify is not needed in this branch --[[Joey]])
+
     #!/usr/bin/perl
     
     use warnings;
@@ -183,4 +185,8 @@ and rcs_getctime and rcs_notify aren't written at all. --[[bma]]
 
 >>> It's new (in fact I'm not even sure that it made it in to 0.90, it might be in 0.91 due
 >>> in a couple of weeks.
->>> I was just noting it for a future enhancement. --[[JamesWestby]]
\ No newline at end of file
+>>> I was just noting it for a future enhancement. --[[JamesWestby]]
+
+> I've just posted another patch with support for bzr, including support for 
+> --author and a testsuite to git://git.samba.org/jelmer/ikiwiki.git. I hadn't 
+> seen this page earlier.  --[[jelmer]]
index f67f6737182b2035d726509850950d3728b67331..0c6268aa17ac2f8331f8141868ba0247f22628e0 100644 (file)
@@ -3,3 +3,6 @@ authentication (perhaps as a [[tip|tips]]), showing how to authenticate the
 user for edits without requiring authentication for the entire wiki. (Ideally,
 recentchanges should work without authentication as well, even though it goes
 through the CGI.) --[[JoshTriplett]]
+
+> (Now that recentchanges is a static page, it auths the same as other wiki
+> pages.) --[[Joey]]
index e5de93521876cd2d69a093213ed9a26300402ceb..608c7d6815b147bd49169aa874a49bbde0ed7ce5 100644 (file)
@@ -1,6 +1,6 @@
 * Need to get post commit hook working (or an example of how to use it.)
   * See below. --[[bma]]
-* rcs_notify is not implemented
+* rcs_notify is not implemented (not needed in this branch --[[Joey]])
 * Is the code sufficiently robust? It just warns when mercurial fails.
 * When rcs_commit is called with a $user that is an openid, it will be
   passed through to mercurial -u. Will mercurial choke on this?
index 4714a7a0962305481aba2ec844ffacc616aa7596..4bbda6565425e76e42bf8c11739f51e775180f65 100644 (file)
@@ -44,7 +44,6 @@ Remaining TODOs:
     just for this bit of functionality?
   * Debian news file.
   * ikiwiki news file.
-  * Are commit emails still working?
 
 --[[tschwinge]]
 
index 0d702975f01ca227faa64b5171d958fc39b4f271..89dbb04a202f3a98c4122b9f35bce2cbdd84c9f0 100644 (file)
@@ -6,20 +6,6 @@ Suggestions of ideas for plugins:
 > web-server-specific code to list all users, and openid can't feasibly do so
 > at all. --[[JoshTriplett]]
 
-* Support [[RecentChanges]] as a regular page containing a plugin that
-  updates each time there is a change, and statically builds the recent
-  changes list. (Would this be too expensive/inflexible? There might be
-  other ways to do it as a plugin, like making all links to RecentChanges
-  link to the cgi and have the cgi render it on demand.) 
-
-  Or using an iframe
-  to inline the cgi, although firefox seems to render that nastily with
-  nested scroll bars. :-(
-> Or just link to the equivalent in the version control system, if available;
-> gitweb's shortlog or summary view would work nicely as a
-> RecentChanges. --[[JoshTriplett]]
->>Why not fork the process?  We wouldn't have to wait around for a response since we would assume the recent changes page was being generated correctly.
-
 * It would be nice to be able to have a button to show "Differences" (or 
   "Show Diff") when editing a page. Is that an option that can be enabled?
   Using a plugin?
@@ -58,4 +44,4 @@ Suggestions of ideas for plugins:
 
 * As I couldn't find another place to ask, I'll try here. I would like to install some contributed plugins, but can not find anywhere to downlod them.
 
-  > Not sure what you mean, the [[plugins/contrib]] page lists contributed plugins, and each of their pages tells where to download the plugin from.. --[[Joey]]
\ No newline at end of file
+  > Not sure what you mean, the [[plugins/contrib]] page lists contributed plugins, and each of their pages tells where to download the plugin from.. --[[Joey]]
index d46c0d9a88704055eec9daf607dff1f12dc6e029..91128a860faffcfe7b66780238ee3b1e6d11e84f 100644 (file)
@@ -86,3 +86,59 @@ your pages. --Ethan
 > backend.
 >
 > -- CharlesMauch
+
+---- 
+
+Here's a full design for redoing recentchanges, based on Ethan's ideas:
+
+* Add a recentchanges plugin that has a preprocessor directive:
+       \[[recentchanges num=100 pages=* template=recentchanges.tmpl]]
+  If put on the [[recentchanges]] page, this would result in up to 100
+  recentchanges/change_$id.mdwn files being created.
+* Which means the plugin has to store state and use a checkconfig hook
+  or the like to create the requested pages (and delete old ones) when
+  the wiki is rebuilt and when the post_commit hook is run.
+* Then it's a simple matter of using inline on the recentchanges page
+  to display the changes. (With a special template to display nicely.)
+* Rss/atom comes for free..
+* So drop mail notifications.
+* If someone wants to subscribe to notifications for only a subset
+  of pages, they can either filter the recentchanges in their rss
+  aggregator, or they can set up their own page that uses the recentchanges
+  directive for only the pages they want.
+* The `rcs_notify` functions will be removed.
+* To add diffs, another plugin can add a pagetemplate hook that calls
+  a `rcs_diff`. (optional)
+* So to update the changes files, just call `rcs_recentchanges`, create
+  files for each new id, and delete files for each id that is no longer
+  included.
+* The cgi support for recentchanges can be dropped, or moved to a different
+  plugin.
+
+I'm unsure how fast this will all be, but by using regular pages, there's
+cacheing, at least. The main slowdown might turn out to be the inlining and
+not the generation of the changes pages. The current cgi recentchanges
+code saves a tenth of a second or so by memoizing htmllink, an optimisation
+that won't be available when using the more general inlining code.
+
+An obvious optimisation, and one implied by this design, is that each change
+file is only written once. This assumes that the data in them doesn't ever
+change, which actually isn't true (svn commit messages can be changed), but
+is probably close enough to true for our purposes.
+
+Another optimisation would be to htmlize the change files when they're
+written out -- avoids re-rendering a given file each time a new change is
+made (thus doing 1/100th the work). 
+
+Links in the change files to the changed pages will need special handling.
+These links should not generate backlinks. They probably shouldn't be
+implemented as wikiliks at all. Instead, they should be raw, absolute 
+html links to the pages that were changed.
+
+Only problem with this approach is that the links break if the changed
+page later gets deleted. I think that's acceptable. It could link to
+`ikiwiki.cgi?do=redir&page=foo`, but that's probably overkill.
+
+--[[Joey]]
+
+[[done]] !! (in this branch at least :-)
index 136e969c2752d145b29491d80668141d858a566a..f34d5bad653ba4119ca968d71a77a19be8dafbd3 100644 (file)
@@ -33,8 +33,7 @@ These options control the mode that ikiwiki operates in.
 * --cgi
 
   Enable [[CGI]] mode. In cgi mode ikiwiki runs as a cgi script, and
-  supports editing pages, signing in, registration, and displaying
-  [[RecentChanges]].
+  supports editing pages, signing in, and registration.
 
   To use ikiwiki as a [[CGI]] program you need to use --wrapper or --setup
   to generate a wrapper. The wrapper will generally need to run suid 6755 to
@@ -133,11 +132,6 @@ configuration options of their own.
   access controlled by a group, it makes sense for the ikiwiki wrappers
   to run setgid to that group.
 
-* --notify, --no-notify
-
-  Enable email notification of commits. This should be used when running
-  ikiwiki as a [[post-commit]] hook.
-
 * --rcs=svn|git|.., --no-rcs
 
   Enable or disable use of a [[revision_control_system|rcs]].
@@ -146,16 +140,10 @@ configuration options of their own.
   whatever the revision control system you select uses.
 
   In [[CGI]] mode, with a revision control system enabled, pages edited via
-  the web will be committed. Also, the [[RecentChanges]] link will be placed
-  on pages.
+  the web will be committed.
 
   No revision control is enabled by default.
 
-* --svnrepo /svn/wiki
-
-  Specify the location of the svn repository for the wiki. This is required
-  for using --notify with [[Subversion|rcs/svn]].
-
 * --svnpath trunk
 
   Specify the path inside your svn repository where the wiki is located.
index 4588b948eed01eddfad100864e1b40ecd6fb6184..1f6325b4bd4de620f71a075d8aa85e6570f21f2b 100644 (file)
@@ -10,11 +10,8 @@ located in /usr/share/ikiwiki/templates by default.
 * `page.tmpl` - Used for displaying all regular wiki pages.
 * `misc.tmpl` - Generic template used for any page that doesn't
   have a custom template.
-* `recentchanges.tmpl` - Used for the RecentChanges page.
 * `editpage.tmpl` - Create/edit page.
-* `notifymail.tmpl` - Not a html template, this is used to
-  generate change notification mails for users who have subscribed to
-  changes to a page.
+* `change.tmpl` - Used to create a page describing a change made to the wiki.
 * `passwordmail.tmpl` - Not a html template, this is used to
   generate the mail with the user's password in it.
 * `rsspage.tmpl` - Used for generating rss feeds for [blogs|[ikiwiki/blog]].
index 2aeaf94ecedc4ffd210d9c774dab983a58050f2d..9d1f6b52077b06e09f5bf7ec97b363c0c17941fb 100755 (executable)
@@ -36,12 +36,10 @@ sub getconfig () { #{{{
                        "cgi!" => \$config{cgi},
                        "discussion!" => \$config{discussion},
                        "w3mmode!" => \$config{w3mmode},
-                       "notify!" => \$config{notify},
                        "url=s" => \$config{url},
                        "cgiurl=s" => \$config{cgiurl},
                        "historyurl=s" => \$config{historyurl},
                        "diffurl=s" => \$config{diffurl},
-                       "svnrepo" => \$config{svnrepo},
                        "svnpath" => \$config{svnpath},
                        "adminemail=s" => \$config{adminemail},
                        "timeformat=s" => \$config{timeformat},
@@ -132,10 +130,7 @@ sub main () { #{{{
                commandline_render();
        }
        elsif ($config{post_commit} && ! commit_hook_enabled()) {
-               if ($config{notify}) {
-                       loadindex();
-                       rcs_notify();
-               }
+               # do nothing
        }
        else {
                lockwiki();
@@ -143,7 +138,6 @@ sub main () { #{{{
                require IkiWiki::Render;
                rcs_update();
                refresh();
-               rcs_notify() if $config{notify};
                saveindex();
        }
 } #}}}
index 50c2afc46a5767c316347dcd7747d77456c9a7ba..32132475e43fc98925f6f9a681145db5bacb759f 100644 (file)
--- 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-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-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"
@@ -16,120 +16,120 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "Първо трябва да влезете."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 #, fuzzy
 msgid "Preferences"
 msgstr "Предпочитанията са запазени."
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "Предпочитанията са запазени."
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "дискусия"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "създаване на %s"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "промяна на %s"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "Достъпът ви е забранен."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, fuzzy, perl-format
 msgid "missing %s parameter"
 msgstr "липсващ параметър „id” на шаблона"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "нов източник"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "съобщения"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "ново"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "премахване на „%s” (на %s дни)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "премахване на „%s”"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "е обработен нормално от %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "проверка на източника „%s”"
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "не е намерен източник на адрес „%s”"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 #, fuzzy
 msgid "feed not found"
 msgstr "шаблонът „%s” не е намерен"
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "данните от източника предизвикаха грешка в модула XML::Feed!"
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "създаване на нова страницa „%s”"
@@ -227,11 +227,11 @@ msgstr ""
 msgid "nonexistant template %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "Дискусия"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "модулът „RPC::XML::Client” не е намерен; източникът не е проверен"
 
@@ -253,17 +253,17 @@ msgstr ""
 "грешка при зареждането на perl-модула „Markdown.pm” (%s) или „/usr/bin/"
 "markdown” (%s)"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 #, fuzzy
 msgid "stylesheet not found"
 msgstr "шаблонът „%s” не е намерен"
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 #, fuzzy
 msgid "redir page not found"
 msgstr "шаблонът „%s” не е намерен"
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 #, fuzzy
 msgid "redir cycle is not allowed"
 msgstr "шаблонът „%s” не е намерен"
@@ -388,15 +388,15 @@ msgstr ""
 msgid "%A night"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr ""
 
@@ -516,7 +516,7 @@ msgstr ""
 msgid "code includes disallowed latex commands"
 msgstr ""
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 #, fuzzy
 msgid "failed to generate image from code"
 msgstr "грешка при запис на файла „%s”: %s"
@@ -525,75 +525,51 @@ msgstr "грешка при запис на файла „%s”: %s"
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "функцията „getctime” не е реализирана"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-#, fuzzy
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"Променливата от обкръжението „REV” не е указана. Програмата не се изпълнява "
-"като „svn post-commit hook”. Няма да бъдат разпратени известявания"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-#, fuzzy
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-"Променливата от обкръжението „REV” не е указана. Програмата не се изпълнява "
-"като „svn post-commit hook”. Няма да бъдат разпратени известявания"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"Променливата от обкръжението „REV” не е указана. Програмата не се изпълнява "
-"като „svn post-commit hook”. Няма да бъдат разпратени известявания"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "пропускане на невалидното име на файл „%s”"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "премахване на старата страница „%s”"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "сканиране на „%s”"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "обновяване на страницата „%s”"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "обновяване на страницата „%s”, съдържаща препратки към „%s”"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "обновяване на страницата „%s”, зависеща от „%s”"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr "обновяване на „%s” и осъвременяване на обратните връзки"
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "премахване на „%s” понеже не се генерира от „%s”"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikiwiki: неуспех при обновяване на страницата „%s”"
@@ -621,15 +597,6 @@ msgstr "осъвременяване на уики..."
 msgid "done"
 msgstr "готово"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "обновяване на страниците от уики „%s”: %s от потребител „%s”"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -645,19 +612,19 @@ msgstr "не е указан файл на обвивката"
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "грешка при запис на файла „%s”: %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "крешка при компилиране на файла %s"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "успешно генериране на %s"
@@ -666,17 +633,17 @@ msgstr "успешно генериране на %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "формат: ikiwiki [опции] източник местоназначение"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "При използване на пареметъра „--cgi” е необходимо да се укаже и "
 "местоположението на уикито чрез параметъра „--url”"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "Грешка"
 
@@ -684,11 +651,38 @@ msgstr "Грешка"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "открита е циклична завидимост при %s на „%s” на дълбочина %i"
 
+#, fuzzy
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "Променливата от обкръжението „REV” не е указана. Програмата не се "
+#~ "изпълнява като „svn post-commit hook”. Няма да бъдат разпратени "
+#~ "известявания"
+
+#, fuzzy
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "Променливата от обкръжението „REV” не е указана. Програмата не се "
+#~ "изпълнява като „svn post-commit hook”. Няма да бъдат разпратени "
+#~ "известявания"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "Променливата от обкръжението „REV” не е указана. Програмата не се "
+#~ "изпълнява като „svn post-commit hook”. Няма да бъдат разпратени "
+#~ "известявания"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "обновяване на страниците от уики „%s”: %s от потребител „%s”"
+
 #, fuzzy
 #~ msgid "%s not found"
 #~ msgstr "шаблонът „%s” не е намерен"
index 17e27c704f167a0f154fda80d9209d0a913f391c..84ece710333d9962b6fc880ab8de096da4c19aee 100644 (file)
--- 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-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-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"
@@ -15,118 +15,118 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "Nejprve se musíte přihlásit."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 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:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr "Přihlášení"
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 msgid "Preferences"
 msgstr "Předvolby"
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr "Správce"
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "Nastavení uloženo."
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr "%s není editovatelná stránka"
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "diskuse"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "vytvářím %s"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "upravuji %s"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "Jste vyhoštěni."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, perl-format
 msgid "missing %s parameter"
 msgstr "chybí parametr %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "nový zdroj"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "příspěvky"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "nový"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "expiruji %s (stará %s dnů)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "expiruji %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "zpracováno ok %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "kontroluji zdroj %s ..."
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "nemohu najít zdroj na %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 msgid "feed not found"
 msgstr "zdroj nebyl nalezen"
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr "(neplatné UTF-8 bylo ze zdroje odstraněno)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "zdroj shodil XML::Feed!"
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "vytvářím novou stránku %s"
@@ -220,11 +220,11 @@ msgstr "Přidat nový příspěvek nazvaný:"
 msgid "nonexistant template %s"
 msgstr "neexistující šablona %s"
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "Diskuse"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "RPC::XML::Client nebyl nalezen, nepinkám"
 
@@ -243,16 +243,16 @@ msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
 "selhalo nahrání perlového modulu Markdown.pm (%s) nebo /usr/bin/markdown (%s)"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 msgid "stylesheet not found"
 msgstr "styl nebyl nalezen"
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 #, fuzzy
 msgid "redir page not found"
 msgstr "zdroj nebyl nalezen"
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 #, fuzzy
 msgid "redir cycle is not allowed"
 msgstr "zdroj nebyl nalezen"
@@ -377,15 +377,15 @@ msgstr "%A pozdě večer"
 msgid "%A night"
 msgstr "%A v noci"
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr "%A během odpoledního čaje"
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr "o půlnoci"
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr "%A o poledni"
 
@@ -497,7 +497,7 @@ msgstr "chybí hodnoty"
 msgid "code includes disallowed latex commands"
 msgstr ""
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 #, fuzzy
 msgid "failed to generate image from code"
 msgstr "nelze změnit velikost: %s"
@@ -506,72 +506,51 @@ msgstr "nelze změnit velikost: %s"
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "getctime není implementováno"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-#, fuzzy
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"REV není nastavena, není spuštěna ze svn post-commit, nemohu zaslat oznámení"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-#, fuzzy
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-"REV není nastavena, není spuštěna ze svn post-commit, nemohu zaslat oznámení"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"REV není nastavena, není spuštěna ze svn post-commit, nemohu zaslat oznámení"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "přeskakuji chybné jméno souboru %s"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "odstraňuji starou stránku %s"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "prohledávám %s"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "zpracovávám %s"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "zpracovávám %s, která odkazuje na %s"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "zpracovávám %s, která závisí na %s"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr "zpracovávám %s, aby se aktualizovaly zpětné odkazy"
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "odstraňuji %s, již není zpracovávána %s"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikiwiki: nelze zpracovat %s"
@@ -599,15 +578,6 @@ msgstr "obnovuji wiki..."
 msgid "done"
 msgstr "hotovo"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "aktualizace %s (%s) uživatelem %s"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -623,19 +593,19 @@ msgstr "jméno souboru s obalem nebylo zadáno"
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "nelze zapsat %s: %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "nelze zkompilovat %s"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "%s byl úspěšně vytvořen"
@@ -644,15 +614,15 @@ msgstr "%s byl úspěšně vytvořen"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "použití: ikiwiki [volby] zdroj cíl"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "Při použití --cgi musíte pomocí --url zadat url k wiki"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "Chyba"
 
@@ -660,11 +630,35 @@ msgstr "Chyba"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "Byla rozpoznána smyčka direktivy %s na %s v hloubce %i"
 
+#, fuzzy
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV není nastavena, není spuštěna ze svn post-commit, nemohu zaslat "
+#~ "oznámení"
+
+#, fuzzy
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "REV není nastavena, není spuštěna ze svn post-commit, nemohu zaslat "
+#~ "oznámení"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV není nastavena, není spuštěna ze svn post-commit, nemohu zaslat "
+#~ "oznámení"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "aktualizace %s (%s) uživatelem %s"
+
 #~ msgid "%s not found"
 #~ msgstr "%s nenalezen"
 
index 256ae21df9ed4f57c8ea3591d83a2d9fc2620030..8157b963db019a03bf5ab7c385c1bac88c5af30d 100644 (file)
--- 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-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-0500\n"
 "PO-Revision-Date: 2007-10-16 23:07+0100\n"
 "Last-Translator: Jonas Smedegaard <dr@jones.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -18,118 +18,118 @@ msgstr ""
 "X-Poedit-Country: DENMARK\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "Du skal først logge på."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr "Pålogning fejlede, måske skal du tillade infokager (cookies)?"
 
-#: ../IkiWiki/CGI.pm:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr "Pålogning"
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 msgid "Preferences"
 msgstr "Indstillinger"
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr "Admin"
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "Indstillinger gemt"
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr "%s er ikke en redigérbar side"
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "diskussion"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "opretter %s"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "redigerer %s"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "Du er banlyst."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, perl-format
 msgid "missing %s parameter"
 msgstr "mangler parametren %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "ny fødning"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "indlæg"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "nyt"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "udløber %s (%s dage gammel)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "udløber %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "korrekt dannet ved %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "undersøger fødning %s ..."
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "kunne ikke finde fødning ved %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 msgid "feed not found"
 msgstr "fødning ikke fundet"
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr "(defekt UTF-8 fjernet fra fødning)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "fødning fik XML::Feed til at bryde sammen!"
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "opretter ny side %s"
@@ -223,11 +223,11 @@ msgstr "Tilføj nyt indlæg med følgende titel:"
 msgid "nonexistant template %s"
 msgstr "ikke-eksisterende skabelon: %s"
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "Diskussion"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "RPC::XML::Client ikke fundet, pinger ikke"
 
@@ -247,16 +247,16 @@ msgstr ""
 "Indlæsning af perl-modulet Markdown.pm (%s) eller /usr/bin/markdown (%s) "
 "mislykkedes"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 msgid "stylesheet not found"
 msgstr "stilsnit (stylesheet) ikke fundet"
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 #, fuzzy
 msgid "redir page not found"
 msgstr "fødning ikke fundet"
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 #, fuzzy
 msgid "redir cycle is not allowed"
 msgstr "fødning ikke fundet"
@@ -381,15 +381,15 @@ msgstr "sent %A aften"
 msgid "%A night"
 msgstr "%A nat"
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr "ved tetid %A"
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr "ved midnat"
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr "midt på dagen %A"
 
@@ -500,7 +500,7 @@ msgstr "manglende tex-kode"
 msgid "code includes disallowed latex commands"
 msgstr "kode indeholder ikke-tilladte latec-kommandoer"
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 msgid "failed to generate image from code"
 msgstr "billedopbygning fra kode mislykkedes"
 
@@ -508,72 +508,51 @@ msgstr "billedopbygning fra kode mislykkedes"
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "getctime ikke implementeret"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"REV ikke angivet, afvikles ikke fra mtn post-commit hook, kan ikke sende "
-"orienteringer"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-"REV er ikke en gyldig revisionsidentifikation, kan ikke sende orienteringer"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"REV ikke angivet, afvikles ikke fra svn post-commit hook, kan ikke sende "
-"orienteringer"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "udelader forkert filnavn %s"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "fjerner gammel side %s"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "gennemlæser %s"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "danner %s"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "danner %s, som henviser til %s"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "danner %s, som afhænger af %s"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr "danner %s, for at opdatere dens krydshenvisninger (backlinks)"
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "fjerner %s, ikke længere dannet af %s"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikiwiki: kan ikke danne %s"
@@ -601,15 +580,6 @@ msgstr "genopfrisker wiki..."
 msgid "done"
 msgstr "færdig"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "opdatering på %s på %s af %s"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -625,19 +595,19 @@ msgstr "wrapper-navn ikke angivet"
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "skrivning ad %s mislykkedes: %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "kompilering af %s mislykkedes"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "Korrekt bygget %s"
@@ -646,15 +616,15 @@ msgstr "Korrekt bygget %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "brug: ikiwiki [valg] kilde mål"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr "brug: --set var=værdi"
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "Skal angive url til wiki med --url når der bruges --cgi"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "Fejl"
 
@@ -662,7 +632,29 @@ msgstr "Fejl"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "%s forudberegningssløkke fundet på %s ved dybde %i"
+
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV ikke angivet, afvikles ikke fra mtn post-commit hook, kan ikke sende "
+#~ "orienteringer"
+
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "REV er ikke en gyldig revisionsidentifikation, kan ikke sende "
+#~ "orienteringer"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV ikke angivet, afvikles ikke fra svn post-commit hook, kan ikke sende "
+#~ "orienteringer"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "opdatering på %s på %s af %s"
index effca603296838581ac0787d665e5d5ee658f148..f93a518a55983a495463796a167f47d185c27412 100644 (file)
--- 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-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-0500\n"
 "PO-Revision-Date: 2007-12-20 11:25+0100\n"
 "Last-Translator: Víctor Moral <victor@taquiones.net>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -15,119 +15,119 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "Antes es necesario identificarse."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 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:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr "Identificación"
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 msgid "Preferences"
 msgstr "Preferencias"
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr "Administración"
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "Las preferencias se han guardado."
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr "la página %s no es modificable"
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "comentarios"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "creando página %s"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "modificando página %s"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "Ha sido expulsado."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, perl-format
 msgid "missing %s parameter"
 msgstr "falta el parámetro %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "nueva entrada"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "entradas"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "nuevo"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "%s caducada (%s días de antigüedad)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "%s caducada"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "proceso completado con éxito a %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "comprobando fuente de datos %s ..."
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "no puedo encontrar la fuente de datos en %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 msgid "feed not found"
 msgstr "fuente de datos no encontrada"
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, 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:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "¡ la fuente de datos ha provocado un error fatal en XML::Feed!"
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "creando nueva página %s"
@@ -221,11 +221,11 @@ msgstr "Añadir una entrada nueva titulada:"
 msgid "nonexistant template %s"
 msgstr "la plantilla %s no existe "
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "Comentarios"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "No he encontrado el componente RPC::XML::Client, no envío señal alguna"
 
@@ -245,15 +245,15 @@ msgstr ""
 "no he podido cargar el módulo Perl Markdown.pm (%s) ó no he podido ejecutar "
 "el programa /usr/bin/markdown (%s)"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 msgid "stylesheet not found"
 msgstr "hoja de estilo no encontrada "
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 msgid "redir page not found"
 msgstr "falta la página a donde redirigir"
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 msgid "redir cycle is not allowed"
 msgstr "ciclo de redirección no permitido"
 
@@ -377,15 +377,15 @@ msgstr "a última hora de la tarde del $A"
 msgid "%A night"
 msgstr "la noche del %A"
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr "el %A a la hora del té"
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr "a medianoche"
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr "el %A a media tarde"
 
@@ -496,7 +496,7 @@ msgstr "falta el código tex"
 msgid "code includes disallowed latex commands"
 msgstr "el código incluye órdenes latex anuladas"
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 msgid "failed to generate image from code"
 msgstr "no he podido crear la imagen desde el código"
 
@@ -504,75 +504,53 @@ msgstr "no he podido crear la imagen desde el código"
 msgid "(not toggleable in preview mode)"
 msgstr "(no se puede cambiar en el modo de previsualización)"
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "la funcionalidad getctime no está incluida"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"La variable de entorno REV no está definida, por lo que no puede funcionar "
-"svn post-commit desde monotone; no puedo enviar ninguna notificación"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-"REV no es un identificador de revisión válido, por lo que no puedo enviar "
-"ninguna notificación"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"La variable de entorno REV no está definida, por lo que no puede funcionar "
-"svn post-commit; no puedo enviar ninguna notificación"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "ignorando el archivo %s porque su nombre no es correcto"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "eliminando la antigua página %s"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "explorando %s"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "convirtiendo %s"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "convirtiendo la página %s, la cual referencia a %s"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "convirtiendo la página %s, la cual depende de %s"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr ""
 "convirtiendo la página %s para actualizar la lista de páginas que hacen "
 "referencia a ella."
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "eliminando la página %s puesto que ya no se deriva de %s"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikwiki: no puedo convertir la página %s"
@@ -600,15 +578,6 @@ msgstr "actualizando el wiki.."
 msgid "done"
 msgstr "completado"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "actualizado el wiki %s y la página %s por el usuario %s"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -625,19 +594,19 @@ msgstr "el programa envoltorio no ha sido especificado"
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "no puedo escribir en %s: %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "ha fallado la compilación del programa %s"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "creado con éxito el programa envoltorio %s"
@@ -646,17 +615,17 @@ msgstr "creado con éxito el programa envoltorio %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "uso: ikiwiki [opciones] origen destino"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr "uso: --set variable=valor"
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Es obligatorio especificar un url al wiki con el parámetro --url si se "
 "utiliza el parámetro --cgi"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "Error"
 
@@ -664,13 +633,36 @@ msgstr "Error"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
 "se ha detectado un bucle de preprocesado %s en la página %s en la vuelta "
 "número %i"
 
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "La variable de entorno REV no está definida, por lo que no puede "
+#~ "funcionar svn post-commit desde monotone; no puedo enviar ninguna "
+#~ "notificación"
+
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "REV no es un identificador de revisión válido, por lo que no puedo enviar "
+#~ "ninguna notificación"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "La variable de entorno REV no está definida, por lo que no puede "
+#~ "funcionar svn post-commit; no puedo enviar ninguna notificación"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "actualizado el wiki %s y la página %s por el usuario %s"
+
 #~ msgid "link is no longer supported"
 #~ msgstr "el metadato link ya no puede usarse"
 
index aed567f39903e7ac47281b24bc20c3177daa94ab..b6769a9695747b6e6a5b58196c66d423a37e1bda 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-0500\n"
 "PO-Revision-Date: 2007-08-28 21:05+0200\n"
 "Last-Translator: Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -17,119 +17,119 @@ msgstr ""
 "X-Poedit-Language: French\n"
 "X-Poedit-Country: FRANCE\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "Vous devez d'abord vous identifier."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 "Échec de l'identification, vous devriez peut-être autoriser les cookies."
 
-#: ../IkiWiki/CGI.pm:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr "S’identifier"
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 msgid "Preferences"
 msgstr "Préférences"
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr "Administrateur"
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "Les préférences ont été enregistrées."
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr "%s n'est pas une page éditable"
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "Discussion"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "Création de %s"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "Édition de %s"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "Vous avez été banni."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, perl-format
 msgid "missing %s parameter"
 msgstr "Paramètre %s manquant"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "Nouveau flux"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "Articles"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "Nouveau"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "Fin de validité de %s (date de %s jours)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "Fin de validité de %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "A été correctement traité à %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "Vérification du flux %s..."
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "Impossible de trouver de flux à %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 msgid "feed not found"
 msgstr "Flux introuvable "
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr "(chaîne UTF-8 non valable supprimée du flux)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "Plantage du flux XML::Feed !"
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "Création de la nouvelle page %s"
@@ -225,11 +225,11 @@ msgstr "Ajouter un nouvel article dont le titre est :"
 msgid "nonexistant template %s"
 msgstr "Le modèle (« template ») %s n'existe pas"
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "Discussion"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "RPC::XML::Client introuvable, pas de réponse au ping"
 
@@ -249,16 +249,16 @@ msgstr ""
 "Échec du chargement du module Perl Markdown.pm (%s) ou de /usr/bin/markdown "
 "(%s)"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 msgid "stylesheet not found"
 msgstr "Feuille de style introuvable "
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 #, fuzzy
 msgid "redir page not found"
 msgstr "Flux introuvable "
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 #, fuzzy
 msgid "redir cycle is not allowed"
 msgstr "Flux introuvable "
@@ -383,15 +383,15 @@ msgstr "tard %A soir"
 msgid "%A night"
 msgstr "%A, durant la nuit"
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr "%A, à l'heure du thé"
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr "à minuit"
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr "%A, à midi"
 
@@ -502,7 +502,7 @@ msgstr "Il manque le code TeX"
 msgid "code includes disallowed latex commands"
 msgstr "Le code comporte des commandes LaTeX non permises"
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 msgid "failed to generate image from code"
 msgstr "Échec de la création de l'image à partir du code"
 
@@ -510,74 +510,51 @@ msgstr "Échec de la création de l'image à partir du code"
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "getctime n'est pas implémenté"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"REV n'est pas défini; impossible de lancer le post-commit de mtn etd'envoyer "
-"les notifications"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-"REV n'est pas un identifiant de révision valable, impossible d'envoyer les "
-"notifications"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"REV n'est pas défini, pas de lancement depuis le système de rapport par mail "
-"après un commit sur le SVN (« hook post-commit »), impossible d'envoyer des "
-"notifications"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "Omission du fichier au nom incorrect %s"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "Suppression de l'ancienne page %s"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "Parcours de %s"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "Affichage de %s"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "Affichage de %s, qui est lié à %s"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "Affichage de %s, qui dépend de %s"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr "Affichage de %s, afin de mettre à jour ses rétroliens"
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "Suppression de %s, qui n'est plus affiché par %s"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikiwiki : impossible d'afficher %s"
@@ -605,15 +582,6 @@ msgstr "Rafraîchissement du wiki..."
 msgid "done"
 msgstr "Terminé"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "Wiki %s, les pages %s ont été mises à jour par %s"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -630,19 +598,19 @@ msgstr "Le nom de fichier de l'enrobage n'a pas été indiqué"
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "Échec de l'écriture de %s : %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "Échec de la compilation de %s"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "%s a été créé avec succès"
@@ -651,17 +619,17 @@ msgstr "%s a été créé avec succès"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "Syntaxe : ikiwiki [options] source destination"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr "Syntaxe : -- set var=valeur"
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Vous devez indiquer une URL vers le wiki par --url lors de l'utilisation de "
 "--cgi"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "Erreur"
 
@@ -669,12 +637,35 @@ msgstr "Erreur"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
 "%s une boucle a été détectée dans le prétraitement de %s, à la profondeur %i"
 
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV n'est pas défini; impossible de lancer le post-commit de mtn "
+#~ "etd'envoyer les notifications"
+
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "REV n'est pas un identifiant de révision valable, impossible d'envoyer "
+#~ "les notifications"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV n'est pas défini, pas de lancement depuis le système de rapport par "
+#~ "mail après un commit sur le SVN (« hook post-commit »), impossible "
+#~ "d'envoyer des notifications"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "Wiki %s, les pages %s ont été mises à jour par %s"
+
 #~ msgid "%s not found"
 #~ msgstr "%s introuvable "
 
index 53775705d411773999c3d59d2df13bdf4f03fc39..b50fd4813d04cfd92d9a9889ce3e0e45b87c7439 100644 (file)
--- 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-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-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"
@@ -15,119 +15,119 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "તમારે પ્રથમ લોગ ઇન થવું પડશે."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr "પ્રવેશ નિષ્ફળ, કદાચ તમારી કુકીઓ સક્રિય બનાવવી પડશે?"
 
-#: ../IkiWiki/CGI.pm:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 #, fuzzy
 msgid "Preferences"
 msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr "%s એ સુધારી શકાય તેવું પાનું નથી"
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "ચર્ચા"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "%s બનાવે છે"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "%s સુધારે છે"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "તમારા પર પ્રતિબંધ છે."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, perl-format
 msgid "missing %s parameter"
 msgstr "ખોવાયેલ %s વિકલ્પ"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "નવું ફીડ"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "પોસ્ટ"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "નવું"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "જુનું કરે છે %s (%s દિવસો જુનું)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "જુનું કરે છે %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "આના પર બરાબર છે %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "ફીડ %s ચકાસે છે ..."
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "%s પર ફીડ મળી શક્યું નહી"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 msgid "feed not found"
 msgstr "ફીડ મળ્યું નહી"
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, fuzzy, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr "ફીડમાંથી અયોગ્ય રીતે UTF-8 નીકાળેલ છે"
 
-#: ../IkiWiki/Plugin/aggregate.pm:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "ફીડ ભાંગી ગયું XML::Feed!"
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "નવું પાનું %s બનાવે છે"
@@ -221,11 +221,11 @@ msgstr "આ શિર્ષકથી નવું પોસ્ટ ઉમેર
 msgid "nonexistant template %s"
 msgstr "અસ્તિત્વમાં ન હોય તેવું ટેમ્પલેટ %s"
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "ચર્ચા"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "RPC::XML::Client મળ્યું નહી, પિંગ કરવામાં આવતું નથી"
 
@@ -243,16 +243,16 @@ msgstr "%s એ %s દ્વારા તાળું મરાયેલ છે 
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr "Markdown.pm પર્લ મોડ્યુલ (%s) અથવા /usr/bin/markdown (%s) લાવવામાં નિષ્ફળ"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 msgid "stylesheet not found"
 msgstr "સ્ટાઇલશીટ મળ્યું નહી"
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 #, fuzzy
 msgid "redir page not found"
 msgstr "ફીડ મળ્યું નહી"
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 #, fuzzy
 msgid "redir cycle is not allowed"
 msgstr "ફીડ મળ્યું નહી"
@@ -378,15 +378,15 @@ msgstr "મોડા %A સાંજે"
 msgid "%A night"
 msgstr "%A રાત્રે"
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr "ચા ના સમયે %A પર"
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr "મધ્યરાત્રે"
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr "બપોરે %A પર"
 
@@ -498,7 +498,7 @@ msgstr "ખોવાયેલ કિંમતો"
 msgid "code includes disallowed latex commands"
 msgstr ""
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 #, fuzzy
 msgid "failed to generate image from code"
 msgstr "માપ બદલવામાં નિષ્ફળ: %s"
@@ -507,69 +507,51 @@ msgstr "માપ બદલવામાં નિષ્ફળ: %s"
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "getctime અમલમાં મૂકાયેલ નથી"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-#, fuzzy
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr "REV ગોઠવેલ નથી, svn post-commit hook માંથી ચાલતું નથી, નોંધ મોકલી શકાશે નહી"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-#, fuzzy
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr "REV ગોઠવેલ નથી, svn post-commit hook માંથી ચાલતું નથી, નોંધ મોકલી શકાશે નહી"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr "REV ગોઠવેલ નથી, svn post-commit hook માંથી ચાલતું નથી, નોંધ મોકલી શકાશે નહી"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "ખરાબ ફાઇલ નામ છોડી દે છે %s"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "જુનાં પાનાં દૂર કરે છે %s"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "%s શોધે છે"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "રેન્ડર કરે છે %s"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "રેન્ડર કરે છે %s, જે %s સાથે જોડાણ ધરાવે છે"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "રેન્ડર કરે છે %s, જે %s પર આધારિત છે"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr "રેન્ડર કરે છે %s, તેનાં પાછળનાં જોડાણો સુધારવા માટે"
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "દૂર કરે છે %s, હવે %s વડે રેન્ડર કરાતું નથી"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikiwiki: %s રેન્ડર કરી શકાતું નથી"
@@ -597,15 +579,6 @@ msgstr "વીકીને તાજી કરે છે.."
 msgid "done"
 msgstr "સંપૂર્ણ"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "%s નો સુધારો %s નાં %s વડે"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -621,19 +594,19 @@ msgstr "આવરણ ફાઇલનામ સ્પષ્ટ કરેલ ન
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "%s લખવામાં નિષ્ફળ: %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "%s કમ્પાઇલ કરવામાં નિષ્ફળ"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "સફળતાપૂર્વક પેદા કરેલ છે %s"
@@ -642,15 +615,15 @@ msgstr "સફળતાપૂર્વક પેદા કરેલ છે %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "ઉપયોગ: ikiwiki [વિકલ્પો] source dest"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "જ્યારે --cgi ઉપયોગ કરતાં હોય ત્યારે વીકીનું યુઆરએલ સ્પષ્ટ કરવું જ પડશે"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "ક્ષતિ"
 
@@ -658,11 +631,32 @@ msgstr "ક્ષતિ"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "%s પર શોધાયેલ લુપ  %s પર ચલાવે છે %i ઉંડાણ પર"
 
+#, fuzzy
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV ગોઠવેલ નથી, svn post-commit hook માંથી ચાલતું નથી, નોંધ મોકલી શકાશે નહી"
+
+#, fuzzy
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "REV ગોઠવેલ નથી, svn post-commit hook માંથી ચાલતું નથી, નોંધ મોકલી શકાશે નહી"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV ગોઠવેલ નથી, svn post-commit hook માંથી ચાલતું નથી, નોંધ મોકલી શકાશે નહી"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "%s નો સુધારો %s નાં %s વડે"
+
 #~ msgid "%s not found"
 #~ msgstr "ટેમ્પલેટ %s મળ્યું નહી"
 
index 2c08c5aaf1597b3dbc91249daae3b9dca5e80d7b..49c5c7b0ca6ff36db98635f1cc7c667a006cc577 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-01-10 14:54-0500\n"
+"POT-Creation-Date: 2008-01-29 18:30-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,118 +16,118 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 msgid "Preferences"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
-#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
-#: ../IkiWiki/Render.pm:178
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:101
+#: ../IkiWiki/Render.pm:181
 msgid "discussion"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:83
 #, perl-format
 msgid "missing %s parameter"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:111
 msgid "new feed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:125
 msgid "posts"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:127
 msgid "new"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:237
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:244
 #, perl-format
 msgid "expiring %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:270
 #, perl-format
 msgid "processed ok at %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:275
 #, perl-format
 msgid "checking feed %s ..."
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:280
 #, perl-format
 msgid "could not find feed at %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:295
 msgid "feed not found"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:306
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:306
+#: ../IkiWiki/Plugin/aggregate.pm:312
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:318
 msgid "feed crashed XML::Feed!"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:392
 #, perl-format
 msgid "creating new page %s"
 msgstr ""
@@ -146,20 +146,20 @@ msgstr ""
 msgid "%s parameter is required"
 msgstr ""
 
-#: ../IkiWiki/Plugin/edittemplate.pm:40
+#: ../IkiWiki/Plugin/edittemplate.pm:41
 msgid "template not specified"
 msgstr ""
 
-#: ../IkiWiki/Plugin/edittemplate.pm:43
+#: ../IkiWiki/Plugin/edittemplate.pm:44
 msgid "match not specified"
 msgstr ""
 
-#: ../IkiWiki/Plugin/edittemplate.pm:48
+#: ../IkiWiki/Plugin/edittemplate.pm:49
 #, perl-format
 msgid "edittemplate %s registered for %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/edittemplate.pm:110
+#: ../IkiWiki/Plugin/edittemplate.pm:111
 msgid "failed to process"
 msgstr ""
 
@@ -218,11 +218,11 @@ msgstr ""
 msgid "nonexistant template %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:105
 msgid "Discussion"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr ""
 
@@ -240,15 +240,15 @@ msgstr ""
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/meta.pm:124
+#: ../IkiWiki/Plugin/meta.pm:119
 msgid "stylesheet not found"
 msgstr ""
 
-#: ../IkiWiki/Plugin/meta.pm:148
+#: ../IkiWiki/Plugin/meta.pm:143
 msgid "redir page not found"
 msgstr ""
 
-#: ../IkiWiki/Plugin/meta.pm:161
+#: ../IkiWiki/Plugin/meta.pm:156
 msgid "redir cycle is not allowed"
 msgstr ""
 
@@ -372,15 +372,15 @@ msgstr ""
 msgid "%A night"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr ""
 
@@ -499,67 +499,51 @@ msgstr ""
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr ""
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:281 ../IkiWiki/Render.pm:302
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:351
 #, perl-format
 msgid "removing old page %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:392
 #, perl-format
 msgid "scanning %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:397
 #, perl-format
 msgid "rendering %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:418
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:439
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:478
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:490
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:516
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr ""
@@ -587,15 +571,6 @@ msgstr ""
 msgid "done"
 msgstr ""
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr ""
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -611,19 +586,19 @@ msgstr ""
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr ""
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr ""
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr ""
@@ -632,15 +607,15 @@ msgstr ""
 msgid "usage: ikiwiki [options] source dest"
 msgstr ""
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr ""
 
@@ -648,7 +623,7 @@ msgstr ""
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:732
+#: ../IkiWiki.pm:773
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
index a6b08a60741034a687b834bcf1b3033c597850c9..c3b9b0c1d7ad6549bb0da1552fc05a505f2baf4e 100644 (file)
--- 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-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-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"
@@ -16,122 +16,122 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "Proszę najpierw zalogować się."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 "Nieudane logowanie. Proszę sprawdzić czy w przeglądarce włączone są "
 "ciasteczka (ang. cookies)"
 
-#: ../IkiWiki/CGI.pm:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 #, fuzzy
 msgid "Preferences"
 msgstr "Preferencje zapisane."
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "Preferencje zapisane."
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr "Strona %s nie może być edytowana"
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "dyskusja"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "tworzenie %s"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "edycja %s"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "Twój dostęp został zabroniony przez administratora."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, fuzzy, perl-format
 msgid "missing %s parameter"
 msgstr "brakujący parametr %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "nowy kanał RSS"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "wpisy"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "nowy wpis"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "wygasający wpis %s (ma już %s dni)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "wygasający wpis %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "kanał RSS przetworzony w dniu %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "sprawdzanie kanału RSS %s..."
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "nie znaleziono kanału RSS pod adresem %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 #, fuzzy
 msgid "feed not found"
 msgstr "nieznaleziony kanał RSS"
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, 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:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "awaria kanału RSS w module XML::Feed!"
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "tworzenie nowej strony %s"
@@ -229,11 +229,11 @@ msgstr "Tytuł nowego wpisu"
 msgid "nonexistant template %s"
 msgstr "brakujący szablon %s"
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "Dyskusja"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "Nieznaleziony moduł RPC::XML::Client, brak możliwości pingowania"
 
@@ -256,17 +256,17 @@ msgstr ""
 "Awaria w trakcie ładowania perlowego modułu Markdown.pm (%s) lub "
 "uruchamiania programu /usr/bin/markdown (%s)"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 #, fuzzy
 msgid "stylesheet not found"
 msgstr "nieznaleziony szablon ze stylami CSS"
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 #, fuzzy
 msgid "redir page not found"
 msgstr "nieznaleziony kanał RSS"
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 #, fuzzy
 msgid "redir cycle is not allowed"
 msgstr "nieznaleziony kanał RSS"
@@ -392,15 +392,15 @@ msgstr "późnym wieczorem w %A"
 msgid "%A night"
 msgstr "nocą w %A"
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr "w porze śniadaniowej w %A"
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr "o północy"
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr "w południe w %A"
 
@@ -521,7 +521,7 @@ msgstr "brakujące wartości"
 msgid "code includes disallowed latex commands"
 msgstr ""
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 #, fuzzy
 msgid "failed to generate image from code"
 msgstr "awaria w trakcie zmiany rozmiaru: %s"
@@ -530,75 +530,51 @@ msgstr "awaria w trakcie zmiany rozmiaru: %s"
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "niedostępna funkcja getctime"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-#, fuzzy
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"Brak możliwości wysłania powiadomień od Subversion przez \"haczyk\" post-"
-"commit z powodu nieustawionego parametru REV"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-#, fuzzy
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-"Brak możliwości wysłania powiadomień od Subversion przez \"haczyk\" post-"
-"commit z powodu nieustawionego parametru REV"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"Brak możliwości wysłania powiadomień od Subversion przez \"haczyk\" post-"
-"commit z powodu nieustawionego parametru REV"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "pomijanie nieprawidłowej nazwy pliku %s"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "usuwanie starej strony %s"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "skanowanie %s"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "renderowanie %s"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "renderowanie %s z odnośnikiem do %s"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "renderowanie %s zależącego od %s"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr "renderowanie %s w celu aktualizacji powrotnych odnośników"
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "usuwanie %s nie tworzonego już przez %s"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikiwiki: awaria w trakcie tworzenia %s"
@@ -626,15 +602,6 @@ msgstr "odświeżanie wiki..."
 msgid "done"
 msgstr "gotowe"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "aktualizacja stron wiki %s: %s przez użytkownika %s"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -650,19 +617,19 @@ msgstr "nieokreślona nazwa pliku osłony"
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "awaria w trakcie zapisu %s: %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "awaria w trakcie kompilowania %s"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "pomyślnie utworzono %s"
@@ -671,17 +638,17 @@ msgstr "pomyślnie utworzono %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "użycie: ikiwiki [parametry] źródło cel"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Użycie parametru --cgi wymaga podania adresu URL do wiki za pomocą parametru "
 "--url"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "Błąd"
 
@@ -689,11 +656,35 @@ msgstr "Błąd"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "polecenie preprocesora %s wykryte w %s na głębokości %i"
 
+#, fuzzy
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "Brak możliwości wysłania powiadomień od Subversion przez \"haczyk\" post-"
+#~ "commit z powodu nieustawionego parametru REV"
+
+#, fuzzy
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "Brak możliwości wysłania powiadomień od Subversion przez \"haczyk\" post-"
+#~ "commit z powodu nieustawionego parametru REV"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "Brak możliwości wysłania powiadomień od Subversion przez \"haczyk\" post-"
+#~ "commit z powodu nieustawionego parametru REV"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "aktualizacja stron wiki %s: %s przez użytkownika %s"
+
 #, fuzzy
 #~ msgid "%s not found"
 #~ msgstr "nie znaleziono %s"
index 5874415acb1b3c9a39d88cd7c5da6643a588de65..3aa8b312ba810c3aaf7d4a66fe75c2b352e62472 100644 (file)
--- 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-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-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"
@@ -15,120 +15,120 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "Du måste logga in först."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 #, fuzzy
 msgid "Preferences"
 msgstr "Inställningar sparades."
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "Inställningar sparades."
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "diskussion"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "skapar %s"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "redigerar %s"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "Du är bannlyst."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, fuzzy, perl-format
 msgid "missing %s parameter"
 msgstr "mall saknar id-parameter"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "ny kanal"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "inlägg"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "ny"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "låter %s gå ut (%s dagar gammal)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "låter %s gå ut"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "behandlad ok på %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "kontrollerar kanalen %s ..."
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "kunde inte hitta kanalen på %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 #, fuzzy
 msgid "feed not found"
 msgstr "mallen %s hittades inte"
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "kanalen kraschade XML::Feed!"
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "skapar nya sidan %s"
@@ -224,11 +224,11 @@ msgstr ""
 msgid "nonexistant template %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "Diskussion"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "RPC::XML::Client hittades inte, pingar inte"
 
@@ -249,17 +249,17 @@ msgstr ""
 "misslyckades med att läsa in Perl-modulen Markdown.pm (%s) eller /usr/bin/"
 "markdown (%s)"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 #, fuzzy
 msgid "stylesheet not found"
 msgstr "mallen %s hittades inte"
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 #, fuzzy
 msgid "redir page not found"
 msgstr "mallen %s hittades inte"
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 #, fuzzy
 msgid "redir cycle is not allowed"
 msgstr "mallen %s hittades inte"
@@ -384,15 +384,15 @@ msgstr ""
 msgid "%A night"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr ""
 
@@ -512,7 +512,7 @@ msgstr ""
 msgid "code includes disallowed latex commands"
 msgstr ""
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 #, fuzzy
 msgid "failed to generate image from code"
 msgstr "misslyckades med att skriva %s: %s"
@@ -521,75 +521,51 @@ msgstr "misslyckades med att skriva %s: %s"
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "getctime inte implementerad"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-#, fuzzy
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"REV är inte inställt, kör inte från svn post-commit-hook, kan inte skicka "
-"notifieringar"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-#, fuzzy
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-"REV är inte inställt, kör inte från svn post-commit-hook, kan inte skicka "
-"notifieringar"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"REV är inte inställt, kör inte från svn post-commit-hook, kan inte skicka "
-"notifieringar"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "hoppar över felaktigt filnamn %s"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "tar bort gammal sida %s"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "söker av %s"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "ritar upp %s"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "ritar upp %s, vilken länkar till %s"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "ritar upp %s, vilken är beroende av %s"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr "ritar upp %s, för att uppdatera dess bakåtlänkar"
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "tar bort %s, som inte längre ritas upp av %s"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikiwiki: kan inte rita upp %s"
@@ -617,15 +593,6 @@ msgstr "uppdaterar wiki.."
 msgid "done"
 msgstr "klar"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "uppdatering av %s, %s av %s"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -641,19 +608,19 @@ msgstr "filnamn för wrapper har inte angivits"
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "misslyckades med att skriva %s: %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "misslyckades med att kompilera %s"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "generering av %s lyckades"
@@ -662,15 +629,15 @@ msgstr "generering av %s lyckades"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "användning: ikiwiki [flaggor] källa mål"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "Måste ange url till wiki med --url när --cgi används"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "Fel"
 
@@ -678,11 +645,35 @@ msgstr "Fel"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "%s förbehandlingsslinga detekterades på %s, djup %i"
 
+#, fuzzy
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV är inte inställt, kör inte från svn post-commit-hook, kan inte skicka "
+#~ "notifieringar"
+
+#, fuzzy
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "REV är inte inställt, kör inte från svn post-commit-hook, kan inte skicka "
+#~ "notifieringar"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "REV är inte inställt, kör inte från svn post-commit-hook, kan inte skicka "
+#~ "notifieringar"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "uppdatering av %s, %s av %s"
+
 #, fuzzy
 #~ msgid "%s not found"
 #~ msgstr "mallen %s hittades inte"
index 39095259c46d2412a1a0cbc12f406802843da185..248275b0897588d934f516c1122f0b251b936edf 100644 (file)
--- 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-01-09 02:42-0500\n"
+"POT-Creation-Date: 2008-01-29 04:45-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"
@@ -16,120 +16,120 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: LocFactoryEditor 1.6fc1\n"
 
-#: ../IkiWiki/CGI.pm:172
+#: ../IkiWiki/CGI.pm:125
 msgid "You need to log in first."
 msgstr "Trước tiên bạn cần phải đăng nhập."
 
-#: ../IkiWiki/CGI.pm:202
+#: ../IkiWiki/CGI.pm:155
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:231
+#: ../IkiWiki/CGI.pm:184
 msgid "Login"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:232
+#: ../IkiWiki/CGI.pm:185
 #, fuzzy
 msgid "Preferences"
 msgstr "Tùy thích đã được lưu."
 
-#: ../IkiWiki/CGI.pm:233
+#: ../IkiWiki/CGI.pm:186
 msgid "Admin"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:289
+#: ../IkiWiki/CGI.pm:235
 msgid "Preferences saved."
 msgstr "Tùy thích đã được lưu."
 
-#: ../IkiWiki/CGI.pm:345
+#: ../IkiWiki/CGI.pm:291
 #, perl-format
 msgid "%s is not an editable page"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:436 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:239 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:98
 #: ../IkiWiki/Render.pm:178
 msgid "discussion"
 msgstr "thảo luận"
 
-#: ../IkiWiki/CGI.pm:482
+#: ../IkiWiki/CGI.pm:429
 #, perl-format
 msgid "creating %s"
 msgstr "đang tạo %s"
 
-#: ../IkiWiki/CGI.pm:500 ../IkiWiki/CGI.pm:519 ../IkiWiki/CGI.pm:529
-#: ../IkiWiki/CGI.pm:563 ../IkiWiki/CGI.pm:611
+#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
+#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:558
 #, perl-format
 msgid "editing %s"
 msgstr "đang sửa %s"
 
-#: ../IkiWiki/CGI.pm:705
+#: ../IkiWiki/CGI.pm:646
 msgid "You are banned."
 msgstr "Bạn bị cấm ra."
 
-#: ../IkiWiki/Plugin/aggregate.pm:71
+#: ../IkiWiki/Plugin/aggregate.pm:82
 #, fuzzy, perl-format
 msgid "missing %s parameter"
 msgstr "mẫu thiếu tham số id"
 
-#: ../IkiWiki/Plugin/aggregate.pm:99
+#: ../IkiWiki/Plugin/aggregate.pm:110
 msgid "new feed"
 msgstr "nguồn tin mới"
 
-#: ../IkiWiki/Plugin/aggregate.pm:113
+#: ../IkiWiki/Plugin/aggregate.pm:124
 msgid "posts"
 msgstr "bài"
 
-#: ../IkiWiki/Plugin/aggregate.pm:115
+#: ../IkiWiki/Plugin/aggregate.pm:126
 msgid "new"
 msgstr "mới"
 
-#: ../IkiWiki/Plugin/aggregate.pm:231
+#: ../IkiWiki/Plugin/aggregate.pm:236
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr "đang mãn hạn %s (cũ %s ngày)"
 
-#: ../IkiWiki/Plugin/aggregate.pm:238
+#: ../IkiWiki/Plugin/aggregate.pm:243
 #, perl-format
 msgid "expiring %s"
 msgstr "đang mãn hạn %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:264
+#: ../IkiWiki/Plugin/aggregate.pm:269
 #, perl-format
 msgid "processed ok at %s"
 msgstr "đã xử lý được ở %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:269
+#: ../IkiWiki/Plugin/aggregate.pm:274
 #, perl-format
 msgid "checking feed %s ..."
 msgstr "đang kiểm tra nguồn tin %s ..."
 
-#: ../IkiWiki/Plugin/aggregate.pm:274
+#: ../IkiWiki/Plugin/aggregate.pm:279
 #, perl-format
 msgid "could not find feed at %s"
 msgstr "không tìm thấy nguồn tin ở %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:289
+#: ../IkiWiki/Plugin/aggregate.pm:294
 #, fuzzy
 msgid "feed not found"
 msgstr "không tìm thấy mẫu %s"
 
-#: ../IkiWiki/Plugin/aggregate.pm:300
+#: ../IkiWiki/Plugin/aggregate.pm:305
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:306
+#: ../IkiWiki/Plugin/aggregate.pm:311
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:312
+#: ../IkiWiki/Plugin/aggregate.pm:317
 msgid "feed crashed XML::Feed!"
 msgstr "nguồn tin đã gây ra XML::Feed sụp đổ."
 
-#: ../IkiWiki/Plugin/aggregate.pm:386
+#: ../IkiWiki/Plugin/aggregate.pm:391
 #, perl-format
 msgid "creating new page %s"
 msgstr "đang tạo trang mới %s"
@@ -227,11 +227,11 @@ msgstr ""
 msgid "nonexistant template %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:247 ../IkiWiki/Render.pm:102
+#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:102
 msgid "Discussion"
 msgstr "Thảo luận"
 
-#: ../IkiWiki/Plugin/inline.pm:461
+#: ../IkiWiki/Plugin/inline.pm:463
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "Không tìm thấy RPC::XML::Client nên không gửi gói tin ping"
 
@@ -250,17 +250,17 @@ msgstr "%s bị %s khoá nên không thể sửa được"
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr "lỗi nạp mô-đun perl Markdown.pm (%s) hay « /usr/bin/markdown » (%s)"
 
-#: ../IkiWiki/Plugin/meta.pm:132
+#: ../IkiWiki/Plugin/meta.pm:124
 #, fuzzy
 msgid "stylesheet not found"
 msgstr "không tìm thấy mẫu %s"
 
-#: ../IkiWiki/Plugin/meta.pm:156
+#: ../IkiWiki/Plugin/meta.pm:148
 #, fuzzy
 msgid "redir page not found"
 msgstr "không tìm thấy mẫu %s"
 
-#: ../IkiWiki/Plugin/meta.pm:169
+#: ../IkiWiki/Plugin/meta.pm:161
 #, fuzzy
 msgid "redir cycle is not allowed"
 msgstr "không tìm thấy mẫu %s"
@@ -385,15 +385,15 @@ msgstr ""
 msgid "%A night"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:74
+#: ../IkiWiki/Plugin/prettydate.pm:78
 msgid "at teatime on %A"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:78
+#: ../IkiWiki/Plugin/prettydate.pm:82
 msgid "at midnight"
 msgstr ""
 
-#: ../IkiWiki/Plugin/prettydate.pm:81
+#: ../IkiWiki/Plugin/prettydate.pm:85
 msgid "at noon on %A"
 msgstr ""
 
@@ -513,7 +513,7 @@ msgstr ""
 msgid "code includes disallowed latex commands"
 msgstr ""
 
-#: ../IkiWiki/Plugin/teximg.pm:97
+#: ../IkiWiki/Plugin/teximg.pm:96
 #, fuzzy
 msgid "failed to generate image from code"
 msgstr "lỗi ghi %s: %s"
@@ -522,72 +522,51 @@ msgstr "lỗi ghi %s: %s"
 msgid "(not toggleable in preview mode)"
 msgstr ""
 
-#: ../IkiWiki/Rcs/Stub.pm:68
+#: ../IkiWiki/Rcs/Stub.pm:62
 msgid "getctime not implemented"
 msgstr "chưa thực hiện getctime"
 
-#: ../IkiWiki/Rcs/monotone.pm:459
-#, fuzzy
-msgid ""
-"REV is not set, not running from mtn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"Chưa đặt REV, không chạy từ móc sau gài vào nên không thể gửi thông báo"
-
-#: ../IkiWiki/Rcs/monotone.pm:462
-#, fuzzy
-msgid "REV is not a valid revision identifier, cannot send notifications"
-msgstr ""
-"Chưa đặt REV, không chạy từ móc sau gài vào nên không thể gửi thông báo"
-
-#: ../IkiWiki/Rcs/svn.pm:221
-msgid ""
-"REV is not set, not running from svn post-commit hook, cannot send "
-"notifications"
-msgstr ""
-"Chưa đặt REV, không chạy từ móc sau gài vào nên không thể gửi thông báo"
-
-#: ../IkiWiki/Render.pm:275 ../IkiWiki/Render.pm:296
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "đang bỏ qua tên tập tin sai %s"
 
-#: ../IkiWiki/Render.pm:338
+#: ../IkiWiki/Render.pm:339
 #, perl-format
 msgid "removing old page %s"
 msgstr "đang gỡ bỏ trang cũ %s"
 
-#: ../IkiWiki/Render.pm:371
+#: ../IkiWiki/Render.pm:372
 #, perl-format
 msgid "scanning %s"
 msgstr "đang quét %s"
 
-#: ../IkiWiki/Render.pm:376
+#: ../IkiWiki/Render.pm:377
 #, perl-format
 msgid "rendering %s"
 msgstr "đang vẽ %s"
 
-#: ../IkiWiki/Render.pm:388
+#: ../IkiWiki/Render.pm:389
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr "đang vẽ %s mà liên kết tới %s"
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:406
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr "đang vẽ %s mà phụ thuộc vào %s"
 
-#: ../IkiWiki/Render.pm:443
+#: ../IkiWiki/Render.pm:444
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr "đang vẽ %s để cập nhật các liên kết ngược của nó"
 
-#: ../IkiWiki/Render.pm:455
+#: ../IkiWiki/Render.pm:456
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr "đang gỡ bỏ %s, không còn được vẽ lại bởi %s"
 
-#: ../IkiWiki/Render.pm:481
+#: ../IkiWiki/Render.pm:482
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr "ikiwiki: không thể vẽ %s"
@@ -615,15 +594,6 @@ msgstr "đang làm tươi wiki.."
 msgid "done"
 msgstr "xong"
 
-#. translators: The three variables are the name of the wiki,
-#. translators: A list of one or more pages that were changed,
-#. translators: And the name of the user making the change.
-#. translators: This is used as the subject of a commit email.
-#: ../IkiWiki/UserInfo.pm:145
-#, perl-format
-msgid "update of %s's %s by %s"
-msgstr "cập nhật %2$s của %1$s bởi %3$s"
-
 #: ../IkiWiki/Wrapper.pm:16
 #, perl-format
 msgid "%s doesn't seem to be executable"
@@ -639,19 +609,19 @@ msgstr "chưa xác định tên tập tin bộ bao bọc"
 
 #. translators: The first parameter is a filename, and the second is
 #. translators: a (probably not translated) error message.
-#: ../IkiWiki/Wrapper.pm:64
+#: ../IkiWiki/Wrapper.pm:48
 #, perl-format
 msgid "failed to write %s: %s"
 msgstr "lỗi ghi %s: %s"
 
 #. translators: The parameter is a C filename.
-#: ../IkiWiki/Wrapper.pm:115
+#: ../IkiWiki/Wrapper.pm:99
 #, perl-format
 msgid "failed to compile %s"
 msgstr "lỗi biên dịch %s"
 
 #. translators: The parameter is a filename.
-#: ../IkiWiki/Wrapper.pm:135
+#: ../IkiWiki/Wrapper.pm:119
 #, perl-format
 msgid "successfully generated %s"
 msgstr "%s đã được tạo ra"
@@ -660,15 +630,15 @@ msgstr "%s đã được tạo ra"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "cách sử dụng: ikiwiki [tùy chọn] nguồn đích"
 
-#: ../ikiwiki.in:83
+#: ../ikiwiki.in:81
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:129
+#: ../IkiWiki.pm:127
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "Cần phải xác định địa chỉ URL tới wiki với « --url » khi dùng « --cgi »"
 
-#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
+#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
 msgid "Error"
 msgstr "Lỗi"
 
@@ -676,11 +646,32 @@ msgstr "Lỗi"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:722
+#: ../IkiWiki.pm:767
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "vòng lặp tiền xử lý %s được phát hiện trên %s ở độ sâu %i"
 
+#, fuzzy
+#~ msgid ""
+#~ "REV is not set, not running from mtn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "Chưa đặt REV, không chạy từ móc sau gài vào nên không thể gửi thông báo"
+
+#, fuzzy
+#~ msgid "REV is not a valid revision identifier, cannot send notifications"
+#~ msgstr ""
+#~ "Chưa đặt REV, không chạy từ móc sau gài vào nên không thể gửi thông báo"
+
+#~ msgid ""
+#~ "REV is not set, not running from svn post-commit hook, cannot send "
+#~ "notifications"
+#~ msgstr ""
+#~ "Chưa đặt REV, không chạy từ móc sau gài vào nên không thể gửi thông báo"
+
+#~ msgid "update of %s's %s by %s"
+#~ msgstr "cập nhật %2$s của %1$s bởi %3$s"
+
 #, fuzzy
 #~ msgid "%s not found"
 #~ msgstr "không tìm thấy mẫu %s"
index 3a641c6a8b13bbf54365819e63240e24b41971b5..038472967be3670188515982fa31f9b5419eee0c 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 use warnings;
 use strict;
-use Test::More tests => 54;
+use Test::More tests => 52;
 
 BEGIN { use_ok("IkiWiki"); }
 
@@ -67,9 +67,6 @@ ok(! pagespec_match("foo", "creation_day(3)"), "other day");
 
 ok(! pagespec_match("foo", "no_such_function(foo)"), "foo");
 
-ok(pagespec_match("foo", "foo and user(bar)", user => "bar"), "user");
-ok(! pagespec_match("foo", "foo and user(bar)", user => "baz"), "user fail");
-
 my $ret=pagespec_match("foo", "(invalid");
 ok(! $ret, "syntax error");
 ok($ret eq "syntax error", "error message");
diff --git a/t/svn.t b/t/svn.t
index a1878a73d86b3df6e3061b9a2739ee3ec766de46..8a8282c73340b8f8095204f24031a3a7a14534c0 100755 (executable)
--- a/t/svn.t
+++ b/t/svn.t
@@ -21,13 +21,14 @@ BEGIN { use_ok("IkiWiki"); }
 %config=IkiWiki::defaultconfig();
 $config{rcs} = "svn";
 $config{srcdir} = "$dir/src";
-$config{svnrepo} = "$dir/repo";
 $config{svnpath} = "trunk";
 IkiWiki::checkconfig();
 
-system "svnadmin create $config{svnrepo} >/dev/null";
-system "svn mkdir file://$config{svnrepo}/trunk -m add >/dev/null";
-system "svn co file://$config{svnrepo}/trunk $config{srcdir} >/dev/null";
+my $svnrepo = "$dir/repo";
+
+system "svnadmin create $svnrepo >/dev/null";
+system "svn mkdir file://$svnrepo/trunk -m add >/dev/null";
+system "svn co file://$svnrepo/trunk $config{srcdir} >/dev/null";
 
 # Web commit
 my $test1 = readfile("t/test1.mdwn");
diff --git a/templates/change.tmpl b/templates/change.tmpl
new file mode 100644 (file)
index 0000000..16ef08a
--- /dev/null
@@ -0,0 +1,36 @@
+[[meta author="""<TMPL_VAR AUTHOR>"""]]
+<TMPL_IF AUTHORURL>
+[[meta authorurl="""<TMPL_VAR AUTHORURL>"""]]
+</TMPL_IF>
+[[meta title="""update of <TMPL_VAR WIKINAME>'s<TMPL_LOOP NAME="PAGES"> <TMPL_VAR PAGE></TMPL_LOOP>"""]]
+<div class="metadata">
+<span class="desc"><br />Changed pages:</span>
+<span class="pagelinks">
+<TMPL_LOOP NAME="PAGES">
+<TMPL_IF NAME="DIFFURL"><a href="<TMPL_VAR DIFFURL>"><img alt="diff" src="<TMPL_VAR BASEURL>wikiicons/diff.png" /></a><TMPL_VAR LINK>
+<TMPL_ELSE>
+<TMPL_VAR LINK>
+</TMPL_IF>
+</TMPL_LOOP>
+</span>
+<span class="desc"><br />Changed by:</span>
+<span class="committer">
+<TMPL_IF NAME="AUTHORURL">
+<a href="<TMPL_VAR AUTHORURL>"><TMPL_VAR USER></a>
+<TMPL_ELSE>
+<TMPL_VAR USER>
+</TMPL_IF>
+</span>
+<span class="desc"><br />Commit type:</span>
+<span class="committype"><TMPL_VAR COMMITTYPE></span>
+<span class="desc"><br />Date:</span>
+<span class="changedate"><TMPL_VAR COMMITDATE></span>
+</div>
+<div class=changelog>
+<TMPL_LOOP NAME="MESSAGE">
+<TMPL_IF NAME="LINE">
+<TMPL_VAR NAME="LINE" ESCAPE="HTML"><br />
+</TMPL_IF>
+</TMPL_LOOP>
+</div>
+<!-- <TMPL_VAR REV> -->
diff --git a/templates/notifymail.tmpl b/templates/notifymail.tmpl
deleted file mode 100644 (file)
index e3a1dd3..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-The following change was made by <TMPL_VAR USER>:
-
-<TMPL_VAR MESSAGE>
-<TMPL_VAR DIFF>
index e03482f43f6629cfc46ef10edb708e5ddfe7c465..340a157d1c6cfe4579db649ce1be292b603ac703 100644 (file)
@@ -1,71 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<base href="<TMPL_VAR BASEURL>" />
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<title><TMPL_VAR TITLE></title>
-<link rel="stylesheet" href="<TMPL_VAR BASEURL>style.css" type="text/css" />
-<link rel="stylesheet" href="<TMPL_VAR BASEURL>local.css" type="text/css" />
-<TMPL_IF NAME="FAVICON">
-<link rel="icon" href="<TMPL_VAR BASEURL><TMPL_VAR FAVICON>" type="image/x-icon" />
+<TMPL_IF FIRST>
+<div class="recentchanges">
 </TMPL_IF>
-</head>
-<body>
-
-<div class="header">
-<span>
-<TMPL_VAR INDEXLINK>/ <TMPL_VAR TITLE>
-</span>
+<TMPL_VAR CONTENT>
+<TMPL_IF LAST>
 </div>
-
-<div id="content">
-<br />
-<table border="1" frame="border" rules="groups">
-<thead>
-       <tr class="changeheader">
-               <th class="changeheader" align="left">user</th>
-               <th class="changeheader" align="left">time</th>
-               <th class="changeheader" align="left" colspan="2">changes</th>
-       </tr>
-</thead>
-<tbody>
-<TMPL_LOOP NAME="CHANGELOG">
-       <!-- <TMPL_VAR NAME="REV"> -->
-       <tr class="changeinfo">
-               <td class="changeinfo"><TMPL_VAR NAME="USER"></td>
-               <td class="changetime"><TMPL_VAR NAME="WHEN"></td>
-               <td class="changeinfo">
-               <TMPL_LOOP NAME="PAGES">
-                       <TMPL_IF NAME="DIFFURL">
-                               <a href="<TMPL_VAR NAME="DIFFURL">">
-                               <img alt="diff" src="wikiicons/diff.png" />
-                               </a>
-                               <TMPL_VAR NAME="LINK">
-                       <TMPL_ELSE>
-                               <TMPL_VAR NAME="LINK">
-                       </TMPL_IF>
-               </TMPL_LOOP>
-               </td>
-               <td class="changeinfo"><TMPL_VAR NAME="COMMITTYPE"></td>
-       </tr>
-       <tr>
-               <td class="changelog" colspan="4">
-                       <TMPL_LOOP NAME="MESSAGE">
-                               <TMPL_IF NAME="LINE">
-                                       <TMPL_VAR NAME="LINE" ESCAPE="HTML"><br />
-                               </TMPL_IF>
-                       </TMPL_LOOP>
-               </td>
-       </tr>
-</TMPL_LOOP>
-</tbody>
-</table>
-</div>
-
-<div id="footer">
-<!-- from <TMPL_VAR NAME=WIKINAME> -->
-</div>
-
-</body>
-</html>
+</TMPL_IF>
diff --git a/underlays/basewiki/recentchanges.mdwn b/underlays/basewiki/recentchanges.mdwn
new file mode 120000 (symlink)
index 0000000..7bd0396
--- /dev/null
@@ -0,0 +1 @@
+../../doc/recentchanges.mdwn
\ No newline at end of file