summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/po.pm
AgeCommit message (Collapse)Author
2009-01-01po: added postscan hook, to make pages depend on the pages linking to themintrigeri
... so that nicepagetitle hook's effects, such as translation status displayed in links, are updated when the linked page changes. The replacement of 'my %backlinks' with 'our %backlinks' in Render.pm made this work: previously, every postscan hook was called with an almost empty %backlinks, which defeated all my attempts to implement this feature. This feature hits performance a bit. Its cost was quite small in my real-world use-cases (a few percents bigger refresh time), but could be bigger in worst cases. Time will tell. NB: this hack could also be used by my meta branch. It may even be a ikiwiki optional feature. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31po: new po_translation_status_in_links optionintrigeri
... to make configurable the last implemented feature. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31po(nicepagetitle): forgot to display %intrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31po(percenttranslated): fix issue with leading /intrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31po(nicepagetitle): append translation status to links to translated pagesintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31po: inject our own (currently a no-op) nicepagetitle functionintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31po: fix redirect after edit, using a somehow tricky hackintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31po: delete translations of deleted master pagesintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30po: remove debug statementsintrigeri
2008-12-30po: remove renamed pages special handling, not needed anymoreintrigeri
Thanks to the new rename hook behaviour, the whole renaming work is now done by the rename plugin, and we don't need to remember which pages were renamed.
2008-12-30the rename hook can now change the list of pages to renameintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30renamed the renamepage hook to renamelink, added rename hookintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13po(change): reset renamed pages status at a better timeintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13po: initial infrastructure to deal with renamed master pageintrigeri
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>
2008-11-13po(delete): added hook, and function skeletonintrigeri
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>
2008-11-13po(change): avoid losing information before guessing the same...intrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13po(istranslatablefile): extracted this from istranslatableintrigeri
... will need this soon to deal with master file deletion. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12po(otherlanguages): return pages that should existintrigeri
... 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>
2008-11-12po: memoized istranslatable, eventuallyintrigeri
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>
2008-11-12po(change): flush Memoize cache, to fix bug after rename/removeintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12po(htmlize): ignore PO files not managed by this pluginintrigeri
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>
2008-11-12po: ooops, fixed just introduced bugintrigeri
(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>
2008-11-12po: fix istranslation/istranslatable for pages starting with /intrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12po(mybestlink): fixed when fed with path beginning with /intrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12po: compute internal links from a slave page relative to its master pageintrigeri
e.g. a link appearing on a slave page links to its masterpage's subpages. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po: fixed bug when a new translatable page is createdintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po: change a bit the way links are generatedintrigeri
This will soon enable usage of translated page titles in link. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po: fixed link to home page when po_link_to=negotiated, added testcaseintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po(change): fix uninitialized variables when running IkiWiki::refresh()intrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po: added HOMEPAGEURL template variable, documented when to use itintrigeri
Hopefully all links should now be consistent with the chosen linking behavior, but who knows... Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po: fixed link to homepage from non-translation pageintrigeri
Added testcases for this bug. It remains broken when generated from <TMPL_VAR BASEURL>, though. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po: some code simplification/clarificationintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po(scan): make more clear what's being doneintrigeri
Mostly comments, and also a small code change: simplification and implementation details hiding. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11po: reorder nearly all of the module codeintrigeri
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>
2008-11-10po(match_lang, match_currentlang): use the lang() functionintrigeri
... now that it exists, instead of duplicating it. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: rewrote otherlanguagesloop()intrigeri
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>
2008-11-10po: factorize extraction of a slave page's masterpage and langintrigeri
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>
2008-11-10po(otherlanguagesloop): start factorizingintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: finish abstracting %filtered by putting it into a blackboxintrigeri
i.e. it is invisible for everyone but its accessors/mutators Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: actually use pofiles() function, to enhance code clarityintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: abstract "doing something for the same page in every other language"intrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: abstract implementation details for %translations building and resettingintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: abstract %filtered implementation detailsintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: clarify error messagesintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: clarify code with some commentsintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10po: prevent a slave page to depend on itselfintrigeri
It has never caused harm yet, but it might in the future. Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-08po(refreshpot): define the input charset before read()'ingintrigeri
... 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>
2008-11-07po: finished backlinks implementationintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07po: implemented linking/backlinks specification for po_link_to=negotiatedintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07po: added pofiles() function, will use this soonintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>