Merge commit 'upstream/master' into prv/po

master
intrigeri 2008-11-07 22:19:24 +01:00
commit 339478ba47
13 changed files with 114 additions and 16 deletions

View File

@ -120,7 +120,7 @@ sub getsetup () { #{{{
},
default_plugins => {
type => "internal",
default => [qw{mdwn link inline htmlscrubber passwordauth
default => [qw{mdwn link inline meta htmlscrubber passwordauth
openid signinedit lockedit conditional
recentchanges parentlinks editpage}],
description => "plugins to enable by default",

View File

@ -520,10 +520,10 @@ sub aggregate (@) { #{{{
}
foreach my $entry ($f->entries) {
my $content=$content=$entry->content->body;
my $c=$entry->content;
# atom feeds may have no content, only a summary
if (! defined $content && ref $entry->summary) {
$content=$entry->summary->body;
if (! defined $c && ref $entry->summary) {
$c=$entry->summary;
}
add_page(
@ -531,9 +531,10 @@ sub aggregate (@) { #{{{
copyright => $f->copyright,
title => defined $entry->title ? decode_entities($entry->title) : "untitled",
link => $entry->link,
content => defined $content ? $content : "",
content => defined $c ? $c->body : "",
guid => defined $entry->id ? $entry->id : time."_".$feed->{name},
ctime => $entry->issued ? ($entry->issued->epoch || time) : time,
base => (defined $c && $c->can("base")) ? $c->base : undef,
);
}
}
@ -605,7 +606,8 @@ sub add_page (@) { #{{{
my $template=template($feed->{template}, blind_cache => 1);
$template->param(title => $params{title})
if defined $params{title} && length($params{title});
$template->param(content => htmlescape(htmlabs($params{content}, $feed->{feedurl})));
$template->param(content => htmlescape(htmlabs($params{content},
defined $params{base} ? $params{base} : $feed->{feedurl})));
$template->param(name => $feed->{name});
$template->param(url => $feed->{url});
$template->param(copyright => $params{copyright})

View File

@ -10,7 +10,6 @@ my @bundle=qw{
brokenlinks
img
map
meta
more
orphans
pagecount

View File

@ -39,7 +39,7 @@ sub filter (@) {
my $content = $params{content};
if (defined $pagesources{$params{page}} && $pagesources{$params{page}} =~ /\.txt$/) {
encode_entities($content);
encode_entities($content, "<>&");
if ($findurl) {
my $finder = URI::Find->new(sub {
my ($uri, $orig_uri) = @_;

12
debian/changelog vendored
View File

@ -1,3 +1,15 @@
ikiwiki (2.69) UNRELEASED; urgency=low
* aggregate: Try to query XML::Feed for the base url when derelevatising
links. Since this needs the just released XML::Feed 0.3, as well
as a not yet released XML::RSS, it will fall back to the old method
if no xml:base info is available.
* meta: Plugin is now enabled by default since the basewiki uses it.
* txt: Do not encode quotes when filtering the txt, as that broke
later parsing of any directives on the page.
-- Joey Hess <joeyh@debian.org> Thu, 06 Nov 2008 16:01:00 -0500
ikiwiki (2.68) unstable; urgency=low
* Add support for checking pushes from untrusted git committers. This can be

View File

@ -0,0 +1,5 @@
[[plugins/meta]] is not enabled by default, yet some pages in the default basewiki include [[the_meta_directive|ikiwiki/directive/meta]], notably the [[ikiwiki]] heirarchy.
This means that the default output of "ikiwiki src dest", for two empty directories src and dest, result in the meta directive being displayed inline with the page text.
> [[done]], meta now enabled by default.

View File

@ -0,0 +1,17 @@
At the moment, you go through the login shuffle and then are told that cookies are needed, so you lose all your data and login again. It would be much slicker to note by the edit link, or at least on the login page, that cookies are required.
> Hmm, it seems to me to be fairly obvious, since the vast majority of
> websites that have a login require cookies. Such warnings used to be
> common, but few sites bother with them anymore. --[[Joey]]
Even better would be to only display the cookie note as a warning if the login page doesn't receive a session cookie.
> I considered doing this before, but it would require running the cgi once
> to attempt to set the cookie and then redirecting to the cgi a second
> time to check if it took, which is both complicated and probably would
> look bad.
Best of all would be to use URL-based or hidden-field-based session tokens if cookies are not permitted.
> This is not very doable since most of the pages the user browses are
> static pages in a static location.

View File

@ -0,0 +1,21 @@
I messed up my local clone of my repository.
It appears that there is a special clone, which contains .ikiwiki, local.css, recentchanges, and the like.
How can I create a new version of this clone?
> No, there's the srcdir, which ikiwiki populates with some of those files
> when run. Notably the .ikiwiki directory and all its contents, and the
> recentchanges directory and its contents. But not local.css.
>
> If you've lost .ikiwiki and it contained user registration info
> (passwords etc), you've lost that info. Everything else can be
> regenerated by running `ikiwiki -setup your.setup`
>
> If you still have .ikiwiki, but the git clone is messed up somehow, you
> can just make a new clone and move .ikiwiki into it before running
> ikiwiki. --[[Joey]]
> > Great, that worked. Thanks Joey!
[[!tag done]]

View File

@ -15,3 +15,5 @@ Here is the header:
[[GNU_Free_Documentation_License|/fdl]]."]]"""]]
--[[tschwinge]]
> [[done]], made it less zealous about encoding html entities. --[[Joey]]

View File

@ -3,9 +3,11 @@ translated with gettext, using [po4a](http://po4a.alioth.debian.org/).
More information:
* It can be found in [my "po" branch](http://repo.or.cz/w/ikiwiki/intrigeri.git?a=shortlog;h=refs/heads/po): `git clone git://repo.or.cz/ikiwiki/intrigeri.git`
* It involves adding three hooks to ikiwiki core.
* It is documented (including TODO and plans for next work steps) in `doc/plugins/po.mdwn`, which can be found in the same branch.
* It can be found in my "po" branch:
`git clone git://gaffer.ptitcanardnoir.org/ikiwiki.git`
* It is self-contained, *i.e.* it does not modify ikiwiki core at all.
* It is documented (including TODO and plans for next work steps) in
`doc/plugins/po.mdwn`, which can be found in the same branch.
* No public demo site is available so far, I'm working on this.
My plan is to get this plugin clean enough to be included in ikiwiki.
@ -73,10 +75,49 @@ Any thoughts on this?
>> and could only then translate it, right? I wonder if this will be clear
>> though to the user.
>>
>>> Right: a broken link points to the URL that allows to create
>>> a page that can either be a new master page or a non-translatable
>>> page, depending on `po_translatable_pages` value. The best
>>> solution I can thing of is to use [[plugins/edittemplate]] to
>>> insert something like "Warning: this is a master page, that must
>>> be written in $MASTER_LANGUAGE" into newly created master pages,
>>> and maybe another warning message on newly created
>>> non-translatable pages. It seems quite doable to me, but in order
>>> to avoid breaking existing functionality, it implies to hack a bit
>>> [[plugins/edittemplate]] so that multiple templates can be
>>> inserted at page creation time. [[--intrigeri]]
>>
>> And also, is there any way to start a translation of a page into a new
>> lanauge using the web interface?
>>
>>
>>> When a new language is added to `po_slave_languages`, a rebuild is
>>> triggered, and all missing PO files are created and checked into
>>> VCS. An unpriviledged wiki user can not add a new language to
>>> `po_slave_languages`, though. One could thing of adding the needed
>>> interface to translate a page into a yet-unsupported slave
>>> language, and this would automagically add this new language to
>>> `po_slave_languages`. It would probably be useful in some
>>> usecases, but I'm not comfortable with letting unpriviledged wiki
>>> users change the wiki configuration as a side effect of their
>>> actions; if this were to be implemented, special care would be
>>> needed. [[--intrigeri]]
>>>
>>>> Actually I meant into any of the currently supported languages.
>>>> I guess that if the template modification is made, it will list those
>>>> languages on the page, and if a translation to a language is missing,
>>>> the link will allow creating it?
>> FWIW, I'm tracking your po branch in ikiwiki master git in the po
>> branch. One thing I'd like to try in there is setting up a translated
>> basewiki, which seems like it should be pretty easy to do, and would be
>> a great demo! --[[Joey]]
>>
>>> I've merged your changes into my own branch, and made great
>>> progress on the various todo items. Please note my repository
>>> location has changed a few days ago, my user page was updated
>>> accordingly, but I forgot to update this page at the same time.
>>> Hoping it's not too complicated to relocated an existing remote...
>>> (never done that, I'm a Git beginner as well as a Perl
>>> newbie) --[[intrigeri]]a
>>>>
>>>> Just a matter of editing .git/config, thanks for the heads up.

View File

@ -12,7 +12,6 @@ Currently included:
* [[brokenlinks]]
* [[img]]
* [[map]]
* [[meta]]
* [[more]]
* [[orphans]]
* [[pagecount]]

View File

@ -1,4 +1,4 @@
[[!template id=plugin name=meta author="[[Joey]]"]]
[[!template id=plugin name=meta core=1 author="[[Joey]]"]]
[[!tag type/meta]]
This plugin provides the [[ikiwiki/directive/meta]] [[ikiwiki/directive]],

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-11-03 16:31-0500\n"
"POT-Creation-Date: 2008-11-06 20:47-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"
@ -120,7 +120,7 @@ msgstr ""
msgid "feed crashed XML::Feed!"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:590
#: ../IkiWiki/Plugin/aggregate.pm:591
#, perl-format
msgid "creating new page %s"
msgstr ""