diff options
author | http://kerravonsen.dreamwidth.org/ <http://kerravonsen.dreamwidth.org/@web> | 2010-06-25 02:40:25 +0000 |
---|---|---|
committer | Joey Hess <joey@finch.kitenet.net> | 2010-06-25 02:40:25 +0000 |
commit | 71950b2ae5ff6fd3b631c5504455cc07699b1c11 (patch) | |
tree | 352ae5fb755ca31fa6c2a8f1ad41d6e7e66d8e84 | |
parent | 11899a031c64b3e9fb5fe792c8611f69fb14fd5e (diff) |
sidebars defined by pagespec perhaps?
-rw-r--r-- | doc/todo/beef_up_sidebar_to_allow_for_multiple_sidebars.mdwn | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/todo/beef_up_sidebar_to_allow_for_multiple_sidebars.mdwn b/doc/todo/beef_up_sidebar_to_allow_for_multiple_sidebars.mdwn index 1f7b48764..fdaa09f26 100644 --- a/doc/todo/beef_up_sidebar_to_allow_for_multiple_sidebars.mdwn +++ b/doc/todo/beef_up_sidebar_to_allow_for_multiple_sidebars.mdwn @@ -34,6 +34,8 @@ those contents instead. >>>>> if I want to try to get a 3 column CSS going, so perhaps leave the >>>>> left sidebar out of that. +------------------- + <pre> --- /usr/share/perl5/IkiWiki/Plugin/sidebar.pm 2010-02-11 22:53:17.000000000 -0500 +++ plugins/IkiWiki/Plugin/sidebar.pm 2010-02-27 09:54:12.524412391 -0500 @@ -85,4 +87,39 @@ those contents instead. } </pre> +---------------------------------------- +## Further thoughts about this + +(since the indentation level was getting rather high.) + +What about using pagespecs in the config to map pages and sidebar pages together? Something like this: + +<pre> + sidebar_pagespec => { + "foo/*" => 'sidebars/foo_sidebar', + "bar/* and !bar/*/*' => 'bar/bar_top_sidebar', + "* and !foo/* and !bar/*" => 'sidebars/general_sidebar', + }, +</pre> + +One could do something similar for *pageheader*, *pagefooter* and *rightbar* if desired. + +Another thing which I find compelling - but probably because I am using [[plugins/contrib/field]] - is to be able to treat the included page as if it were *part* of the page it was included into, rather than as an included page. I mean things like \[[!if ...]] would test against the page name of the page it's included into rather than the name of the sidebar/header/footer page. It's even more powerful if one combines this with field/getfield/ftemplate/report, since one could make "generic" headers and footers that could apply to a whole set of pages. + +Header example: +<pre> +#{{$title}} +\[[!ftemplate id="nice_data_table"]] +</pre> + +Footer example: +<pre> +------------ +\[[!report template="footer_trail" trail="trailpage" here_only=1]] +</pre> + +(Yes, I am already doing something like this on my own site. It's like the PmWiki concept of GroupHeader/GroupFooter) + +-- [[KathrynAndersen]] + [[!tag wishlist]] |