How to use “Batch Compile” to create different versions of your documentation

“Batch compile” feature not only allows you to compile all supported help and documentation formats using only a couple of clicks. It also allows you to compile different versions of documentation based on preset and conditional compilation described in this post:

In this post we’ll use “Conditional Output” sample project from the set of Helpinator samples included with installation.



This simple demo has PRO and FREE presets and “Topic 1.1” which is to be published only when “PRO” preset is selected.

Open this sample (Welcome screen->Samples->More Samples) and click “Batch compile”.

Helpinator 3.11.1 - CUsersPublicDocumentsHelpinator Samplesconditions.hpz (Registered to Dmitri Popov)


1. Double-click “PDF” in the list on the left to add two “Compile PDF” tasks.

2. Enter “Save to” paths. In our case we will store two files (for Free and Pro editions respectively) into out project’s help folder. {%PRESET%} placeholder will be replaced with the selected preset name. You can also use variable names in this field.

3. Select “FREE” preset for the first task and “PRO” fro the second.


Batch Compile


Now you can click “Compile” and Helpinator will create two PDF files: “FREE.pdf” and “PRO.pdf”, the first one will go without “Topic 1.1” (as indicated by it’s “Skip topic“ condition).

3 replies on “How to use “Batch Compile” to create different versions of your documentation”

  1. We have utilized the conditional skip successfully when we only had two preset variable-sets.
    But now we have added a third preset variable-set and it seems that it is now ignored completely.
    Success (Topic is skipped) when: ‘Skip when condition is false’: CUSTOMER=’Standard’
    Failure (The Topic is NOT skipped) when: CUSTOMER=’Standard’ OR CUSTOMER=’BSI’
    Is this a known bug ?
    Is there a work-around ?
    Thank you

    1. Ulrik,
      it’s not a bug, it’s just the way expression evaluator works 🙂
      Please enclose two ‘equal’ conditions into round brackets like this:
      (CUSTOMER=’Standard’) OR (CUSTOMER=’BSI’)

Comments are closed.