The makehelphtml script produces the html files from help files.
makehelphtml version date
makehelphtml 5.02 'March 2005'
PLEASE NOTE: there are some things about this script and the awk files that are tuned to the specific help files being used. If you add or delete help files you will need to modify these scripts appropriately.
- makehelphtml creates a LaTeX document by awking the help files using h2lhtml.awk
- run latex2html
- We are going to want to go through all of the html and find instances of the use of topics that we have help on so that we can link to them (e.g., we want to replace regress( by a link to the help on regress()). To get this started we awk with post1.awk. This goes through node1.htm, which is the table of contents, and makes a file called keylist. keylist contains ordered triples: the (negative) length of a key to replace with a link, the text of the key, and the html code to link to the node with help for the key.
- We run keylist through post1b.awk. This produces post2.awk, which does some pretty heavy lifting. post1b.awk is pretty hard to follow, since it is producing another awk file.
post2.awk gets applied to every html node except node1.htm and help.htm (which are more or less the same). It does the following: (a) fixes up the body to have the correct color (b) for every key, we search to see if the key is present in a
line. If it is and should be replaced, we make a note of the
link and replace the key by some nonsense. After we have looked
through all keys, we go back, replace the nonsense by the
matching link.
5. Now we apply post3.awk and post4.awk to node1.htm and help.htm. post3.awk is adding some additional <UL> ... </UL> pairs around search key tables. Basically, this is just to get a second level of tabling that is not done by latex2html. post4.awk takes a very long list of links to items and makes a 4 column table.
6. Now we apply post5.awk to all node*.htm files. This strips the navigation panel that latex2html puts in.
7. Now apply post5b.awk to help.htm. This also strips the (slightly different) navigation panel.
8. Now we apply post6.shell to help.htm. It adds some within page anchors for the various help files, along with links to them near the top.
9. Now we want to change the ugly nodexxx.htm names to something that is human readable. We need to move the files, and we need to change the links within the files. post7.sed prepares a list of node/name pairs. post7b.awk creates post8a.sed, which does the link changing, and post7c.awk creates post8b.shell, which does the file moves.
