This confuses me enormously. Perhaps because I am new to ikiwiki, to perl, to Linux, etc.

note and popups are templates? But they're not in the templates directory, and in my readings here, templates are supposed to be in the ../templates directory.

Ikiwiki has an basewiki underlay that provides wiki files not included in your personal wiki sources. The note and popup template pages are installed there, typically in /usr/share/ikiwiki/basewiki/templates/ --Joey

And how am I able to use e.g. links? It's not listed in /usr/share/ikiwiki/basewiki/templates. I intend do (mis)use links for a horizontal navigation. Or may I be better off altering page.tmpl? --z3ttacht


Is there a list of the TMPL_VAR-Variables that are defined by ikiwiki?

What I'm trying to achieve is to print the URL of every page on the page itself and therefore I would need the corresponding value in the Template.

Am I missing something? --jwalzer

If there isn't a suitable variable (I don't think there is a list at the moment), a plugin to add one would be about 10 lines of perl - you'd just need to define a pagetemplate hook. --smcv


Is there a list of all the available variables somewhere, or do I just grep the source for TMPL_VAR? And is there a way to refer to a variable inside of a wiki page or does it have to be done from a template? Thanks. -- AdamShand

I pulled a list of variables and posted it, its in the history for templates under my name. justint


I am trying to override page.tmpl by providing templates/page.tmpl in my srcdir- this works, but now templates/page.tmpl is created in my destdir as well! Is this expected? --chenz

Yes. Every file found in the wiki is treated as either a page (passed through the whole rendering pipeline to HTML) or an attachment (copied as-is). --smcv

Is there a way to avoid this? --chenz

With the page in your wiki's git repository: not currently. You can define a templatedir in your setup file and put your overridden page.tmpl there instead. --s


I'm seeing some curious behaviour with $srcdir/templates/ templates not being found when pushing from a remote computer. Touching the relevant file on the server and ikiwiki --setup wiki.setup --refresh -v sorts it out. I have done --refresh --wrappers just to be sure the hooks aren't out of date. Anyone knows what might be causing this? I'm running a custom branch of ikiwiki master from a couple of weeks ago so could be my own doing but my changes are mainly to the album and img plugins. --kjs

Seems like the issue is rather that the templates aren't found/triggered when the page render is set off by dependencies rather than direct editing of the page. Not the remove local issue mentioned above. --kjs

Thanks, that was the hint I needed to be able to reproduce this bug. It seems to have been caused by an optimization: please try applying commit 5fd863b5 to your Render.pm. A follow-up commit partially restores the optimization, only for rebuilds. --smcv

I've applied both your patches and as far as I can tell it's now working as expected. Templates get rendered even if rebuild is triggered by comments on another page. --kjs