I understand the
IkiWiki::titlepage function is used to generate filenames from titles. It would be nice if there were an easier way to override what it does. I suppose I could write an external plugin and call
inject, but maybe this could instead be done via the configuration file?
I imagine two things: a lookup hash and a template.
IkiWiki::titlepage basically translates characters, it would be cool to be able to define a lookup hash in the configuration, which would be consulted before falling back to the generic
ord() representation of a letter. For instance, in German, I might prefer to have 'ä' become 'ae' instead of something illegible.
Second, maybe a template could be honoured. The template could have a slot
%s where the calculated title goes, and it could contain
strftime symbols as well as variables, which get interpolated on use.
Another option would be a function I could define in the setup file, or an external script, though that would be pretty expensive.
I don't think that changing titlepage is a good idea, there are compatability problems.
Instead, I think that in the specific case of the blogpost form, there should be an interface to allow plugins to do arbitrary transformatiosn of the page name.
So, add a hidden field to blogpost.tmpl, something like blogpost=1. Then in
editpage, if blogpost is set, call the blogpost hooks, which are passed
a page name and return a transformed version.
If the page name is changed by those, then the user's original title might need to be preserved via a meta title directive. This could just be inserted if any changes are made to the page name. Only problem with this is that having the directive appear in the edit box for a new page could confuse the user. The title could be passed on in a hidden field, and prepended to the page when it's saved..
I'll pass on these comments to the two similar todo items. --smcv