The HTMLHelp offers different possibilities to make an index. The following sections explain the possibilities. The use of the program KIT is recommended if keywords are already inserted into the <meta> section of the HTML files with a HTML editor.
The keywords are assigned manually to the topics with Microsoft HTMLHelp Workshop. Create a new index file e.g. index.hhk in the root folder of your project when starting here with a click to the index tab.

To create a primary (or first level) keyword associated to a local topic
1. Click Insert a Keyword . The Index Entry dialog box appears.
2. Type the keyword in the Keyword input box.
3. Click Add. The Path or URL dialog box appears.
4. Select the topic from the list of files and click OK.
5. Click OK.

To create a secondary (or multi-level) keyword associated to a local topic:
1. Follow steps 1 through 5 above. If the message "Do you want to insert this entry at the beginning of the index?" appears, click No.
2. The keyword appears as highlighted on the Index tab. Use the up and down arrows to position the keyword under its primary keyword, then use the right arrow to indent

This is a pain - better use KIT for this!
Microsoft HTMLHelp Workshop can keyword also as an object tag embed in the HTML source text.
..
<object type="application/x-oleobject"
classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="HTMLHelp">
<param name="Keyword" value="Index">
<param name="Keyword" value="Workshop">
</object>
..
This keywords are stripped out of the HTML source text by the compiler. One can use this as a trick to the protection of an effortful index since the keywords are only available in the index when decompiled and in the HTML source text no more. You must activate "Include keywords from HTML editor" on tab "Files" in the project properties.
However, commas in the "value" attribute create a new index sub-level when the file is compiled.
To include commas in index keywords without being parsed as a new sub-level, you can include the HTML special character code for comma (,) in the keyword name. You must include a space after the special character code.
Example:
..
<object type="application/x-oleobject"
classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="fruits, southern">
<param name="Keyword" value="fruits, southern,grapes">
<param name="Keyword" value="fruits, southern,orange">
<param name="Keyword" value="fruits, southern,pineapple">
</object>
..
In a HTMLHelp project keywords for the index can want to integrate as a meta statement in the section <head> with help of an undocumented function . This one indicated so keyword be tied into the index at a compiled help system. The easy take-over to Help 2.0 is also interesting.
The connection of content working and keywords at the same time are important, when writing the help text. A help author often set the keywords after help development is closed - not a good idea!
Have a look at the example, please. I had a HH 1.x project with keyword items embedded as Meta statements in the HTML head section. The K-Links are included as shown, A-Links are defined similarly, but the tag name is "MS-HAID".
A uncompressed help system dosn't display these words in the keyword list!
<head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../design.css"> <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <meta name="keywords" content="Help Window, Browser, Table of Contents, Index"> <meta name="MS-HKWD" content="Browser"> <meta name="MS-HKWD" content="Table of Contents"> <meta name="MS-HKWD" content="Index"> <title>Hilfefenster Browser</title> </head>
For multi-level keywords us a comma.
<META NAME="MS-HKWD" CONTENT="Browser, Options">
If you define a Keyword "xxx,yyy" then you must also define a keyword "xxx" somewhere as well, or the result could be a little strange.
A-keywords are defined similarly, but the name is "MS-HAID".
Note: The advantage here is this Keyword mark is NOT removed from the HTML
document at compile time.
Using the HH 1.x -> H2 converter (ISV build 2.1.9254.0) the Keyword tags were converted over to MS Help2 PREVIEW (!) and embedded as XML data islands in the HTML body.
This worked when converting either a .CHM or .HHP.
<head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../design.css"> <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <meta name="keywords" content="Hilfefenster, Browser, Inhalt, Index"> <meta name="ProgId" content="FrontPage.Editor.Document"> <title>Hilfefenster Browser</title> <xml> <MSHelp:keyword index="K" term="Browser"/> <MSHelp:keyword index="K" term="Inhalt"/> <MSHelp:keyword index="K" term="Index"/> </xml> <LINK REL="stylesheet" TYPE="text/css" HREF="ms-help://Hx/HxRuntime/HxLink.css"> <LINK REL="stylesheet" TYPE="text/css" HREF="ms-help://Hx/HxRuntime/HxLinkDefault.css"> </head>