]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blob - doc/todo/break_up_page_template_into_subfiles.mdwn
Added a comment
[git.ikiwiki.info.git] / doc / todo / break_up_page_template_into_subfiles.mdwn
1 Wishlist items such as [[Add space before slash in parent links]] would be
2 easier to deal with if the page.tmpl template was broken up into sections
3 and each section had a separate template file which was included in the
4 master page.tmpl file.  This would make it easier to customize parts of a
5 page without having to fork the whole page.tmpl and then have things break
6 when there's an update of the master page.tmpl file.
8 Suggested sections:
10 * page_head.tmpl for the things in the <head> section
11 * page_header.tmpl for things in the "header" div (which includes the PARENTLINKS loop)
12 * page_actions.tmpl for the actions section
13 * page_sidebar.tmpl for the sidebar
14 * page_content.tmpl for the main content
15 * page_footer.tmpl for the footer
17 Would this work, or would HTML::Template have problems with this?
19 -- [[KathrynAndersen]]
21 > Well, breaking it up into 6 sections would let a user modify one of them
22 > with only 1/6th the chance of it being broken by a new ikiwiki.
23 > Which seems like a win from the user's POV. However, I know that there
24 > are ikiwiki users who modify the `page.tmpl` but are very
25 > unsophisticated; needing to find the right file amoung 6 to modify
26 > would be a loss for these users. And some modifications would probably
27 > need to be coordinated amoung multiple files.
28
29 > For ikiwiki developers, reducing by 5/6th the number of users affected by a
30 > breaking change to page.tmpl is nice, but we still have to worry about
31 > the 1 in 6 that would be affected despite the splitting. Ikiwiki has
32 > enough users that any change to page.tmpl has to be carefully considered
33 > to avoid breaking something they may depend on, and it's been two years
34 > since that last needed to be done.
35
36 > So all in all, I don't think it's worth doing. --[[Joey]]