Today is not a regular Monday, it’s CYBERMONDAY sale celebration, so, well, here we go:

Helpinator One User Lifetime Updates (250USD normally) today costs just 59USD. PayPal order link:

1341907725_label_sale blue

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.

Helpinator 3.11

In this update:

  • Now you can embed video into topics (both from video hosting services like YouTube and from local files)
  • Updated templates (both HTML and RTF based)
  • Updated welcome screen
  • Updated documentation
  • bugfixes

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.

Version 3.10: OracleHelp

Version 3.10 adds new output format: OracleHelp. This format and help system is maintained by Oracle. It has two “modes”

1. OracleHelp for Java – for use with Java applications

2. OracleHelp for Web – for use as a WebHelp.


Using Helpinator you can create source data for both “modes”. It creates “books” for all languages in the project and OracleHelp for Web configuration file.

Also Helpinator creates “launcher.cmd” file for easy testing of your help system.

You can read more about OracleHelp here:


How to compile OracleHelp:

1. Download and install JDK:

2. Download and install OracleHelp

3. Set Helpinator options (Main Menu->Tools->Options, “Compilers” tab)



4. Now you can click “Compile OracleHelp” on the main tool bar.



Compiled OracleHelp looks like this:



Version 3.10: Publish to WordPress

Version 3.10 introduces new feature: “Publish to WordPress”. WebHelp is a great thing, but if your website has CMS you have to manage static HTML pages of WebHelp and dynamic content of CMS separately. It’s far better to use built-in features of CMS to organize online help system. Now Helpinator allows you to work with the most popular CMS in the world – WordPress. You can:

  • publish topics to your WordPress-powered website, with tree-like structure of pages
  • publish documentation under selected page (For example, if you have a page named “Support” you can publish documentation under this page)
  • select one of the page templates available in your WordPress theme
  • republish changed topics

Helpinator also creates root “Table of Contents” page with hierarchical links to topics.

You can also turn your WordPress installation into a knowledge base website using Helpinator as a client for it.

Visit this sample WordPress site to see Helpinator documentation published to WordPress:


How to set up Helpinator to publish to WordPress:

1. Open your project

2. Click “Publish to WordPress” button on the toolbar:



3. Click “+” button to add new profile



4. Fill in Blog URL, username and password to connect to WordPress installation.



5. Click “Check connection” to check that URL, username and password are correct



6. Click “Refresh” button next to “Page Template” drop-down list. This will populate the list of available page templates (in your current WordPress theme).



7. Select page template to use for documentation topics


8. If you need to place online documentation under certain wordpress page:

8.1. Click “Refresh” button next to “Parent page” drop-down list and select one of existing pages

8.2. Select “Root page order” – this number defines position of documentation root page in the list of child pages of “Parent Page”.

9. Now you can click “Save” to save your account or click “Publish” right away.

Note that:

1. To enable REpublish feature you have to save your project after Helpinator finishes publishing.

2. Helpinator does not store your password for security reasons

3. WordPress XML RPC protocol at this time doesn’t allow to update or delete images (there’s a bug in it) so after you REpublish your documentation you will have to remove excessive images manually.