intrigeri [Thu, 13 Nov 2008 03:39:53 +0000 (04:39 +0100)]
Merge commit 'upstream/master' into prv/po
intrigeri [Thu, 13 Nov 2008 03:37:26 +0000 (04:37 +0100)]
po(change): reset renamed pages status at a better time
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 13 Nov 2008 02:55:55 +0000 (03:55 +0100)]
po: initial infrastructure to deal with renamed master page
This is a skeleton that does nothing yet.
See the comments in the code for an overview of the issue that arises, due to
the renamepage hook never being called globally.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 13 Nov 2008 00:38:22 +0000 (01:38 +0100)]
po(delete): added hook, and function skeleton
Not implemented yet, 'cos the renamepage hook has to come first.
Else translations would be deleted on rename, what a shame.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 13 Nov 2008 00:07:52 +0000 (01:07 +0100)]
po(change): avoid losing information before guessing the same...
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 23:56:23 +0000 (00:56 +0100)]
po(istranslatablefile): extracted this from istranslatable
... will need this soon to deal with master file deletion.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 23:52:16 +0000 (00:52 +0100)]
po.t: cleanup
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 23:15:13 +0000 (00:15 +0100)]
po/todo: added test results
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Wed, 12 Nov 2008 23:08:10 +0000 (18:08 -0500)]
add news item for ikiwiki 2.70
Joey Hess [Wed, 12 Nov 2008 23:01:46 +0000 (18:01 -0500)]
releasing version 2.70
Joey Hess [Wed, 12 Nov 2008 22:35:21 +0000 (17:35 -0500)]
note fix versions
Joey Hess [Wed, 12 Nov 2008 22:19:41 +0000 (17:19 -0500)]
check for invalid utf-8, and toss it back to avoid crashes
Since ikiwiki uses open :utf8, perl assumes that files contain valid utf-8.
If it turns out to be malformed it may later crash while processing strings
read from them, with 'Malformed UTF-8 character (fatal)'.
As at least a quick fix, use utf8::valid as soon as data is read, and if
it's not valid, call encode_utf8 on the string, thus clearing the utf-8
flag. This may cause follow-on encoding problems, but will avoid this
crash, and the input file was broken anyway, so GIGO is a reasonable
response. (I looked at calling decode_utf8 after, but it seemed to cause
more trouble than it was worth. BTW, use open ':encoding(utf8)' avaoids
this problem, but the corrupted data later causes Storable to crash when
writing the index.)
This is a quick fix, clearly imperfect:
- It might be better to explicitly call decode_utf8 when reading files,
rather than using the IO layer.
- Data read other than by readfile() can still sneak in bad utf-8. While
ikiwiki does very little file input not using it, stdin for the CGI
would be one way.
intrigeri [Wed, 12 Nov 2008 22:22:26 +0000 (23:22 +0100)]
po(otherlanguages): return pages that should exist
... instead of already existing ones.
This fixes the "missing otherlanguages links on master pages just created via
the CGI" bug.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 21:32:47 +0000 (22:32 +0100)]
po: memoized istranslatable, eventually
And enjoy a 10% rebuild time enhancement on a complex wiki full of maps and
other pseudo-dynamic content, with some other costly plugins enabled. So it
could well mean 20% on a more usual wiki.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 20:15:33 +0000 (21:15 +0100)]
po(change): flush Memoize cache, to fix bug after rename/remove
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 19:13:40 +0000 (20:13 +0100)]
po/todo: first pass of robustness tests, added todo for remove/rename
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 17:03:14 +0000 (18:03 +0100)]
po(htmlize): ignore PO files not managed by this plugin
This way, the po plugin will not appropriate PO files it is not responsible for,
and PO files existing before this plugin was enabled can coexist peacefully with
our own ones.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 16:52:00 +0000 (17:52 +0100)]
po: ooops, fixed just introduced bug
(I just removed in istranslation and _istranslation the dependency on
istranslatable... which broke things in a subtle way, hard to see at the first
glance.)
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 16:36:00 +0000 (17:36 +0100)]
parentlinks: fixed links when po plugin is enabled
(and usedirs is disabled)
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 16:27:53 +0000 (17:27 +0100)]
po: fix istranslation/istranslatable for pages starting with /
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 15:54:51 +0000 (16:54 +0100)]
po(mybestlink): fixed when fed with path beginning with /
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 14:54:20 +0000 (15:54 +0100)]
po/todo: added robustness tests that have to be done
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 14:04:50 +0000 (15:04 +0100)]
po: compute internal links from a slave page relative to its master page
e.g. a link appearing on a slave page links to its masterpage's subpages.
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Wed, 12 Nov 2008 02:07:06 +0000 (21:07 -0500)]
add news item for ikiwiki 2.69
Joey Hess [Wed, 12 Nov 2008 02:01:16 +0000 (21:01 -0500)]
document other files in .ikiwiki
Joey Hess [Wed, 12 Nov 2008 01:48:02 +0000 (20:48 -0500)]
make unlockwiki drop the cgilock
This is necessary so that things that fork to the background,
like pinger, and inline ping, don't block other cgis from running.
Note that websetup also calls unlockwiki, before refreshing / rebuilding
the wiki. It makes perfect sense for that not to block other cgis.
intrigeri [Wed, 12 Nov 2008 00:06:17 +0000 (01:06 +0100)]
pagetitle vs meta: announcing a working prototype
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Wed, 12 Nov 2008 00:08:57 +0000 (01:08 +0100)]
Merge commit 'upstream/po' into prv/po
Joey Hess [Tue, 11 Nov 2008 23:34:18 +0000 (18:34 -0500)]
response
Joey Hess [Tue, 11 Nov 2008 23:33:04 +0000 (18:33 -0500)]
patch and a few comments
Joey Hess [Tue, 11 Nov 2008 22:52:51 +0000 (17:52 -0500)]
Merge commit 'intrigeri/po' into po
Joey Hess [Tue, 11 Nov 2008 22:52:32 +0000 (17:52 -0500)]
Merge branch 'master' into po
intrigeri [Tue, 11 Nov 2008 22:08:13 +0000 (23:08 +0100)]
po/todo: bug report about linking to subpages from translation pages
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 22:04:58 +0000 (23:04 +0100)]
po: fixed bug when a new translatable page is created
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 21:26:01 +0000 (22:26 +0100)]
po: change a bit the way links are generated
This will soon enable usage of translated page titles in link.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 20:22:32 +0000 (21:22 +0100)]
po/todo: fixed internal links
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Tue, 11 Nov 2008 20:54:52 +0000 (15:54 -0500)]
lockwiki changes
* Stop busy-waiting in lockwiki, as this could delay ikiwiki from waking up
for up to one second. The bailout code is no longer needed.
* Remove support for unused optional wait parameter from lockwiki.
Joey Hess [Tue, 11 Nov 2008 20:53:55 +0000 (15:53 -0500)]
O_CREATE needs mode
Joey Hess [Tue, 11 Nov 2008 20:40:04 +0000 (15:40 -0500)]
avoid multiple ikiwiki cgi processes piling up, eating all memory, and thrashing
Fixed by making the cgi wrapper wait on a cgilock.
If you had to set apache's MaxClients low to avoid ikiwiki thrashing
your server, you can now turn it up to a high value.
The downside to this is that a cgi call that doesn't need to call lockwiki
will be serialised by this so only one can run at a time. (For example,
do=search.) There are few such calls, and all of them call loadindex,
so each still eats gobs of memory, so serialising them still seems ok.
intrigeri [Tue, 11 Nov 2008 19:04:58 +0000 (20:04 +0100)]
po/todo: added note about backlinks not being updated
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Tue, 11 Nov 2008 18:44:39 +0000 (13:44 -0500)]
bzr: Fix dates for recentchanges.
Joey Hess [Tue, 11 Nov 2008 18:40:50 +0000 (13:40 -0500)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Tue, 11 Nov 2008 18:40:02 +0000 (13:40 -0500)]
let's stop sucking :-)
intrigeri [Tue, 11 Nov 2008 17:42:14 +0000 (18:42 +0100)]
po: fixed link to home page when po_link_to=negotiated, added testcase
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 16:30:19 +0000 (17:30 +0100)]
po/todo: update
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 16:17:56 +0000 (17:17 +0100)]
po: answered Joey's "create a new translation" question
... that I previously completely missed.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 15:04:40 +0000 (16:04 +0100)]
po(change): fix uninitialized variables when running IkiWiki::refresh()
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 14:27:39 +0000 (15:27 +0100)]
po: added HOMEPAGEURL template variable, documented when to use it
Hopefully all links should now be consistent with the chosen linking behavior,
but who knows...
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 14:25:23 +0000 (15:25 +0100)]
po/todo: added bug report for weird Perl warnings
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 14:01:16 +0000 (15:01 +0100)]
po: fixed link to homepage from non-translation page
Added testcases for this bug.
It remains broken when generated from <TMPL_VAR BASEURL>, though.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 13:11:34 +0000 (14:11 +0100)]
po: some code simplification/clarification
Signed-off-by: intrigeri <intrigeri@boum.org>
http://edward.myopenid.com/ [Tue, 11 Nov 2008 12:59:06 +0000 (07:59 -0500)]
add item to watch list
bcdugga [Tue, 11 Nov 2008 05:23:20 +0000 (00:23 -0500)]
intrigeri [Tue, 11 Nov 2008 04:05:53 +0000 (05:05 +0100)]
po/todo: updated page formats, broken links, documentation
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 03:40:24 +0000 (04:40 +0100)]
Merge commit 'upstream/master' into prv/po
intrigeri [Tue, 11 Nov 2008 03:39:26 +0000 (04:39 +0100)]
po: help request
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 03:32:20 +0000 (04:32 +0100)]
po(scan): make more clear what's being done
Mostly comments, and also a small code change: simplification and implementation
details hiding.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 03:05:39 +0000 (04:05 +0100)]
po: reorder nearly all of the module code
It has grown up incrementally and new helper functions were added right in the
middle of the hooks, most often near the place they were used, which is
practical when doing initial development, but quite ugly afterwards, when helper
functions are useful to separate logic and implementation details.
Today's refactoring commits have brought the code to a much more maintainable
state, IMHO.
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Tue, 11 Nov 2008 02:47:29 +0000 (21:47 -0500)]
remove redundant link munge
This is not needed now that tagpage returns a page name starting with a
slash.
(Also fixes a minor bug that the edit links started with double slashes due
to the hack.)
Joey Hess [Tue, 11 Nov 2008 02:43:59 +0000 (21:43 -0500)]
typo
intrigeri [Tue, 11 Nov 2008 02:23:02 +0000 (03:23 +0100)]
po/doc: first fuzzy-testing results for po4a and msgmerge
Chapter #1, in which we learn po4a could help to DoS ikiwiki + po,
whereas msgmerge seems reluctant to cooperate.
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Tue, 11 Nov 2008 00:49:37 +0000 (19:49 -0500)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Tue, 11 Nov 2008 00:48:58 +0000 (19:48 -0500)]
tag: Normalize tagbase so leading/trailing slashes in it don't break things.
Jon Dowland [Mon, 10 Nov 2008 23:38:45 +0000 (23:38 +0000)]
reply
Jon Dowland [Mon, 10 Nov 2008 23:35:00 +0000 (23:35 +0000)]
Merge branch 'master' of git://git.ikiwiki.info
Joey Hess [Mon, 10 Nov 2008 23:34:35 +0000 (18:34 -0500)]
response
Jon Dowland [Mon, 10 Nov 2008 23:34:09 +0000 (23:34 +0000)]
add discussion on this tip
http://alcopop.org/me/openid/ [Mon, 10 Nov 2008 23:30:08 +0000 (18:30 -0500)]
specifying the user in recentchanges for anon git pushes
Jon Dowland [Mon, 10 Nov 2008 23:24:22 +0000 (23:24 +0000)]
update my userpage (and try out git pushes)
Joey Hess [Mon, 10 Nov 2008 23:08:09 +0000 (18:08 -0500)]
add a robots.txt
Yahoo! has been pounding on ikiwiki.cgi again. While I'd prefer ikiwiki to
generate sites that avoided robots hitting it in other ways, I'm adding a
robots.txt, at least temporarily.
Joey Hess [Mon, 10 Nov 2008 23:05:30 +0000 (18:05 -0500)]
Add rel=nofollow to recentchanges_links for the same (weak) reasons it was earlier added to edit links.
intrigeri [Mon, 10 Nov 2008 22:52:50 +0000 (23:52 +0100)]
po/doc: more security research results
Apart of the fuzzying part, I'm done with what I can do without help.
The "Running po4a on untrusted content" section needs at least a quick glance
from an experimented Perl programmer.
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Mon, 10 Nov 2008 22:40:03 +0000 (17:40 -0500)]
reorg to avoid broken link in basewiki
ikiwiki/markdown is a basewiki page and shouldn't link to pages in tips.
Instead, make the tips link to it, so backlinks will point back to them.
While I'm at it, move the info about the emacs mode to a tip.
intrigeri [Mon, 10 Nov 2008 20:30:06 +0000 (21:30 +0100)]
po(match_lang, match_currentlang): use the lang() function
... now that it exists, instead of duplicating it.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 20:19:21 +0000 (21:19 +0100)]
po: rewrote otherlanguagesloop()
It is now more elegant IMHO, and the output is now sorted according to the
language name (instead of code).
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 19:35:53 +0000 (20:35 +0100)]
po: factorize extraction of a slave page's masterpage and lang
The very same code was repeated at dozens of places.
NB: the real work is now done is _istranslation(), which is memoized,
so the additional function calls overhead should be compensated.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 18:40:54 +0000 (19:40 +0100)]
t/po.t: removed debug lines
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Mon, 10 Nov 2008 18:30:20 +0000 (13:30 -0500)]
response
Joey Hess [Mon, 10 Nov 2008 18:19:22 +0000 (13:19 -0500)]
reorganize vim syntax highlighting info
There was already a tip about it; move the plasticboy version to there.
intrigeri [Mon, 10 Nov 2008 17:38:25 +0000 (18:38 +0100)]
po(otherlanguagesloop): start factorizing
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 14:41:29 +0000 (15:41 +0100)]
Merge commit 'upstream/master' into prv/po
intrigeri [Mon, 10 Nov 2008 14:30:49 +0000 (15:30 +0100)]
po: finish abstracting %filtered by putting it into a blackbox
i.e. it is invisible for everyone but its accessors/mutators
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 14:09:56 +0000 (15:09 +0100)]
po: actually use pofiles() function, to enhance code clarity
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 13:49:58 +0000 (14:49 +0100)]
po: abstract "doing something for the same page in every other language"
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 12:56:46 +0000 (13:56 +0100)]
po: abstract implementation details for %translations building and resetting
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 12:49:14 +0000 (13:49 +0100)]
po: abstract %filtered implementation details
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 12:22:50 +0000 (13:22 +0100)]
po: clarify error messages
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 12:00:05 +0000 (13:00 +0100)]
po: clarify code with some comments
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 11:48:27 +0000 (12:48 +0100)]
po: prevent a slave page to depend on itself
It has never caused harm yet, but it might in the future.
Signed-off-by: intrigeri <intrigeri@boum.org>
http://a1fie.livejournal.com/ [Mon, 10 Nov 2008 06:44:19 +0000 (01:44 -0500)]
vim syntax file linked
Joey Hess [Sun, 9 Nov 2008 20:31:57 +0000 (15:31 -0500)]
Fix the link() pagespec to match links that are internally recorded as absolute.
This fixes a problem exposed by the recent change to tags
(
a2839de9362187b67b0e3a564461e272e64fd9b4). That recorded tag links as
absolute by including a leading slash in the link. The same could also be
done with an absolute wikilink.
In either case, link() would not match such links, unless the leading slash
was included in the link to match. But that's not right, because pagespecs
match absolute by default. So strip the leading slash.
Note that to keep any existing `link(/foo)` pagespecs working after this
change, the leading slash is removed from there, too.
intrigeri [Sat, 8 Nov 2008 21:08:50 +0000 (22:08 +0100)]
po/todo(security): many research results
... and some questions to Joey (hint: look for your name)
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Sat, 8 Nov 2008 20:32:04 +0000 (21:32 +0100)]
po(refreshpot): define the input charset before read()'ing
... to prevent the use of Encode::Guess::guess_encoding() in
Locale::Po4a::Transtractor (just a minor security measure, dependent on po4a
internals, but we have no reason to think Encode::Guess is not safe).
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Sat, 8 Nov 2008 17:35:28 +0000 (12:35 -0500)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
AlexandreDupas [Sat, 8 Nov 2008 16:28:25 +0000 (11:28 -0500)]
fix link to Jason Blevins user page
intrigeri [Sat, 8 Nov 2008 16:08:36 +0000 (17:08 +0100)]
Merge branch 'prv/po' into pub/po
AlexandreDupas [Sat, 8 Nov 2008 16:04:27 +0000 (11:04 -0500)]
question about the format directive and relation with htmlize hooks
intrigeri [Sat, 8 Nov 2008 11:21:54 +0000 (12:21 +0100)]
po/todo++: support other file formats than markdown
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Sat, 8 Nov 2008 01:14:26 +0000 (02:14 +0100)]
Merge branch 'prv/po' into pub/po
intrigeri [Sat, 8 Nov 2008 01:13:37 +0000 (02:13 +0100)]
po/todo: mostly security research
Signed-off-by: intrigeri <intrigeri@boum.org>