That is correct John. Once you have a folder structure in your project it gets mirrored in your output. If you change the output structure you are asking for trouble.
Out of interest though why is the folder structure an issue for your CHM file?
We have a WPF/C# application that has a help string in each XAML file for context-sensitive help. When the user is on the Login page we have a help string that tells the context-sensitive help which topic to display. In this example the string might be "login". We take that string and append ".htm" to the end of it to find the appropriate help topic file inside of the CHM file.
If the technical writer puts the login.htm file into a Robohelp project folder named "\basics\login.htm" off the root then our application would need to look for the login.htm in the same path. Right now we only have the word "login" on the screen. And of course different topics would have different folders so there would be no way we'd be able to tell by file what to append.
What we will have to do is to go back into the code for every screen and change the help string to actually represent the full path of each help file. Which isn't a problem really. That will just have to happen for our next release.
I think the biggest issue we're having with Robohelp is lack of knowledge on how the product works. We're adapting but we make some missteps because we don't see the consequences down the road. We've watched some videos and gotten the basics down but there are more "connecting the dots" things that we need to consider and that will come in time with more and more use.
RoboHelp uses the Microsoft HTML Help compiler to do its magick for a CHM. This means that RoboHelp creates the necessary .HHP file that would be needed if you opened the HTML Help Workshop (HHW) supplied by Microsoft at the link below:
Note that when you install HHW, it will report that a newer version of the Workshop is already installed. But once you click OK, it will happily report that it has been installed.
If you open HHW, you may do what you are seeking to do by clicking the Change Project Options button.
This should open the Options dialog.
From there, click the Compiler tab and enable the option Don't include folders in compiled file.
Compile and you should have a "flat" file structure!
Wow, who'da thunk it - the miracles of ancient technology ;>)
I suppose I should have mentioned a couple of things.
- This does mean you will need to ensure ALL topic file names are unique. (otherwise, you will encounter issues when the duplicates try to share the same folder)
- It also means you will need to compile first with RoboHelp (to ensure the .HHP file is properly updated)
I tried simply amending RoboHelp's HHP file to include the setting that causes this to occur. Unfortunately, after making the changes things stopped working and no CHM was produced.
Gaa! Okay, that solution may require more work than I thought. Here's the deal.
RoboHelp stores the TOC and Index as an XML file structure. My further testing seems to indicate that HHW is gagging on the files.
I'm going to suggest you file a Feature Request at:
And ask the dev team to consider building in an ability to create a flat file structure as HHW allows.
Sorry for the issues... Rick