[[!template id=gitbranch branch=GiuseppeBilotta/scanif author="Giuseppe Bilotta"]] When a directive that should be run during scan preprocessing is inside an if directive, it doesn't get called because the if preprocessing does not run during scan. I've written a simple [[patch]] to fix the issue, currently hosted on the scanif branch of my repository. The patch also passes the preview option back to the Ikiwiki::preprocess call, making sure that whatever is being reprocessed is done so in the same conditions as the original call.