Once you’ve written your help file or documentation web-site, you’d usually like to be able to integrate it with your existing products: when users are having difficulties performing an action, they should be able to launch the help file and be presented with the correct associated topic explaining that specific action. For that purpose, Help Authoring Tools such as HelpNDoc provide two unique identifiers for each topic: an alpha-numeric Help ID and a numeric Help Context number. This makes it possible to reach a specific topic from your software application or web-site. But as a technical writer, you probably won’t be in charge of “wiring” that application or web-site with the help file and you’d rather send a list of topic identifiers to the developers in charge. Thanks to HelpNDoc’s very powerful script editor, you can easily do that!

Use HelpNDoc’s API to automate that job

HelpNDoc includes a very powerful API which can be used from the Script Editor to maintain and automate your projects. We will use it to create a file with a list of topic identifiers.

Use HelpNDoc's script editor to export topic identifiers

Once you’ve opened your project, you can access HelpNDoc’s Script Editor from the “Tools” ribbon tab. The script editor will be used to input and execute pascal-based code to automate the generation of a text file containing a list of topic captions as well as their associated Help ID and Help Context numbers.
If you are not a developer, do not worry: just copy and past the following script, then hit “Run script” in HelpNDoc’s script editor to automatically generate that text file.

  // Define the output file
  OUTPUT_FILE = 'c:\tmp\topics.txt';

  // Current topic ID
  aTopicId: string;
  // List of output
  aList: TStringList;

  // Init list
  aList := TStringList.Create;
  aList.Add('Topic Caption | Help ID | Help Context');
    // Get first topic
    aTopicId := HndTopics.GetTopicFirst();
    // Loop through all topics
    while aTopicId <> '' do
      // Add the topic to the list
      aList.Add(Format('%s | %s | %d', [
      // Get next topic
      aTopicId := HndTopics.GetTopicNext(aTopicId);
    // Create the file

By running this script, HelpNDoc will generate a file located at “c:\tmp\topics.txt” (this can be customized in the script above) with a list of all the topics available in the current project. You can now send that file to your developers so that they can wire the application or web-site with the help file you are currently writing. This way, you won’t have to do the developer’s job and the developer won’t need to have to access the help file’s structure. Here is a sample generated text file:

Topic Caption | Help ID | Help Context
Introduction | Introduction | 0
Welcome | Welcome | 1
What's new | Whatsnew | 2
Getting Started | GettingStarted | 3
System requirements | Systemrequirements | 4
Getting help | Gettinghelp | 5

HelpNDoc’s API will help you save time

Thanks to HelpNDoc’s very powerful API and script editor, you will be able to quickly and easily achieve things which are impossible with any other Help Authoring Tools: Automate help and documentation generation, export topic identifiers, simplify time-consuming tasks… the possibilities are endless! So take a look at HelpNDoc’s huge list of available API methods and start automating your help, documentation and eBook writing now.

See also

Categories: articles