电脑技术学习

如何合并多个HTML 帮助文件的

dn001
;你有没有想过,假如你单独发行了若干小游戏,并为这些小游戏写了 HTML 帮助。突然有一天,你打算把这些小游戏集合起来搞成一个“游戏乐园”,是不是要把它们的帮助文档源文件(.htm) 再拿出来编译一遍呢?添加 HTML 道是非常方便,可是那一堆目录和索引,难道需要重写吗?――天啊,人生最痛苦的事莫过于此。

不过没关系, 虽然有些时候 Microsoft 的东东的确很差劲,但这次,它想到了――提供了一个非常方便的合并(Merge) 功能,可以把目录、索引甚至全文搜索字典都合并起来。

怎么开始呢?还记得在“设置工程选项(Project Options)”一节中最后介绍的内容吗?对了,就是从这里开始的:工程选项(Option) 对话框的 Merge Files 属性页。不过在这之前我们需要新建一个 HTML 帮助工程,所有制作将在这个工程中完成。

Merge Files 属性页里只有添加(Add...) 和删除(Remove) 两个按钮,它们的作用我想不必介绍了吧。只需要在这里添加你想要合并的文件,第一步就简单的完成了。不过切记,这个合并不是真正意义上的合并――生成后的 HTML 帮助文件大小和没合并前几乎一样大。因此,发布帮助文档的时候,需要将被合并的 HTML 帮助一起发布。

现在还有一个问题,我编译后找遍了所有链接,始终打不开被合并的帮助文件啊,什么地方搞错了?不要着急,我们才刚刚完成第一步,不过做完这一步,被合并 HTML 帮助文件的索引和全文搜索字典都已经合并进来了,你没找到吗?那是你观察不仔细。

下面,我们要做的第二步是合并目录。

在刚才新建的工程中添加一个目录文件,当然,是新建的。然后右键单击空白处弹出菜单。菜单的前两项都已经在“为帮助文件添加目录(Contents)和索引(Index)”一节有介绍过了,第三项“Insert File...”才是本节的重头戏。

点击“Insert File...”菜单项,会弹出一个叫做“Include File”的对话框,选择你要合并的 HTML 帮助文件(.chm),然后……还没完,你还需要动手添加如下文字

.....chm::contents.hhc

前面的 .....chm 是你选择的文件,后面的 ::contents.hhc 是要你动手输入的。其中 contents.hhc 要根据实际你使用的目录文件名来填写,而这个目录文件是 .....chm 的,不是当前工程的。如果还没明白,看看下面注意事项的例图。

编译运行,一切正常,该合并的都合并了,从目录里就能找到被合并帮助文件中的内容。不过,这个样子好象还是有点不对劲啊――下面我来说说需要注意的地方。

第一,我们没有给这个新工程添加主题文件。有什么后果?想想你用 IE 浏览一个不存在的页面时会出现什么样的情况吧。任何一个 HTML 帮助都有一个默认页的,我们新建这个工程也不例外,虽然它合并了其它的 HTML 帮助,但是――还是没有自己的默认页啊。结论:无论如何要给它添加一个主题文件,就算是封面好了。

第二,HTML Help Workshop 在这里有一个 BUG,为免费BUG,你需要注意的第二点就是:想要目录中的并入文件节点是子某个节点的字节点,在编辑时应该让它和这个节点同层次。   有时候我们会见到一从一个帮助页中链接到另一个帮助文件的例子,比如在 MSDN 中就非常多,这就是怎么实现的呢?其实,这不是 HTML Help Workshop 的工作,而是主题文件(.htm) 的工作。需要在 HTML 文件中插入一个用打开 HTML 帮助的 ActiveX 控件,这里就不详述了。

标签: