ikiwiki/doc/todo/dynamic_rootpage.mdwn

33 lines
2.0 KiB
Markdown

I prefer to use a current year, month and day to archive my blog posts, for example
`post/2007/11/12/foo-bar-baz` path is better for me then `post/foo-bar-baz`.
Unfortunately it seems that `rootpage` parameter of inline plugin is very static.
Is it a chance to make it more dynamic? Now I have to use `svn mkdir` command
to create appropriate subdirectories by hand.
I think that you could add builtin functions or variables, for example `current_year()`
or `$CURRENT_YEAR` to usage inside `rootpage` parameter. Something like for Manoj's
calendar plugin. Then my `rootpage` parameter could be like
`rootpage="post/current_year()/current_month()/current_day()"`. Another good hints
are welcomed ;)
What's your opinion, Joey? I hope it's also useful for another ikiwiki lovers :)
--[[Paweł|ptecza]]
>> Hello Joey! Is it a taboo subject? ;) --[[Paweł|ptecza]]
>> No, but I don't know of a way to do it that feels flexible and right..
>> Using functions as in your example doesn't feel right somehow.
>> --[[Joey]]
>>> Seems like a job for good ol' string interpolation. rootpage="post/$current_year/$current_month/$current_day"
>>> Ikiwiki could provide some vars, and it would be nice to write plugins to also provide vars. Sort of like templates.
>>> Does that feel OK? --[[sabr]]
> I want the exact same thing. My compromise was to create a `datedblog` module which overrides `inline`'s `sessioncgi` hook
> with something that sets the new page name to `%Y-%m-%d.$page` and sets up a meta directive at the beginning of
> the content, with the title you wanted. Now if you use the `datedblog` module, you get dated blog entries. But I'd
> like to have traditional `inline` functionality too. This would work great if there were a way to change the `do`
> parameter in the `blogpost` template's form; if I could change it to `datedblog` instead of `blog` then I could hook
> my datedblog module in nicely, without having to override anything. What would be the right way to do that? --[[neale]]