]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/multiple_template_directories.mdwn
Merge branch 'master' of ssh://git.ikiwiki.info
[git.ikiwiki.info.git] / doc / todo / multiple_template_directories.mdwn
index c967e87a2100302a0477ccba3b8cbf1f38c98392..6a474b4f3e6671b0b7b4ae12b1cdfc52bba6dd01 100644 (file)
@@ -7,6 +7,67 @@ a setup option like
 
 ought to do the trick.
 
-> Now that I look at the source, I see that ikiwiki already falls back to the > global dir when it cannot find a template. For me, this is good enough.
+> Now that I look at the source, I see that ikiwiki already falls back to the 
+> global dir when it cannot find a template. For me, this is good enough.
 > And it is even documented in the man page. Sigh. I guess this could be 
-> considered done.  
+> considered [[done]].  
+
+I have a use case for this, a site composed of blogs and wikis, templates divided in three categories : common, blog and wiki. The only solution I found is maintaining hard links, being able to have multiple template dirs would obviously be better. -- Changaco
+
+> [[plugins/underlay]] used to allow adding extra templatedirs, but Joey
+> removed that functionality when he made templates search the wiki's
+> own `templates` directory.
+>
+> You can get a 3-level hierarchy like this:
+>
+> * instance-specific overrides: $srcdir/templates
+> * common to the entire site: a directory that is the value of all
+>   instances' `templatedir` parameters
+> * common to every ikiwiki in the world: /usr/share/ikiwiki/templates
+>   (implicitly searched)
+>
+> (by "instance" I mean an instance of ikiwiki - a .setup file, basically.)
+>
+> For a more complex hierarchy you'd need the old [[plugins/underlay]]
+> functionality, i.e. you'd need to (ask Joey to) revert the patch that
+> removed it. For instance, if anyone has a hierarchy like this, then
+> they need the old functionality back in order to split the template
+> search path for the things marked `(???)`:
+>
+>     every ikiwiki in the world (/usr/share/ikiwiki/templates)
+>     \--- your site (???)
+>         \--- your blogs (???)
+>              \--- travel blog ($srcdir/templates)
+>              \--- code blog ($srcdir/templates)
+>         \--- your wikis (???)
+>              \--- travel wiki ($srcdir/templates)
+>              \--- code wiki ($srcdir/templates)
+>
+> This looks pretty hypothetical to me, though...
+> --[[smcv]]
+
+>> The reason I removed it is because the same functionality of having
+>> multiple template directories is still present. Just put them in 
+>> the templates/ subdirectory of multiple underlay directories instead.
+>> --[[Joey]]
+
+>>>Thanks, I didn't realize this was possible. Problem solved. -- Changaco
+
+>>>> We can consider this [[done]], then. For reference, the solution
+>>>> to the hierarchy I mentioned above would be:
+>>>>
+>>>>     all your sites have $your_underlay as an underlay
+>>>>
+>>>>     the blogs and wikis all have $blog_underlay or $wiki_underlay
+>>>>     (as appropriate) as a higher priority underlay
+>>>>
+>>>>     every ikiwiki in the world (/usr/share/ikiwiki/templates)
+>>>>     \--- your site ($your_underlay/templates, or templatedir)
+>>>>         \--- your blogs ($blog_underlay/templates)
+>>>>              \--- travel blog ($srcdir/templates)
+>>>>              \--- code blog ($srcdir/templates)
+>>>>         \--- your wikis ($wiki_underlay/templates)
+>>>>              \--- travel wiki ($srcdir/templates)
+>>>>              \--- code wiki ($srcdir/templates)
+>>>>
+>>>> --[[smcv]]