Helpinator 3.11.3

In this update:

– Added “Advanced rearrange” feature of topic manager
– Now you can define different styles for topic titles in PDF according to their level
– Added a way to control level depth of TOC (to trim excessive levels)
– Reworked “WebHelp” tab of project options
– Improved “auto-resize images” feature for PDF files
– bugfixes

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).

How to create different versions of documentation from the same source

OK, Helpinator is a multi-format single source help authoring tool, e.g. you can create help files and documentation in different formats from the same source. But what if you need different versions of content? Say, your app has two edition: Pro and Lite with different sets of features and you need to create CHM help files for both editions. What to do? Create different help projects for each edition? NO! Use conditional output!

Conditional output is based on variables. Variable values control conditional statements, that in their turn alter output at compile time. Helpinator has special type of variables that allow to switch their values quickly. Values of these variables depend on which values preset is selected at compile time. Take a look at the “Variables” tab of project options. At the bottom of it there’s “Preset” drop-down list and commands to add, rename and delete presets. Let’s add two presets: “PRO” and “LITE”.



Now we can add control variable that we will use in conditional statements. Let’s call it “EDITION”.



Set it’s value to “PRO” for PRO preset and “LITE” for LITE preset.

Now when “PRO” preset is selected this variable has PRO value in it and LITE when “LITE” preset is selected.

There are two ways you can control output:

  1. Via IF directives in the topic content
  2. Via topic inclusion condition


First let’s see how to use IF directive. Say, our help project has “Features” topic with a list of features in it. Remember, our PRO and LITE editions have different sets of features. You can use a directive like this to make topic “Features” contain only features of LITE or PRO editions:



But that’s only one problem. Our help project also contains separate topics for each of the features and we do not want to include topics with features of PRO edition into the help file of LITE edition. This is where topic inclusion condition comes in help. Take a look at the bottom of the topic editor, there’s “Skip topic” tab. It contains “Skip when condition is FALSE” field, it allows you to set condition for topic inclusion. In our case we’ll create a condition EDITION=’PRO’ for the topics that cover features of PRO edition, so they will be included in PRO edition help file and skipped from LITE edition help file:



Hope this little tutorial will help you to get familiar with conditional compilation. Also there’s a sample project with the same name that you can access via “Samples” section of the welcome screen. Click “More samples” and select “Conditional output” from the list.

Java Help Systems Supported By Helpinator

As of version 3.10 Helpinator supports the following Java-oriented help systems:

  1. OracleHelp,
  2. JavaHelp
  3. HelpGUI


1. OracleHelp

The most powerful and well-thought help system for Java created by Oracle Corporation. Has two “branches”: OracleHelp for Java and OracleHelp for Web. New versions come out regularly.

Blog post about OracleHelp:

2. JavaHelp

Original Java help system. Outdated and is not under active development.

Blog post about JavaHelp:

3. HelpGUI

A lightweight help system with a limited set of features.