Themes should be able to control page layout. If I want to modify my site to look more like
Confluence, with some metadata in the "content" column, I should not need to edit JSPs.
janit0r and I whiteboarded our dream layout system for SnipSnap. Themese would include a "layout" snip that defined the entire page. Perhaps later there could be multiple page layouts (edit snip, front page, etc.)
A layout snip would simply define panes via macros. I imagine the today's layout would look like:
{site-masthead:logo=snipsnap.gif}
{site-toolbar:registerLink=no|loginLink=yes}
{div:class=columnOne}
{snip-title} // "snip" macros default to current snip context
{snip-toolbar}
{snip-content}
{snip-comments} // renders self-link with querystring parameter to enable comment display
{div}
{div:class=columnTwo}
{!./sidebar} // this referencing doesn't work yet
{div}This would, however, render the current one-layer Radeox caching mechanism useless. This could be replaced by {snip-content} making a sub-call to Radeox, allowing it to cache (probably the cleanest way to implement this macro, anyway) and doing likewise with the include (bang) filter.