Age | Commit message (Collapse) | Author |
|
Oddly, this hadn't caused any visible breakage. Possibly inline,
which is the only thing to use targetpage, resolves the function
to the "real" one before po gets loaded?
|
|
If the inline plugin is not being loaded, or is perhaps loaded after po
(when IkiWiki::Setup::getsetup loads all the plugins, for example),
po should not inject its custom rootpage sub, as that will lead to a
redefinition error message when inline loads.
|
|
|
|
|
|
The lack of $from will probably hurt setups using po_link_to = current,
but at least we can fix the blocker bug that prevents any wiki using the po
plugin to build.
|
|
|
|
|
|
This could happen if checkconfig was run twice, I think.
|
|
|
|
be configured via the web.
|
|
The only unsafe thing should be that enabling it with some languages will
generate po files.
|
|
array of things that need built. (Backwards compatability code keeps plugins using the old interface working.)
|
|
|
|
|
|
|
|
|
|
|
|
The po rescan hook re-runs the scan hooks, and runs the preprocess ones in scan
mode, both on the po-to-markup converted content. This way, plugins such as meta
are given a chance to gather correct information, rather than ugly/buggy escaped
data it did gather from unconverted PO files.
|
|
|
|
|
|
No need to use "keys %{$config{po_slave_languages}}" repeatedly:
the slave languages codes list is already cached in @slavelanguages.
|
|
Backward compatibility is still supported.
|
|
This reverts commit 4cf185e781a5f94373b30ec9a0e10dfb626b6d86.
That commit broke t/po.t (probably the test case only is testing too
close the the old implementation and needs correcting).
Also, we have not decided how to want to represent it yet, so I'm not
ready for this change.
Conflicts:
IkiWiki/Plugin/po.pm
doc/plugins/po.mdwn
|
|
|
|
|
|
|
|
This reverts commits dcd57dd5c9f3265bb7a78a5696b90976698c43aa,
d4136aea8aa8968d2cd87b40e8d85301a3549323 and
d877b9644bcfbbfc5eaf3f7fc13cb96ecda946c9.
|
|
Conflicts:
IkiWiki/Plugin/po.pm
doc/plugins/po.mdwn
|
|
... after having audited the po4a Xml and Xhtml modules for security issues.
Signed-off-by: intrigeri <intrigeri@boum.org>
(cherry picked from commit a128c256a51392fcf752bf612d83a90e8c68027e)
|
|
(cherry picked from commit 4f44534d72c9a9a947bc38a3cb4987705c25bea5)
|
|
Minor wording fix; changelog; etc.
|
|
(cherry picked from commit b225fdc44d4b3d2853db622d59aed7b59788aeec)
|
|
|
|
|
|
Set it to true every time IkiWiki::filter is called on a full page's content.
This is a much nicer solution, for the po plugin, than previous whitelisting
using caller().
|
|
|
|
|
|
... after having audited the po4a Xml and Xhtml modules for security issues.
Signed-off-by: intrigeri <intrigeri@boum.org>
|
|
|
|
|
|
The protection against processing loops (i.e. the alreadyfiltered stuff) was
playing against us: the template plugin triggered a filter hooks run with the
very same ($page, $destpage) arguments pair that we use to identify a already
filtered page. Processing an included template could then mark the whole
translation page as already filtered, which prevented po_to_markup to be called
on the PO content.
This commit only runs the whole PO filter logic when our filter hook is run by
IkiWiki::render, which only happens when the full page needs to be filtered.
|
|
Conflicts:
IkiWiki/Plugin/po.pm
|
|
In the process, lost the commits from special usernames
when committing changed po files. Instead of trying to dummy up a session
object for the special username, I just don't pass one, and the commit will
appear to be from whatever user ikiwiki runs as.
|
|
If po is imported twice, bad things happen. Guard against that.
I'm not sure what causes the double import; I saw it when websetup did a
wiki rebuild. Carp failed to show a backtrace for the second call to
import.
|
|
|
|
so filter out such a misconfiguration.
|
|
master language.
|
|
|
|
|
|
Note that there is an associated po4a warning when a page is empty:
Use of uninitialized value $file in substitution (s///) at /usr/share/perl5/Locale/Po4a/Text.pm line 205.
I've filed a bug with po4a about that, but the important thing is fixing
the crash here.
|