It would be nice to be able to override a single template without keeping a
private copy of the entire template directory.
a setup option like
templatedirs => [ "my/dir", "/usr/share/ikiwiki/templates" ]
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.
And it is even documented in the man page. Sigh. I guess this could be
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]]
|