aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/dynamic_rootpage.mdwn
blob: 5cf80b0a8ea397248531978a2f11b844ff3f068d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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]]