Fog Creek Software
Discussion Board

Knowledge Base
Terry's Tips
Darren's Tips

Parsing Keywords for HTML-Help


I'm creating a template for HTML-Help using CityDesk. The biggest snag I've run into is getting the Keywords from the articles into the help topics. They way I've got it set up now requires using a semi-colon delineator (instead of a comma) and Cut-Copy-Paste in HTML-Help WorkShop. If I can figure out how to parse the Keywords from the CD Articles right into the HTML-Help KeyWords Object this template would move from cool to fantastic.

I've used the template to create a tutorial and documentation CHM file to explain it's use.

Comments appreciated.


Dave Keighan
Tuesday, April 22, 2003

Guess this'll have to be concidered a "feature request" then. :)

Dave Keighan
Friday, April 25, 2003

Nice work, Dave!

I'm not sure what you mean about keywords. I think this is beyond my understanding of HTML Help...

We use CityDesk itself to generate the CityDesk help file (along with a Word document containing the tutorial, which gets converted to PDF, and another template family that generates the online HTML version of Help for our support website).

I posted a link to your template, and I also made our help CTY file available for download at

Joel Spolsky
Friday, April 25, 2003

Hi Joel

> Nice work, Dave!
Thanks, your comments are appreciated. I was impressed with and started out with your file. I hope it helps some-one out or inspires some improvement.

> I'm not sure what you mean about keywords.
> I think this is beyond my understanding of
> HTML Help...
I think you're having me on, but I'll try and muddle through what I mean. In a nut-shell I'd like to get rid of 99% of the work required in Step 4 (Finishing Up) of my tutorial.

A HTML-Help file can have an Index tab that allows the user to find topics using "keywords". If several topics have the same keyword the user is presented a list and can select the topic they are looking for. The keywords are enclosed in an "OBJECT" located in the body of each HTML topic like this:
<OBJECT type="application/x-oleobject" classid="...">
  <param name="Keyword" value="Tutorial">
  <param name="Keyword" value="Index">
The keywords are added to the OBJECT through a HTML-Help WorkShop dialogue box where you can enter words either one at a time or using a semi-colon delineated string. Why it doesn't take the words from the (comma delineated) keywords meta tag in the document header is beyond me. MS, go figure.

My template requires users to enter the keywords, that they want in the Index of their help file, in the CityDesk Keywords field (using a semi-colon) so that they are available to be added (using Copy-Paste) when they get to the HTML-Help WorkShop step of the process.
I would prefer to be able to follow HTML (and CityDesk) guidelines/rules and use a comma to delineate the keywords. It would also allow (using template families) to generate both HTML-Help and on-line help - and still get the Index tab in your HTML-Help file while preserving the keywords meta tag formatting.

Parsing the (comma delineated) Keywords field in CityDesk with some-thing like: {$foreach sKeyWord in ($article.keywords)$} would allow me to populate the keywords object without creating an aberration by using a semi-colon delineator in the CityDesk article Keywords field and resultantly in the HTML keywords meta tag.

> I posted a link to your template,
Thank-you, again I hope wsome-one finds it useful.

Sorry that was so long :(

Dave Keighan
Saturday, April 26, 2003

*  Recent Topics

*  Fog Creek Home