32 lines
1.9 KiB
Markdown
32 lines
1.9 KiB
Markdown
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.
|
|
|
|
Since `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 `__xx__` `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.
|
|
|
|
-- [[madduck]]
|
|
|
|
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..
|
|
|
|
[[wishlist]]
|