使用HTML Help Workshop制作chm文件

CHM做成 专栏收录该内容
3 篇文章 0 订阅

声明:本指南为个人作品,转载请注明地 址,谢谢合作。

HTML Help Workshop是Microsoft推出的免费的chm编译器,“汉化新世纪”提供了汉化版下载,不过该版本附带了广告插件。如果您不介意的话笔者建议 您到Microsoft页面下载,毕竟Microsoft是chm文件的鼻祖。目前,Microsoft提供的版本是绿色版的,将下 载的文件解压到 一个目录,点击文件夹中的 Setup.exe 安装即可使用。除了主程序,还有一个叫做“HTML Help Image Editor”图像编辑器。

首先来认识一下界面:

Html-Help-Workshop

制 作chm文件首先需要html文件,如果您手头没有html文件,那么请及时制作。

1.建立"Project"

其 次,是在HTML Help Workshop中建立一个“project”。制作步骤如下:

  • “File”→“New”→“Project”
  • “下 一步”→填写“Project”的存放名称和路径
  • “下一步”→“下一步”→完成

以 上步骤生成一个*.hhp文件,这个就是要编译的主文件。其结果如下:

Html-Help-Workshop-1

上 图中,在"change project options"可以设置chm的默认显示首页,标题,语言,允许全文搜索(“Compile full-text search information”)以及合并chm。注意:

  • “add/remove topic files”用来需要编译的HTML文件;
  • “add/modify windows definitions”用来定义CHM文件的窗口显示(按钮,位置,窗口大小以及工具栏包含的按钮)和内容等。请跳转到“搜索框”一节查看具体内容。
  • “help API information”是连接应用程序的API接口,具体内容请参阅:这里
2. 编辑“目录”

在建立“project”后,下一步是设置“contents”(目录)。点击 “contents” 按钮,我们就跳转到了目录编辑框。首次使用“Contents”时,程序会自动帮您创建一个 “Contents” (目录),您只需要按默认设置即可。下面说说创建目录的步骤:

  • 首先 点击“Insert heading...”(创建一个目录),在弹出的对话框中设置目录名,按“add”来设置目录对应的HTML文件。
  • 然 后右击创建的目录,选择“Insert page...”(插入页面)
  • 用上、下、左、右来设置目录的层级关系。注意:只 有“heading”才能包含子目录。

目录的编辑比较费 时。如果觉得默认的目录图标不好看,可以点击该目录,选择“Edit selection",“Advanced"中的”Image index"进行选择。不过该操作应该在目录全部编辑完成后用记事本打开HHC文件替换相应的图标名。

2.1 如何引用已有chm的目录?

首先必须保证当前编译的文件与被引用的文件在同一目 录,然后使用HTML Help Workshop反编译(decom-pile)被引用文件,获得被引用文件的目录文件名(一般以.hhc结尾)。得到该文件目录后(例: HTML_API.hhc)执行以下操作:

  • 在目录编辑框内右击“Insert heading...”,填写显示名称(例:HTML API)
  • 右击“HTML API”,“Insert page..”在弹出的对话框中填写:hhaxref.chm::/HTML_API.hhc[其中hhaxref.chm为被引用的chm文件]
2.2 如何使用目录定位到当前页面特定位置?

一般由于页面过长,想使用目录定位到页面的特定位置,可以使用ID来实 现。首 先要明确html中ID的意思:一个ID可以由一个或多个html标记使用。要实现页面定位,一个ID应只能由一个标记使用。要执行该操作,只要在url 的最后添加:# + ID。例:

file/Index.html#css (其中Index.html为当前页面,#new为ID名)

这 样,只要选择目录项,就会定位到指定页面位置。下图列出了部分工具及其说明:

3.Index Tab(索引框)

一般的chm文件包括有content tab,index tab,search tab等总称为global windows type,后面的章节将讲到search tab(搜索框)以及favorites tab(书签框)。索引框和目录框的设置差不多,首先想好要设置的关键字,然后慢慢整理就好了。

4.Search Tab(搜索框)

chm有两种搜索模式:基本搜索和全文搜索。如果你手头有Mirosoft出版的chm文件打 开看看就知道,它们几乎都支持全文搜索。全文搜索就是遍历chm中包含的所有HTML文件,高亮匹配内容,同时支持and、or、near、not等高级 语 法等。由于缺少必要文件,笔者多次编译出来的CHM文件都不支持全文搜索,不过经过探索终于找到了解决方法(请 看)。如前面所讲到的"global windows type"包含三 个框:目录框、搜索框以及索引框,而它的语法是$global。因此在设置“add/modify windows definitions”的名字时,需要在名字的前面添加:$global,例如:$global_main,这样就定义了一个CHM文件窗口,里面的内 容怎么设置就依据你的个人喜好。例子:

  1. 点击"change project options"中在弹出的对话框中的“Compiler”下面勾选“Compile full-text search information”;
  2. 接 着点击“add/modify windows definitions”,键入:$global_main(其中的$global_不能少),同时设置一下CHM的标题;
  3. 在“navigation pane”中勾选“search tab”及“Advanced”。

如此便设置好了全文搜索。

5.Favorites tab(书签框)

勾选“navigation pane”下的"favorites tab"即可。

6.较好的编辑习惯

HTML Help Workshop的文件都可以用记事本编辑。笔者的建议如下:

  • 使用CSS控制HTML表现
  • HTML中一定要包含标题
  • 每 一步操作都保存
  • 包含HTML的文件夹以及HTML文件名不使用中文
  • Javascript 尽量简洁
7.目录的自动创建【2009-08-20添加】

这估计是HHW最有意思的功能。这一步完成的前提是网页中必须包含标题。比如说h1,h2...,先看看下图:



在Maximum Head Level 中的数字是网页中包含标题的级别,如果仅有h2,那么级别就是1,如果包含h1,h2那么就是2。不过建议一个网页最好仅包含一个标题,因为HHW生成的目录不支持自动添加ID,什么意思呢?

比如,网页里面有<h1>Heading1</h1>和<h2 id="sub">Heading2</h2>两个标题,HHW生成的目录自然也包含两个目录项:一个是Heading1,另一个是Heading2。不过有麻烦,就是该目录与网页的对应是使用绝对引用,而不支持ID等相对引用。还是这个例子,网页的名字是Temp.htm,则生成如下目录项:

<UL>
<LI> <OBJECT type="text/sitemap">
        <param name="Name" value="Heading1">
        <param name="Local" value="Temp.htm">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
            <param name="Name" value="Heading2">
            <param name="Local" value="Temp.htm">
</OBJECT>

很显然,Heading2确实是在Heading1下面,但是两个目录项指向的都是Temp.htm,这样生成的Heading2就不能完成跳转。不过可以手动修改:

            <param name="Local" value="Temp.htm#sub">

这样既可完成跳转,这就是相对引用。不过一两个还好说,多则比较麻烦,所以建议网页不用太长,而且保证网页中只有一个标题项。

这样设置之后,在编译后即可自动生成一个目录,即可省去手动生成目录的麻烦。生成后,应该将以上设置取消{不然每次编译都生成一个新的目录},同时在第二次编译的时候加载生成的HHC文件{默认是TOC.HHC}
http://hi.baidu.com/asnahu/item/015c93e05bf2bef32a09a49f
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值