I think many of you have encountered such a problem. You go to the site - you see a bunch of useful information, but at the same time the site is not organized a full search, there is no pointer, and use Google every time, to put it mildly, annoying.
And plus to everything, I would like to be able to have information under another even when there is no Internet.
CHM format is known to almost everyone. Easy, convenient and functional. It works, however, officially it is only in Windows. This format has a very big plus - after creating such a file, it will be possible to edit it in the future.
What do we need to create a complete (with search, index, content) chm file?
0. downloaded copy of the site (we will not consider here - you can get a copy of the site in many ways, for example, using programs like Teleport Pro, WebCopier).
1.
htm2chm - allows you to conveniently create content and pointer files (there is a compiler, but no search)
2.
Microsoft HTML Help WorkShop - the compiler itself, which will create chm-ki.
After installing htm2chm we do the integration with the shell.
')

Next, using the contextual me, we create pointer files (TOC.hhc) and content (Index.hhk).

Using the htm2chm content editor, we can create a convenient tree-like structure for presenting information.

Now we just need to create a project file and compile the project in HTML Help WorkShop.
Experienced I created several templates for projects.
1. Template with content and favorites, without a pointer (encoding - Win1251):
[OPTIONS]
Compatibility = 1.1 or later
Compiled file = Project.chm
Contents file = TOC.hhc
Default Window = ProjectType
Default topic = Index.htm
Display compile progress = No
Full-text search = Yes
Language = 0x419 Russian
[WINDOWS]
ProjectType = "???", "TOC.hhc" ,, "Index.htm", "Index.htm" ,,,, 0x63520,, 0x184e ,,,,,, 0
[FILES]
Sample.hhp
[INFOTYPES]
here:
Project.chm is the name of the output file.
Index.htm - start / home page for help file
All necessary files for compilation will be picked up from the content file (TOC.hhc).
2. Template with content and pointer, as well as the button for changing the font:
[OPTIONS]
Compatibility = 1.1 or later
Compiled file = Project.chm
Default Window = WindowType
Default topic = Index.htm
Display compile progress = No
Full-text search = Yes
Language = 0x419 Russian
[WINDOWS]
WindowType = "???", "TOC.hhc", "Index.hhk", "Index.htm", "Index.htm" ,,,, 0x60520,250,0x10184e, [10,10,700,500] ,, 0x200 , 1 ,,,, 0
[FILES]
Sample_FIT.hhp
[INFOTYPES]
3. A template with content and pointer, as well as a button for changing the font and add. button ("About"):
[OPTIONS]
Compatibility = 1.1 or later
Compiled file = Project.chm
Default Window = WindowType
Default topic = Index.htm
Display compile progress = No
Full-text search = Yes
Language = 0x419 Russian
[WINDOWS]
WindowType = "???", "TOC.hhc", "Index.hhk", "Index.htm", "Index.htm" ,,, "About.htm", "About", 0x60520,250,0x18184e, [10,10,700,500] ,, 0x200,1 ,,,, 0
[FILES]
Sample_FITJ2.hhp
[INFOTYPES]
here:
About - button name
About.htm - the file referenced by the button
If you look closely at the TOC.hhc file, you will notice that this is a regular xml file, in which the parameters are listed, as well as the help file display settings.
Here about these settings and talk.
You can see something like these lines:
PARAM name = "Window Styles" value = "0x800627"
PARAM name = "ImageType" value = "Folder"
PARAM name = "ExWindow Styles" value = "0x2200"
The value for Window Styles has a hexadecimal format. Here is the transcript:
PARAM name = "Window Styles" value = "0xb0daec"
Where:
c:
bit 1 - Plus / Minus squares | Squares of plus / minus
bit 2 - Draw lines between items | Draw lines between elements
bit 4 - Start line from the root | Start line from root
e:
bit 2 - Show selection when focus lost | Show selection when losing focus
It is better to set - otherwise the current topic will not be displayed with the Hide / Show combination.
a:
bit 4 - Only expand a single heading | Only expand a single title.
Those. automatic expansion of titles with sections, when selected.
bit 2 - Automatically track selection | Automatically underline item
bit 1 - puts checkboxes (but why?) ...
d:
bit 1 - Select entire row | Selection of a full line (useful thing)
only if Draw lines between items is not selected
b:
bit 8 - Border | Frame (makes sense only for Dialog Frame)
Bit 4 - Dialog Frame | Dialog box
Total for 0x800627 we have:
8 - (Border)
6 - 4 + 2 (Only expand a single heading, Automatically track selection)
2 - (Show selection when focus lost)
7 - 4 + 2 + 1 (Plus / Minus squares, Draw lines between items, Start line from the root)
Additionally:
Right-to-left reading order | Reading order from right to left
(pure bit)
param name = "ExWindow Styles" value = "0x2200"
Raised edge | Raised edge (no difference with it)
(pure bit)
param name = "ExWindow Styles" value = "0x100"
Scroll bar on left side | Scroll bar on the left side
(pure bit)
param name = "ExWindow Styles" value = "0x4200"
PARAM name = "ImageType" value = "Folder"
If this parameter is specified, the icons are presented as files.
This description is over. For compilation use:
"% PROGRAMFILES% \ HTML Help Workshop \ hhc.exe" <PROJECT NAME.HHP>
At the end we will see something like this report:
Compiling .. \ bacula_24 \ Bacula_24.chm
Compile time: 0 minutes, 3 seconds
70 Topics
5.168 Local links
74 Internet links
34 Graphics
Ps. A lot of tools can be used for decompiling, I personally use a lotion for the FAR manager - CHMView.