Merge branch 'master' into autoconfig
Conflicts: IkiWiki/Plugin/git.pm debian/changelog po/ikiwiki.potmaster
commit
041923a89e
|
@ -414,11 +414,23 @@ sub rcs_commit_staged ($$$) {
|
||||||
$ENV{GIT_AUTHOR_EMAIL}="$u\@web";
|
$ENV{GIT_AUTHOR_EMAIL}="$u\@web";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$message = IkiWiki::possibly_foolish_untaint($message);
|
||||||
|
my @opts;
|
||||||
|
if ($message !~ /\S/) {
|
||||||
|
# Force git to allow empty commit messages.
|
||||||
|
# (If this version of git supports it.)
|
||||||
|
my ($version)=`git --version` =~ /git version (.*)/;
|
||||||
|
if ($version ge "1.5.4") {
|
||||||
|
push @opts, '--cleanup=verbatim';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$message.=".";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
push @opts, '-q';
|
||||||
# git commit returns non-zero if file has not been really changed.
|
# git commit returns non-zero if file has not been really changed.
|
||||||
# so we should ignore its exit status (hence run_or_non).
|
# so we should ignore its exit status (hence run_or_non).
|
||||||
$message = IkiWiki::possibly_foolish_untaint($message);
|
if (run_or_non('git', 'commit', @opts, '-m', $message)) {
|
||||||
if (run_or_non('git', 'commit', '--cleanup=verbatim',
|
|
||||||
'-q', '-m', $message)) {
|
|
||||||
if (length $config{gitorigin_branch}) {
|
if (length $config{gitorigin_branch}) {
|
||||||
run_or_cry('git', 'push', $config{gitorigin_branch});
|
run_or_cry('git', 'push', $config{gitorigin_branch});
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,12 +14,18 @@ ikiwiki (2.60) UNRELEASED; urgency=low
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Mon, 21 Jul 2008 11:35:46 -0400
|
-- Joey Hess <joeyh@debian.org> Mon, 21 Jul 2008 11:35:46 -0400
|
||||||
|
|
||||||
ikiwiki (2.56) UNRELEASED; urgency=low
|
ikiwiki (2.56) unstable; urgency=low
|
||||||
|
|
||||||
* autoindex: New plugin that generates missing index pages.
|
* autoindex: New plugin that generates missing index pages.
|
||||||
(Sponsored by The TOVA Company.)
|
(Sponsored by The TOVA Company.)
|
||||||
|
* Escape HTML is rss and atom feeds instead of respectively using CDATA and
|
||||||
|
treating it as XHTML. This avoids problems with escaping the end of the
|
||||||
|
CDATA when the htmlscrubber is not used, and it avoids problems with atom
|
||||||
|
XHTML using named entity references that are not in the atom DTD. (Simon McVittie)
|
||||||
|
* Add test for old versions of git that don't support --cleanup=verbatim,
|
||||||
|
and munge empty commit messages.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Tue, 29 Jul 2008 15:53:26 -0400
|
-- Joey Hess <joeyh@debian.org> Thu, 31 Jul 2008 19:25:24 -0400
|
||||||
|
|
||||||
ikiwiki (2.55) unstable; urgency=low
|
ikiwiki (2.55) unstable; urgency=low
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
If a blog entry contains a HTML named entity, such as the `—` produced by [[plugins/rst]] for blockquote citations, it's pasted into the Atom feed as-is. However, Atom feeds don't have a DTD, so named entities beyond `<`, `>`, `"`, `&` and `'` aren't well-formed XML.
|
||||||
|
|
||||||
|
Possible solutions:
|
||||||
|
|
||||||
|
* Put HTML in Atom feeds as type="html" (and use ESCAPE=HTML) instead
|
||||||
|
|
||||||
|
> Are there any particular downsides to doing that ..? --[[Joey]]
|
||||||
|
|
||||||
|
>> It's the usual XHTML/HTML distinction. type="html" will always be interpreted as "tag soup", I believe - this may lead to it being rendered differently in some browsers. In general ikiwiki seems to claim to produce XHTML (at least, the default page.tmpl makes it claim to be XHTML Strict). On the other hand, this is a much simpler solution... see escape-feed-html branch in my repository, which I'm now using instead --[[smcv]]
|
||||||
|
|
||||||
|
>>> Of course, browsers [probably don't treat xhtml pages as xhtml anyway](http://hixie.ch/advocacy/xhtml).
|
||||||
|
>>> And the same content will be treated as html (probably as tag soup) if it's
|
||||||
|
>>> in a rss feed.
|
||||||
|
|
||||||
|
>>> [[merged|done]]
|
||||||
|
|
||||||
|
* Keep HTML in Atom feeds as type="xhtml", but replace named entities with numeric ones,
|
||||||
|
like in the re-escape-entities branch in my repository ([diff here](http://git.debian.org/?p=users/smcv/ikiwiki.git;a=commitdiff;h=c0eb041c65d0653bacf0d4acb7a602e9bda8888e))
|
||||||
|
|
||||||
|
>> I can see why you think this is excessively complex! --[[smcv]]
|
||||||
|
|
||||||
|
(Also, the HTML in RSS feeds would probably get better interoperability if it was escaped with ESCAPE=HTML rather than being in a CDATA section?)
|
||||||
|
|
||||||
|
> Can't see why? --[[Joey]]
|
||||||
|
|
||||||
|
>> For a start, `]]>` in content wouldn't break the feed :-) but I was really thinking of non-XML, non-SGML parsers (more tag soup) that don't understand CDATA (I've suffered from CDATA damage when feeding generated code through gtkdoc, for instance). --[[smcv]]
|
||||||
|
|
||||||
|
>>> FWIW, the htmlscrubber escapes the `]]>`. (Wouldn't hurt to make that
|
||||||
|
>>> more robust tho.)
|
||||||
|
>>>
|
||||||
|
>>> ikiwiki has used CDATA from the beginning -- this is the first time
|
||||||
|
>>> I've heard about rss 2.0 parsers that didn't know about CDATA.
|
||||||
|
>>>
|
||||||
|
>>> (IIRC, I used CDATA because the result is more space-efficient and less
|
||||||
|
>>> craptacular to read manually.)
|
|
@ -0,0 +1,3 @@
|
||||||
|
The templates/estseek.conf file can safely be removed now that ikiwiki has switched to using xapian-omega.
|
||||||
|
|
||||||
|
> Thanks for the reminder, [[done]] --[[Joey]]
|
|
@ -1,33 +0,0 @@
|
||||||
ikiwiki 2.51 released with [[!toggle text="these changes"]]
|
|
||||||
[[!toggleable text="""
|
|
||||||
* Improve toplevel parentlink to link directly to index.html when usedirs is
|
|
||||||
disabled.
|
|
||||||
* map: Add a "show" parameter. "show=title" can be used to display page
|
|
||||||
titles, rather than the default page name. Based on a patch from
|
|
||||||
Jaldhar H. Vyas, Closes: #[484510](http://bugs.debian.org/484510)
|
|
||||||
* hnb: New plugin, contributed by Axel Beckert.
|
|
||||||
* meta: Store "description" in pagestate for use by other plugins.
|
|
||||||
* map: Support show=description.
|
|
||||||
* textile: The Text::Textile perl module has some regexps that fail if
|
|
||||||
input is flagged as utf-8, but contains invalid characters such as 0x92.
|
|
||||||
To prevent it from crashing, re-encode the content before calling it,
|
|
||||||
which will ensure that it's really utf-8.
|
|
||||||
* Version the suggests of xapian-omega to a version known to be new enough
|
|
||||||
to work with ikiwiki. Reportedly, version 0.9.9 is too old to work.
|
|
||||||
Closes: #[486592](http://bugs.debian.org/486592)
|
|
||||||
* creole: New plugin from Bernd Zeimetz. Closes: #[486930](http://bugs.debian.org/486930)
|
|
||||||
* aggregate: Add template parameter.
|
|
||||||
* Add support for the universal edit button <http://universaleditbutton.org/>
|
|
||||||
(To get this on all pages of an exiting wiki, rebuild the wiki.)
|
|
||||||
* txt: New plugin, contributed by Gabriel McManus.
|
|
||||||
* smiley: Generate links relative to the destpage. (Fixes a reversion from
|
|
||||||
2.41.)
|
|
||||||
* toc: Revert change in 2.45 that made it run at sanitize time. That broke
|
|
||||||
use of toc in a sidebar.
|
|
||||||
* Call format hooks when generating page previews, thus fixing toc display
|
|
||||||
there, as well as fixing inlins to again display in page previews, since
|
|
||||||
it's started using format hooks. This also allows several other things,
|
|
||||||
like embed, that use format hooks, to work during page preview time.
|
|
||||||
* Format hooks should not rely on getting an entire html document, as they
|
|
||||||
will only get the body during page preview.
|
|
||||||
* toggle: Deal with preview mode when adding javascript."""]]
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
ikiwiki 2.56 released with [[!toggle text="these changes"]]
|
||||||
|
[[!toggleable text="""
|
||||||
|
* autoindex: New plugin that generates missing index pages.
|
||||||
|
(Sponsored by The TOVA Company.)
|
||||||
|
* Escape HTML is rss and atom feeds instead of respectively using CDATA and
|
||||||
|
treating it as XHTML. This avoids problems with escaping the end of the
|
||||||
|
CDATA when the htmlscrubber is not used, and it avoids problems with atom
|
||||||
|
XHTML using named entity references that are not in the atom DTD. (Simon McVittie)
|
||||||
|
* Add test for old versions of git that don't support --cleanup=verbatim,
|
||||||
|
and munge empty commit messages."""]]
|
|
@ -2,6 +2,6 @@
|
||||||
[[!tag type/useful]]
|
[[!tag type/useful]]
|
||||||
|
|
||||||
This plugin searches for [[SubPages|ikiwiki/subpage]] with a missing parent
|
This plugin searches for [[SubPages|ikiwiki/subpage]] with a missing parent
|
||||||
page, and generates a parent page for them. The generated page content is
|
page, and generates the parent pages. The generated page content is
|
||||||
controlled by the autoindex [[template|wikitemplates]], which by default,
|
controlled by the `autoindex.tmpl` [[template|wikitemplates]], which by
|
||||||
uses a [[map]] to list the SubPages.
|
default, uses a [[map]] to list the SubPages.
|
||||||
|
|
|
@ -3,9 +3,36 @@
|
||||||
|
|
||||||
This plugin authenticates users against the Unix user database. It presents a similar UI to [[plugins/passwordauth]], but simpler, as there's no need to be able to register or change one's password.
|
This plugin authenticates users against the Unix user database. It presents a similar UI to [[plugins/passwordauth]], but simpler, as there's no need to be able to register or change one's password.
|
||||||
|
|
||||||
[pwauth](http://www.unixpapa.com/pwauth/) must be installed and working. In particular, it must be configured to recognize the UID of the calling web server, or authentication will always fail. Set `pwauth_path` to the full path of your pwauth binary.
|
To authenticate, either [checkpassword](http://cr.yp.to/checkpwd.html) or [pwauth](http://www.unixpapa.com/pwauth/) must be installed and configured. `checkpassword` is strongly preferred. If your web server runs as an unprivileged user -- as it darn well should! -- then `checkpassword` needs to be setuid root. (Or your ikiwiki CGI wrapper, I guess, but don't do that.) Other checkpassword implementations are available, notably [checkpassword-pam](http://checkpasswd-pam.sourceforge.net/).
|
||||||
|
|
||||||
As [with passwordauth](/security/#index14h2), be wary of sending usernames and passwords in cleartext. Unlike with passwordauth, sniffing these credentials can get an attacker much further than mere wiki access. SSL with this plugin is a __must__.
|
Config variables that affect the behavior of `unixauth`:
|
||||||
|
|
||||||
|
* `unixauth_type`: defaults to unset, can be "checkpassword" or "pwauth"
|
||||||
|
* `unixauth_command`: defaults to unset, should contain the full path and any arguments
|
||||||
|
* `unixauth_requiressl`: defaults to 1, can be 0
|
||||||
|
* `sslcookie`: needs to be 1 if `unixauth_requiressl` is 1 (perhaps this should be done automatically?)
|
||||||
|
|
||||||
|
__Security__: [As with passwordauth](/security/#index14h2), be wary of sending usernames and passwords in cleartext. Unlike passwordauth, sniffing `unixauth` credentials can get an attacker much further than mere wiki access. Therefore, this plugin defaults to not even _displaying_ the login form fields unless we're running under SSL. Nobody should be able to do anything remotely dumb until the admin has done at least a little thinking. After that, dumb things are always possible. ;-)
|
||||||
|
|
||||||
|
`unixauth` tests for the presence of the `HTTPS` environment variable. `Wrapper.pm` needs to be tweaked to pass it through; without that, the plugin fails closed.
|
||||||
|
|
||||||
|
[[!toggle id="diff" text="Wrapper.pm.diff"]]
|
||||||
|
|
||||||
|
[[!toggleable id="diff" text="""
|
||||||
|
|
||||||
|
--- Wrapper.pm.orig 2008-07-29 00:09:10.000000000 -0400
|
||||||
|
+++ Wrapper.pm
|
||||||
|
@@ -28,7 +28,7 @@ sub gen_wrapper () { #{{{
|
||||||
|
my @envsave;
|
||||||
|
push @envsave, qw{REMOTE_ADDR QUERY_STRING REQUEST_METHOD REQUEST_URI
|
||||||
|
CONTENT_TYPE CONTENT_LENGTH GATEWAY_INTERFACE
|
||||||
|
- HTTP_COOKIE REMOTE_USER} if $config{cgi};
|
||||||
|
+ HTTP_COOKIE REMOTE_USER HTTPS} if $config{cgi};
|
||||||
|
my $envsave="";
|
||||||
|
foreach my $var (@envsave) {
|
||||||
|
$envsave.=<<"EOF"
|
||||||
|
|
||||||
|
"""]]
|
||||||
|
|
||||||
[[!toggle id="code" text="unixauth.pm"]]
|
[[!toggle id="code" text="unixauth.pm"]]
|
||||||
|
|
||||||
|
@ -40,13 +67,26 @@ As [with passwordauth](/security/#index14h2), be wary of sending usernames and p
|
||||||
}
|
}
|
||||||
|
|
||||||
my $ret=0;
|
my $ret=0;
|
||||||
if (! exists $config{pwauth_path}) {
|
if (! exists $config{unixauth_type}) {
|
||||||
$config{pwauth_path}="/usr/libexec/pwauth";
|
# admin needs to carefully think over his configuration
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
elsif ($config{unixauth_type} eq "checkpassword") {
|
||||||
|
open UNIXAUTH, "|$config{unixauth_command} true 3<&0" or die("Could not run $config{unixauth_type}");
|
||||||
|
print UNIXAUTH "$user\0$password\0Y123456\0";
|
||||||
|
close UNIXAUTH;
|
||||||
|
$ret=!($?>>8);
|
||||||
|
}
|
||||||
|
elsif ($config{unixauth_type} eq "pwauth") {
|
||||||
|
open UNIXAUTH, "|$config{unixauth_command}" or die("Could not run $config{unixauth_type}");
|
||||||
|
print UNIXAUTH "$user\n$password\n";
|
||||||
|
close UNIXAUTH;
|
||||||
|
$ret=!($?>>8);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
# no such authentication type
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
open PWAUTH, "|$config{pwauth_path}" or die("Could not run pwauth");
|
|
||||||
print PWAUTH "$user\n$password\n";
|
|
||||||
close PWAUTH;
|
|
||||||
$ret=!($?>>8);
|
|
||||||
|
|
||||||
if ($ret) {
|
if ($ret) {
|
||||||
my $userinfo=IkiWiki::userinfo_retrieve();
|
my $userinfo=IkiWiki::userinfo_retrieve();
|
||||||
|
@ -69,6 +109,17 @@ As [with passwordauth](/security/#index14h2), be wary of sending usernames and p
|
||||||
my $session=$params{session};
|
my $session=$params{session};
|
||||||
my $cgi=$params{cgi};
|
my $cgi=$params{cgi};
|
||||||
|
|
||||||
|
# if not under SSL, die before even showing a login form,
|
||||||
|
# unless the admin explicitly says it's fine
|
||||||
|
if (! exists $config{unixauth_requiressl}) {
|
||||||
|
$config{unixauth_requiressl} = 1;
|
||||||
|
}
|
||||||
|
if ($config{unixauth_requiressl}) {
|
||||||
|
if ((! $config{sslcookie}) || (! exists $ENV{'HTTPS'})) {
|
||||||
|
die("SSL required to login. Contact your administrator.<br>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($form->title eq "signin") {
|
if ($form->title eq "signin") {
|
||||||
$form->field(name => "name", required => 0);
|
$form->field(name => "name", required => 0);
|
||||||
$form->field(name => "password", type => "password", required => 0);
|
$form->field(name => "password", type => "password", required => 0);
|
||||||
|
@ -93,6 +144,7 @@ As [with passwordauth](/security/#index14h2), be wary of sending usernames and p
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# XXX is this reachable? looks like no
|
||||||
elsif ($submittype eq "Login") {
|
elsif ($submittype eq "Login") {
|
||||||
$form->field(
|
$form->field(
|
||||||
name => "name",
|
name => "name",
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
The security of this plugin scares me. As noted in the plugin
|
||||||
|
documentation, you basically have to use it with SSL, since snooping on the
|
||||||
|
login password doesn't give you an essentially useless account -- it gives
|
||||||
|
you an actual account on the machine!
|
||||||
|
|
||||||
|
Also, apparently pwauth defers *all* auth attempts if one fails, and it
|
||||||
|
does this by using a lock file, and sleeping after a failed auth attempt.
|
||||||
|
Which is needed to avoid brute-forcing, since this is a significant
|
||||||
|
password.. but how will that interact with ikiwiki? Well, ikiwiki _also_
|
||||||
|
uses a lock file. So, at a minimum, someone can not only try to brute-force
|
||||||
|
the pwauth password, but the ikiwiki processes that stack up due to that
|
||||||
|
will also keep ikiwiki's lock held. Which basically DOSes the wiki for
|
||||||
|
everyone else; noone else can try to log in, or log out, or edit a page,
|
||||||
|
all of which require taking the lock.
|
||||||
|
|
||||||
|
So I don't think I'll be accepting this plugin into ikiwiki itself..
|
||||||
|
--[[Joey]]
|
||||||
|
|
||||||
|
Thanks for the comments. That's definitely an undesirable interaction between pwauth and ikiwiki; in my current application it wouldn't be a serious problem, but I'd like this plugin to be general-purpose and safe enough for inclusion in ikiwiki. It's the system-users-are-wiki-users idea I'm married to here, not pwauth itself; can you suggest another approach I might take?
|
||||||
|
-- [[schmonz]]
|
||||||
|
|
||||||
|
> Have you considered using [[plugins/httpauth]] and then the appropriate apache module? There are apache modules like [mod_authnz_external](http://unixpapa.com/mod_auth_external.html) that might help. The advantage of these solutions is that they usually make the security implications explicit. -- Will
|
||||||
|
|
||||||
|
Actually, yes. That's how I made sure I had pwauth working to begin with. I'm partial to the form-based approach because I'm not aware of any way to reliably "log out" browsers from HTTP authentication. If that *is* reliably possible, then I worked way too hard for no reason. ;-)
|
||||||
|
-- [[schmonz]]
|
||||||
|
|
||||||
|
I've added support for [checkpassword](http://cr.yp.to/checkpwd/interface.html), since those generally don't have any rate-limiting cleverness to interfere with ikiwiki's, and made a few other changes. Please check out the plugin docs again and let me know if this is closer to being acceptable.
|
||||||
|
-- [[schmonz]]
|
||||||
|
|
||||||
|
> I actually think that the rate limiting is a good thing. After all,
|
||||||
|
> ikiwiki doesn't do its own login rate limiting. Just need to find a way
|
||||||
|
> to disentangle the two locks. --[[Joey]]
|
|
@ -12,5 +12,5 @@ wiki markup formats, so should be fairly easy to guess at. There is also a
|
||||||
[CheatSheet](http://www.wikicreole.org/wiki/CheatSheet).
|
[CheatSheet](http://www.wikicreole.org/wiki/CheatSheet).
|
||||||
|
|
||||||
Links are standard [[WikiLinks|ikiwiki/WikiLink]]. Links and
|
Links are standard [[WikiLinks|ikiwiki/WikiLink]]. Links and
|
||||||
[[PreProcessorDirectives]] inside `{{{ }}}` blocks are still expanded,
|
[[ikiwiki/PreProcessorDirectives]] inside `{{{ }}}` blocks are still expanded,
|
||||||
since this happens before the creole format is processed.
|
since this happens before the creole format is processed.
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
I've installed Text::WikiCreole 0.05 and enabled the plugin, but I get an error when rebuilding the wiki: `Undefined subroutine &IkiWiki::Plugin::creole::creole_custombarelinks called at /usr/pkg-20080723/lib/perl5/vendor_perl/5.8.0/IkiWiki/Plugin/creole.pm line 23`. Is there a newer Text::WikiCreole I'm not finding online?
|
||||||
|
-- [[schmonz]]
|
||||||
|
|
||||||
|
> There's a patch in the debian package of libtext-wikicreole-perl that
|
||||||
|
> adds that option. I'm not sure what the status of it being released
|
||||||
|
> upstream is, though IIRC I was assured it would not be a problem.
|
||||||
|
> --[[Joey]]
|
|
@ -128,26 +128,34 @@ of a plugin.
|
||||||
|
|
||||||
hook(type => "preprocess", id => "foo", call => \&preprocess);
|
hook(type => "preprocess", id => "foo", call => \&preprocess);
|
||||||
|
|
||||||
Replace "foo" with the command name that will be used inside brackets for
|
Replace "foo" with the command name that will be used for the preprocessor
|
||||||
the preprocessor directive.
|
|
||||||
|
|
||||||
Each time the directive is processed, the referenced function (`preprocess`
|
|
||||||
in the example above) is called, and is passed named parameters. A "page"
|
|
||||||
parameter gives the name of the page that embedded the preprocessor
|
|
||||||
directive, while a "destpage" parameter gives the name of the page the
|
|
||||||
content is going to (different for inlined pages), and a "preview"
|
|
||||||
parameter is set to a true value if the page is being previewed. All
|
|
||||||
parameters included in the directive are included as named parameters as
|
|
||||||
well. Whatever the function returns goes onto the page in place of the
|
|
||||||
directive.
|
directive.
|
||||||
|
|
||||||
An optional "scan" parameter, if set to a true value, makes the hook be
|
Each time the directive is processed, the referenced function (`preprocess`
|
||||||
called during the preliminary scan that ikiwiki makes of updated pages,
|
in the example above) is called. Whatever the function returns goes onto
|
||||||
before begining to render pages. This parameter should be set to true if
|
the page in place of the directive. Or, if the function aborts using
|
||||||
the hook modifies data in `%links`. Note that doing so will make the hook
|
`error()`, the directive will be replaced with the error message.
|
||||||
be run twice per page build, so avoid doing it for expensive hooks. (As an
|
|
||||||
optimisation, if your preprocessor hook is called in a void contets, you
|
The function is passed named parameters. First come the parameters set
|
||||||
can assume it's being run in scan mode.)
|
in the preprocessor directive. These are passed in the same order as
|
||||||
|
they're in the directive, and if the preprocessor directive contains a bare
|
||||||
|
parameter (example: `\[[!foo param]]`), that parameter will be passed with
|
||||||
|
an empty value.
|
||||||
|
|
||||||
|
After the parameters from the preprocessor directive some additional ones
|
||||||
|
are passed: A "page" parameter gives the name of the page that embedded the
|
||||||
|
preprocessor directive, while a "destpage" parameter gives the name of the
|
||||||
|
page the content is going to (different for inlined pages), and a "preview"
|
||||||
|
parameter is set to a true value if the page is being previewed.
|
||||||
|
|
||||||
|
If `hook` is passed an optional "scan" parameter, set to a true value, this
|
||||||
|
makes the hook be called during the preliminary scan that ikiwiki makes of
|
||||||
|
updated pages, before begining to render pages. This should be done if the
|
||||||
|
hook modifies data in `%links`. Note that doing so will make the hook be
|
||||||
|
run twice per page build, so avoid doing it for expensive hooks. (As an
|
||||||
|
optimisation, if your preprocessor hook is called in a void context, you
|
||||||
|
can assume it's being run in scan mode, and avoid doing expensive things at
|
||||||
|
that point.)
|
||||||
|
|
||||||
Note that if the [[htmlscrubber]] is enabled, html in
|
Note that if the [[htmlscrubber]] is enabled, html in
|
||||||
[[ikiwiki/PreProcessorDirective]] output is sanitised, which may limit what
|
[[ikiwiki/PreProcessorDirective]] output is sanitised, which may limit what
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[[!teximg code="E = - \frac{Z^2 \cdot \mu \cdot e^4}{32\pi^2 \epsilon_0^2 \hbar^2 n^2}" ]]
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Title with $\TeX$
|
||||||
|
|
||||||
|
* How about some math?
|
||||||
|
* $\frac{1}{2} = \frac{3}{6}$
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
The new [[plugins/rename]] plugin allows files to be renamed, but doesn't seem to allow changing the page type. It would be nice if there was a way to change page type through the web interface.
|
||||||
|
|
||||||
|
#### Background
|
||||||
|
|
||||||
|
I'm currently moving a couple of projects from [Trac](http://trac.edgewall.org/) to Ikiwiki. I don't want to have to re-do all the wiki formatting at once. Initially I simply imported all the old wiki pages without suffixes. This made them appear on the web as raw un-editable text. I wanted other project members to be able to do the updating to the new markup language, so I then renamed the files to use '.txt' suffixes, and that allows them to be edited. Unfortunately, there is still no way to convert them to '.mdwn' files on the web.
|
||||||
|
|
||||||
|
I was hoping that the [[plugins/rename]] plugin would allow web uses to change the filename suffix, but it doesn't. This means that the page type can be set on page creation using the web interface, but cannot be changed thereafter using the web interface. I was thinking the UI would be something like adding the 'Page type' drop-down menu that appears on the creation page to either the edit or rename pages.
|
|
@ -58,6 +58,11 @@ comments are very welcome. --[[Paweł|ptecza]]
|
||||||
>> Similar hardcoded method I've found in `img` plugin :) But only one
|
>> Similar hardcoded method I've found in `img` plugin :) But only one
|
||||||
>> argument is not named there (image path).
|
>> argument is not named there (image path).
|
||||||
|
|
||||||
|
>>> I think I hadn't realized what you were doing there. The order
|
||||||
|
>>> for unnamed parameters can in fact be relied on.
|
||||||
|
>>>
|
||||||
|
>>> --[[Joey]]
|
||||||
|
|
||||||
>> Maybe I shouldn't use so simple plugin syntax? For following syntax
|
>> Maybe I shouldn't use so simple plugin syntax? For following syntax
|
||||||
>> I wouldn't have that problem:
|
>> I wouldn't have that problem:
|
||||||
|
|
||||||
|
@ -96,6 +101,8 @@ seems to be too enigmatic and it was hard to me to handle unnamed parameters
|
||||||
in not hardcoded way. I hope that my changes are acceptable for you.
|
in not hardcoded way. I hope that my changes are acceptable for you.
|
||||||
Of course, I'm open for discussion or exchange of ideas :) --[[Paweł|ptecza]]
|
Of course, I'm open for discussion or exchange of ideas :) --[[Paweł|ptecza]]
|
||||||
|
|
||||||
|
> One question, why the 2px padding for span.color? --[[Joey]]
|
||||||
|
|
||||||
--- /dev/null 2008-06-21 02:02:15.000000000 +0200
|
--- /dev/null 2008-06-21 02:02:15.000000000 +0200
|
||||||
+++ color.pm 2008-07-27 14:58:12.000000000 +0200
|
+++ color.pm 2008-07-27 14:58:12.000000000 +0200
|
||||||
@@ -0,0 +1,69 @@
|
@@ -0,0 +1,69 @@
|
||||||
|
@ -146,7 +153,7 @@ Of course, I'm open for discussion or exchange of ideas :) --[[Paweł|ptecza]]
|
||||||
+ $content =~ s!<span class="color">((color: ([a-z]+|\#[0-9a-f]{3,6})?)?((; )?(background-color: ([a-z]+|\#[0-9a-f]{3,6})?)?)?)</span>!<span class="color" style="$1">!g;
|
+ $content =~ s!<span class="color">((color: ([a-z]+|\#[0-9a-f]{3,6})?)?((; )?(background-color: ([a-z]+|\#[0-9a-f]{3,6})?)?)?)</span>!<span class="color" style="$1">!g;
|
||||||
+ $content =~ s!<span class="colorend">!!g;
|
+ $content =~ s!<span class="colorend">!!g;
|
||||||
+
|
+
|
||||||
+ return $content;
|
+ return $content;
|
||||||
+} #}}}
|
+} #}}}
|
||||||
+
|
+
|
||||||
+sub preprocess(@) { #{{{
|
+sub preprocess(@) { #{{{
|
||||||
|
|
|
@ -2,11 +2,9 @@ I'd like to be able to drop an unmodified RFC2822 email message into ikiwiki, an
|
||||||
|
|
||||||
> We're discussing doing just that (well, whole mailboxes, really) over in
|
> We're discussing doing just that (well, whole mailboxes, really) over in
|
||||||
> [[comment_by_mail]] --[[Joey]]
|
> [[comment_by_mail]] --[[Joey]]
|
||||||
|
>> If you like to read code, you can have a gander at the
|
||||||
>> I am going to start putting something simple together, but
|
>> [mailbox](http://pivot.cs.unb.ca/git/?p=ikimailbox.git;a=summary)
|
||||||
>> probably not too quickly.
|
>> plugin. At the moment, it reads all of the messages in a maildir and passes them through
|
||||||
>> So far I don't see a way to have ikiwiki process directories
|
>> a template of your choice. Kinda acts like `cat` at the moment because none of the
|
||||||
>> (i.e. maildirs or mh folders) as a single page. This not that
|
>> css is defined yet. Next missions are threading (Email::Thread?), and maybe some simple css.
|
||||||
>> big of a deal, but it means that every mailbox will need
|
>> To see the (unsurprising) syntax, look at [a trivial example markdown file](http://pivot.cs.unb.ca/git/?p=ikimailbox.git;a=blob;f=test/in/index.mdwn;hb=HEAD)
|
||||||
>> something like \[[!mailbox type=maildir path=thedir]] in some
|
|
||||||
>> "normal" (e.g. markdown) page -- [[DavidBremner]]
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
The [[plugin/search]] plugin could use xapian terms to allow some special
|
The [[plugins/search]] plugin could use xapian terms to allow some special
|
||||||
searches. For example, "title:foo", or "link:somepage", or "author:foo", or
|
searches. For example, "title:foo", or "link:somepage", or "author:foo", or
|
||||||
"copyright:GPL".
|
"copyright:GPL".
|
||||||
|
|
||||||
|
|
168
po/ikiwiki.pot
168
po/ikiwiki.pot
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2008-07-27 01:52-0400\n"
|
"POT-Creation-Date: 2008-07-31 19:25-0400\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -50,7 +50,7 @@ msgid "%s is not an editable page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/CGI.pm:437 ../IkiWiki/Plugin/brokenlinks.pm:24
|
#: ../IkiWiki/CGI.pm:437 ../IkiWiki/Plugin/brokenlinks.pm:24
|
||||||
#: ../IkiWiki/Plugin/inline.pm:306 ../IkiWiki/Plugin/opendiscussion.pm:17
|
#: ../IkiWiki/Plugin/inline.pm:261 ../IkiWiki/Plugin/opendiscussion.pm:17
|
||||||
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:78
|
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:78
|
||||||
#: ../IkiWiki/Render.pm:148
|
#: ../IkiWiki/Render.pm:148
|
||||||
msgid "discussion"
|
msgid "discussion"
|
||||||
|
@ -71,125 +71,129 @@ msgstr ""
|
||||||
msgid "You are banned."
|
msgid "You are banned."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/CGI.pm:758 ../IkiWiki/CGI.pm:759 ../IkiWiki.pm:1086
|
#: ../IkiWiki/CGI.pm:758 ../IkiWiki/CGI.pm:759 ../IkiWiki.pm:785
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:76
|
#: ../IkiWiki/Plugin/aggregate.pm:57
|
||||||
msgid "Aggregation triggered via web."
|
msgid "Aggregation triggered via web."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:85
|
#: ../IkiWiki/Plugin/aggregate.pm:66
|
||||||
msgid "Nothing to do right now, all feeds are up-to-date!"
|
msgid "Nothing to do right now, all feeds are up-to-date!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:212
|
#: ../IkiWiki/Plugin/aggregate.pm:193
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "missing %s parameter"
|
msgid "missing %s parameter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:246
|
#: ../IkiWiki/Plugin/aggregate.pm:227
|
||||||
msgid "new feed"
|
msgid "new feed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:260
|
#: ../IkiWiki/Plugin/aggregate.pm:241
|
||||||
msgid "posts"
|
msgid "posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:262
|
#: ../IkiWiki/Plugin/aggregate.pm:243
|
||||||
msgid "new"
|
msgid "new"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:425
|
#: ../IkiWiki/Plugin/aggregate.pm:406
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "expiring %s (%s days old)"
|
msgid "expiring %s (%s days old)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:432
|
#: ../IkiWiki/Plugin/aggregate.pm:413
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "expiring %s"
|
msgid "expiring %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:459
|
#: ../IkiWiki/Plugin/aggregate.pm:440
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "processed ok at %s"
|
msgid "processed ok at %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:463
|
#: ../IkiWiki/Plugin/aggregate.pm:444
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "checking feed %s ..."
|
msgid "checking feed %s ..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:468
|
#: ../IkiWiki/Plugin/aggregate.pm:449
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "could not find feed at %s"
|
msgid "could not find feed at %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:483
|
#: ../IkiWiki/Plugin/aggregate.pm:464
|
||||||
msgid "feed not found"
|
msgid "feed not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:494
|
#: ../IkiWiki/Plugin/aggregate.pm:475
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "(invalid UTF-8 stripped from feed)"
|
msgid "(invalid UTF-8 stripped from feed)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:500
|
#: ../IkiWiki/Plugin/aggregate.pm:481
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "(feed entities escaped)"
|
msgid "(feed entities escaped)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:506
|
#: ../IkiWiki/Plugin/aggregate.pm:487
|
||||||
msgid "feed crashed XML::Feed!"
|
msgid "feed crashed XML::Feed!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/aggregate.pm:580
|
#: ../IkiWiki/Plugin/aggregate.pm:561
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "creating new page %s"
|
msgid "creating new page %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/amazon_s3.pm:31
|
#: ../IkiWiki/Plugin/amazon_s3.pm:30
|
||||||
msgid "deleting bucket.."
|
msgid "deleting bucket.."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:193
|
#: ../IkiWiki/Plugin/amazon_s3.pm:37 ../IkiWiki/Setup.pm:117
|
||||||
msgid "done"
|
msgid "done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/amazon_s3.pm:93
|
#: ../IkiWiki/Plugin/amazon_s3.pm:46
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "Must specify %s"
|
msgid "Must specify %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/amazon_s3.pm:132
|
#: ../IkiWiki/Plugin/amazon_s3.pm:85
|
||||||
msgid "Failed to create bucket in S3: "
|
msgid "Failed to create bucket in S3: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/amazon_s3.pm:217
|
#: ../IkiWiki/Plugin/amazon_s3.pm:170
|
||||||
msgid "Failed to save file to S3: "
|
msgid "Failed to save file to S3: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/amazon_s3.pm:239
|
#: ../IkiWiki/Plugin/amazon_s3.pm:192
|
||||||
msgid "Failed to delete file from S3: "
|
msgid "Failed to delete file from S3: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/attachment.pm:34
|
#: ../IkiWiki/Plugin/attachment.pm:22
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "there is already a page named %s"
|
msgid "there is already a page named %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/attachment.pm:53
|
#: ../IkiWiki/Plugin/attachment.pm:41
|
||||||
msgid "prohibited by allowed_attachments"
|
msgid "prohibited by allowed_attachments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/attachment.pm:156
|
#: ../IkiWiki/Plugin/attachment.pm:144
|
||||||
msgid "bad attachment filename"
|
msgid "bad attachment filename"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/attachment.pm:198
|
#: ../IkiWiki/Plugin/attachment.pm:186
|
||||||
msgid "attachment upload"
|
msgid "attachment upload"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../IkiWiki/Plugin/autoindex.pm:65
|
||||||
|
msgid "automatic index generation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/brokenlinks.pm:40
|
#: ../IkiWiki/Plugin/brokenlinks.pm:40
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "%s from %s"
|
msgid "%s from %s"
|
||||||
|
@ -273,33 +277,33 @@ msgstr ""
|
||||||
msgid "failed to determine size of image %s"
|
msgid "failed to determine size of image %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/inline.pm:89
|
#: ../IkiWiki/Plugin/inline.pm:47
|
||||||
msgid "Must specify url to wiki with --url when using --rss or --atom"
|
msgid "Must specify url to wiki with --url when using --rss or --atom"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/inline.pm:146
|
#: ../IkiWiki/Plugin/inline.pm:101
|
||||||
msgid "missing pages parameter"
|
msgid "missing pages parameter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/inline.pm:194
|
#: ../IkiWiki/Plugin/inline.pm:149
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "unknown sort type %s"
|
msgid "unknown sort type %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/inline.pm:265
|
#: ../IkiWiki/Plugin/inline.pm:220
|
||||||
msgid "Add a new post titled:"
|
msgid "Add a new post titled:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/inline.pm:281
|
#: ../IkiWiki/Plugin/inline.pm:236
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "nonexistant template %s"
|
msgid "nonexistant template %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/inline.pm:314 ../IkiWiki/Render.pm:82
|
#: ../IkiWiki/Plugin/inline.pm:269 ../IkiWiki/Render.pm:82
|
||||||
msgid "Discussion"
|
msgid "Discussion"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/inline.pm:551
|
#: ../IkiWiki/Plugin/inline.pm:506
|
||||||
msgid "RPC::XML::Client not found, not pinging"
|
msgid "RPC::XML::Client not found, not pinging"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -312,11 +316,11 @@ msgstr ""
|
||||||
msgid "%s is locked by %s and cannot be edited"
|
msgid "%s is locked by %s and cannot be edited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/mdwn.pm:40
|
#: ../IkiWiki/Plugin/mdwn.pm:28
|
||||||
msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
|
msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/mdwn.pm:63
|
#: ../IkiWiki/Plugin/mdwn.pm:51
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
|
msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -333,11 +337,11 @@ msgstr ""
|
||||||
msgid "redir cycle is not allowed"
|
msgid "redir cycle is not allowed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/mirrorlist.pm:35
|
#: ../IkiWiki/Plugin/mirrorlist.pm:23
|
||||||
msgid "Mirrors"
|
msgid "Mirrors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/mirrorlist.pm:35
|
#: ../IkiWiki/Plugin/mirrorlist.pm:23
|
||||||
msgid "Mirror"
|
msgid "Mirror"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -345,15 +349,11 @@ msgstr ""
|
||||||
msgid "more"
|
msgid "more"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/norcs.pm:55
|
#: ../IkiWiki/Plugin/openid.pm:45
|
||||||
msgid "getctime not implemented"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/openid.pm:57
|
|
||||||
msgid "Log in with"
|
msgid "Log in with"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/openid.pm:60
|
#: ../IkiWiki/Plugin/openid.pm:48
|
||||||
msgid "Get an OpenID"
|
msgid "Get an OpenID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -365,31 +365,31 @@ msgstr ""
|
||||||
msgid "bad or missing template"
|
msgid "bad or missing template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/passwordauth.pm:243
|
#: ../IkiWiki/Plugin/passwordauth.pm:223
|
||||||
msgid "Account creation successful. Now you can Login."
|
msgid "Account creation successful. Now you can Login."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/passwordauth.pm:246
|
#: ../IkiWiki/Plugin/passwordauth.pm:226
|
||||||
msgid "Error creating account."
|
msgid "Error creating account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/passwordauth.pm:253
|
#: ../IkiWiki/Plugin/passwordauth.pm:233
|
||||||
msgid "No email address, so cannot email password reset instructions."
|
msgid "No email address, so cannot email password reset instructions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/passwordauth.pm:287
|
#: ../IkiWiki/Plugin/passwordauth.pm:265
|
||||||
msgid "Failed to send mail"
|
msgid "Failed to send mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/passwordauth.pm:289
|
#: ../IkiWiki/Plugin/passwordauth.pm:267
|
||||||
msgid "You have been mailed password reset instructions."
|
msgid "You have been mailed password reset instructions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/passwordauth.pm:324
|
#: ../IkiWiki/Plugin/passwordauth.pm:302
|
||||||
msgid "incorrect password reset url"
|
msgid "incorrect password reset url"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/passwordauth.pm:327
|
#: ../IkiWiki/Plugin/passwordauth.pm:305
|
||||||
msgid "password reset denied"
|
msgid "password reset denied"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -397,21 +397,21 @@ msgstr ""
|
||||||
msgid "Ping received."
|
msgid "Ping received."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/pinger.pm:49
|
#: ../IkiWiki/Plugin/pinger.pm:37
|
||||||
msgid "requires 'from' and 'to' parameters"
|
msgid "requires 'from' and 'to' parameters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/pinger.pm:54
|
#: ../IkiWiki/Plugin/pinger.pm:42
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "Will ping %s"
|
msgid "Will ping %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/pinger.pm:57
|
#: ../IkiWiki/Plugin/pinger.pm:45
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "Ignoring ping directive for wiki %s (this wiki is %s)"
|
msgid "Ignoring ping directive for wiki %s (this wiki is %s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/pinger.pm:73
|
#: ../IkiWiki/Plugin/pinger.pm:61
|
||||||
msgid "LWP not found, not pinging"
|
msgid "LWP not found, not pinging"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -491,23 +491,23 @@ msgstr ""
|
||||||
msgid "%A night"
|
msgid "%A night"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/prettydate.pm:96
|
#: ../IkiWiki/Plugin/prettydate.pm:78
|
||||||
msgid "at teatime on %A"
|
msgid "at teatime on %A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/prettydate.pm:100
|
#: ../IkiWiki/Plugin/prettydate.pm:82
|
||||||
msgid "at midnight"
|
msgid "at midnight"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/prettydate.pm:103
|
#: ../IkiWiki/Plugin/prettydate.pm:85
|
||||||
msgid "at noon on %A"
|
msgid "at noon on %A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/recentchanges.pm:95
|
#: ../IkiWiki/Plugin/recentchanges.pm:76
|
||||||
msgid "missing page"
|
msgid "missing page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/recentchanges.pm:97
|
#: ../IkiWiki/Plugin/recentchanges.pm:78
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "The page %s does not exist."
|
msgid "The page %s does not exist."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -591,17 +591,17 @@ msgstr ""
|
||||||
msgid "update for rename of %s to %s"
|
msgid "update for rename of %s to %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/search.pm:32
|
#: ../IkiWiki/Plugin/search.pm:20
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "Must specify %s when using the search plugin"
|
msgid "Must specify %s when using the search plugin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/search.pm:178
|
#: ../IkiWiki/Plugin/search.pm:166
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "need Digest::SHA1 to index %s"
|
msgid "need Digest::SHA1 to index %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Plugin/search.pm:213
|
#: ../IkiWiki/Plugin/search.pm:201
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -703,6 +703,10 @@ msgstr ""
|
||||||
msgid "failed to generate image from code"
|
msgid "failed to generate image from code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../IkiWiki/Rcs/Stub.pm:96
|
||||||
|
msgid "getctime not implemented"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
|
#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "skipping bad filename %s"
|
msgid "skipping bad filename %s"
|
||||||
|
@ -750,11 +754,23 @@ msgstr ""
|
||||||
|
|
||||||
#. translators: The first parameter is a filename, and the second
|
#. translators: The first parameter is a filename, and the second
|
||||||
#. translators: is a (probably not translated) error message.
|
#. translators: is a (probably not translated) error message.
|
||||||
#: ../IkiWiki/Setup.pm:23
|
#: ../IkiWiki/Setup.pm:25
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "cannot read %s: %s"
|
msgid "cannot read %s: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../IkiWiki/Setup.pm:58
|
||||||
|
msgid "generating wrappers.."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../IkiWiki/Setup.pm:107
|
||||||
|
msgid "rebuilding wiki.."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../IkiWiki/Setup.pm:110
|
||||||
|
msgid "refreshing wiki.."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Wrapper.pm:16
|
#: ../IkiWiki/Wrapper.pm:16
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "%s doesn't seem to be executable"
|
msgid "%s doesn't seem to be executable"
|
||||||
|
@ -791,31 +807,19 @@ msgstr ""
|
||||||
msgid "usage: ikiwiki [options] source dest"
|
msgid "usage: ikiwiki [options] source dest"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../ikiwiki.in:79
|
#: ../ikiwiki.in:82
|
||||||
msgid "usage: --set var=value"
|
msgid "usage: --set var=value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../ikiwiki.in:126
|
#: ../IkiWiki.pm:126
|
||||||
msgid "generating wrappers.."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../ikiwiki.in:182
|
|
||||||
msgid "rebuilding wiki.."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../ikiwiki.in:185
|
|
||||||
msgid "refreshing wiki.."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../IkiWiki.pm:410
|
|
||||||
msgid "Must specify url to wiki with --url when using --cgi"
|
msgid "Must specify url to wiki with --url when using --cgi"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki.pm:1069
|
#: ../IkiWiki.pm:768
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "preprocessing loop detected on %s at depth %i"
|
msgid "preprocessing loop detected on %s at depth %i"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki.pm:1557
|
#: ../IkiWiki.pm:1216
|
||||||
msgid "yes"
|
msgid "yes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -10,22 +10,18 @@
|
||||||
<author><name><TMPL_VAR AUTHOR ESCAPE=HTML></name></author>
|
<author><name><TMPL_VAR AUTHOR ESCAPE=HTML></name></author>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
<TMPL_IF NAME="COPYRIGHT">
|
<TMPL_IF NAME="COPYRIGHT">
|
||||||
<rights type="xhtml" xml:lang="en">
|
<rights type="html" xml:lang="en">
|
||||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<TMPL_IF NAME="LICENSE">
|
<TMPL_IF NAME="LICENSE">
|
||||||
<TMPL_VAR LICENSE>
|
<TMPL_VAR LICENSE ESCAPE=HTML>
|
||||||
<TMPL_VAR COPYRIGHT>
|
<TMPL_VAR COPYRIGHT ESCAPE=HTML>
|
||||||
<TMPL_ELSE>
|
<TMPL_ELSE>
|
||||||
<TMPL_VAR COPYRIGHT>
|
<TMPL_VAR COPYRIGHT ESCAPE=HTML>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</div>
|
|
||||||
</rights>
|
</rights>
|
||||||
<TMPL_ELSE>
|
<TMPL_ELSE>
|
||||||
<TMPL_IF NAME="LICENSE">
|
<TMPL_IF NAME="LICENSE">
|
||||||
<rights type="xhtml" xml:lang="en">
|
<rights type="html" xml:lang="en">
|
||||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
<TMPL_VAR LICENSE ESCAPE=HTML>
|
||||||
<TMPL_VAR LICENSE>
|
|
||||||
</div>
|
|
||||||
</rights>
|
</rights>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
|
@ -39,10 +35,8 @@
|
||||||
<TMPL_IF NAME="ENCLOSURE">
|
<TMPL_IF NAME="ENCLOSURE">
|
||||||
<link rel="enclosure" type="<TMPL_VAR TYPE>" href="<TMPL_VAR ENCLOSURE>" length="<TMPL_VAR LENGTH>" />
|
<link rel="enclosure" type="<TMPL_VAR TYPE>" href="<TMPL_VAR ENCLOSURE>" length="<TMPL_VAR LENGTH>" />
|
||||||
<TMPL_ELSE>
|
<TMPL_ELSE>
|
||||||
<content type="xhtml" xml:lang="en">
|
<content type="html" xml:lang="en">
|
||||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
<TMPL_VAR CONTENT ESCAPE=HTML>
|
||||||
<TMPL_VAR CONTENT>
|
|
||||||
</div>
|
|
||||||
</content>
|
</content>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</entry>
|
</entry>
|
||||||
|
|
|
@ -12,22 +12,18 @@
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</author>
|
</author>
|
||||||
<TMPL_IF NAME="COPYRIGHT">
|
<TMPL_IF NAME="COPYRIGHT">
|
||||||
<rights type="xhtml" xml:lang="en">
|
<rights type="html" xml:lang="en">
|
||||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<TMPL_IF NAME="LICENSE">
|
<TMPL_IF NAME="LICENSE">
|
||||||
<TMPL_VAR LICENSE>
|
<TMPL_VAR LICENSE>
|
||||||
<TMPL_VAR COPYRIGHT>
|
<TMPL_VAR COPYRIGHT ESCAPE=HTML>
|
||||||
<TMPL_ELSE>
|
<TMPL_ELSE>
|
||||||
<TMPL_VAR COPYRIGHT>
|
<TMPL_VAR COPYRIGHT ESCAPE=HTML>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</div>
|
|
||||||
</rights>
|
</rights>
|
||||||
<TMPL_ELSE>
|
<TMPL_ELSE>
|
||||||
<TMPL_IF NAME="LICENSE">
|
<TMPL_IF NAME="LICENSE">
|
||||||
<rights type="xhtml" xml:lang="en">
|
<rights type="html">
|
||||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
<TMPL_VAR LICENSE ESCAPE=HTML>
|
||||||
<TMPL_VAR LICENSE>
|
|
||||||
</div>
|
|
||||||
</rights>
|
</rights>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
indexname: <TMPL_VAR INDEX>
|
|
||||||
tmplfile: <TMPL_VAR TMPLFILE>
|
|
||||||
topfile: /dev/null
|
|
||||||
logfile:
|
|
||||||
logformat:
|
|
||||||
replace: ^file://<TMPL_VAR DESTDIR>{{!}}<TMPL_VAR URL>
|
|
||||||
showreal: false
|
|
||||||
perpage: 10,20,30,40,50,100
|
|
||||||
attrselect: false
|
|
||||||
showscore: false
|
|
||||||
extattr: date|Date
|
|
||||||
snipwwidth: 480
|
|
||||||
sniphwidth: 96
|
|
||||||
snipawidth: 96
|
|
||||||
condgstep: 2
|
|
||||||
dotfidf: true
|
|
||||||
scancheck: false
|
|
||||||
smplphrase: true
|
|
||||||
phraseform: 2
|
|
||||||
candetail: true
|
|
||||||
smlrvnum: 0
|
|
||||||
smlrtune: 16 1024 4096
|
|
||||||
clipview: 2
|
|
||||||
relkeynum: 0
|
|
||||||
spcache:
|
|
||||||
wildmax: 256
|
|
||||||
qxpndcmd:
|
|
||||||
helpfile: /usr/share/hyperestraier/estseek.help
|
|
||||||
deftitle:
|
|
||||||
attrwidth: 80
|
|
||||||
dispproxy:
|
|
|
@ -21,6 +21,6 @@
|
||||||
<TMPL_IF NAME="ENCLOSURE">
|
<TMPL_IF NAME="ENCLOSURE">
|
||||||
<enclosure url="<TMPL_VAR ENCLOSURE>" type="<TMPL_VAR TYPE>" length="<TMPL_VAR LENGTH>" />
|
<enclosure url="<TMPL_VAR ENCLOSURE>" type="<TMPL_VAR TYPE>" length="<TMPL_VAR LENGTH>" />
|
||||||
<TMPL_ELSE>
|
<TMPL_ELSE>
|
||||||
<description><![CDATA[<TMPL_VAR CONTENT>]]></description>
|
<description><TMPL_VAR CONTENT ESCAPE=HTML></description>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</item>
|
</item>
|
||||||
|
|
Loading…
Reference in New Issue