diff options
Diffstat (limited to 'doc/todo/more_customisable_titlepage_function.mdwn')
-rw-r--r-- | doc/todo/more_customisable_titlepage_function.mdwn | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/todo/more_customisable_titlepage_function.mdwn b/doc/todo/more_customisable_titlepage_function.mdwn new file mode 100644 index 000000000..51b560746 --- /dev/null +++ b/doc/todo/more_customisable_titlepage_function.mdwn @@ -0,0 +1,31 @@ +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]] |