EverEdit插件-CHM助手:一种免费、高效的CHM手册制作方式
1 EverEdit插件-CHM助手:一种免费、高效的CHM手册制作方式
1.1 前言
业界制作CHM手册的工具多如牛毛,高贵的商业工具如:HelpNDoc、Help+Manual、HelpSmith等;号称最专业的免费CHM制作工具的Precision Helper,以及其他各种粗制滥造的收费或免费的CHM制作工具。
以下从两种场景来介绍发布CHM帮助的过程:
1.1.1 场景1:空白工程
所有页面要从无到有编写。
商业软件是较好的选择,比如:HelpNDoc、Help+Manul、HelpSmith等无一例外的都提供了强大的写作功能,用户完全可以逐个章节进行手册书写,工具栏上也提供了丰富的格式设置,写作效率好,可以输出专业的手册。
1.1.2 场景2:页面就绪
已经有大量的手册页面(html文件),只需要编译成chm文档。
- 不管使用商业软件还是免费软件,处理方式无非两种:
- 逐个编写目录,将目录与文件绑定(低价值工作)。
- 导入文件自动生成目录,再逐个节点调整章节顺序(低效且低价值)。
说明:
笔者长时间的使用过HelpNDoc、Help+Manual、Precision Helper,对它们的专业性没有任何质疑,特别是HelpNDoc对个人用户免费,输出的文档专业范十足。但以上软件制作chm文档的效率都还存在不足,特别是在导入大量现存html页面时,需要进行大量没有意义的目录调整,且不支持批量调整,让笔者一直十分苦恼。
1.2 商业软件和免费软件优缺点分析
| 商业软件 | 免费软件 | |
|---|---|---|
| 代表软件 | HelpNDoc、Help+Manual、HelpSmith | Precision Helper |
| 优点 |
|
免费 |
| 缺点 |
|
|
注:HelpNDoc对个人使用者倒是免费,但在生成的文档中会大量插入版权标记,这种文档是不适合做为商业软件手册发布的。
1.3 探讨一种新的制作CHM的思路
1.3.1 设想1:使用免费、简单、且足够专业的笔记写作工具编写手册页面
业界大量使用的Markdown笔记软件,是非常不错的书写手册的平台, 具有如下优点:
- Markdown语法简单
- 格式相对丰富,可嵌入html做补充
- 所见即所得(很多CHM开发工具都不具备)
- 支持源代码格式渲染(专业CHM工具也不一定支持)
- 支持PlantUML、Graphviz等复杂图形和公式工具
说明:
作者长期使用VNote,该软件是一款非常不错的离线markdown笔记工具,支持导出html、pdf等格式的文件,我们可以将导出的html文件用于chm文档的制作。
1.3.2 设想2:使用免费工具将这些页面编译成CHM文档
这个设想经过笔者长期的努力,已经成为现实,即:EverEdit插件-CHM助手。下载地址
如下是EverEdit插件-CHM助手的使用说明:
CHM助手(CHMEE)
简介
作者序
插件说明
如何安装CHM助手
CHM工程的组成
工程文件(HHP)
目录文件(HHC)
索引文件(HHK)
CHMEE使用说明
步骤1:清理HTML文档
步骤2:图片宽度转换相对宽度
步骤3:文字编码转换
步骤4:制作帮助文件大纲
步骤5:制作CHM工程并编译
高效写作手册
高效制作接口文档
使用Markdown工具写作手册
参考
CHM文件搜索显示为乱码或结果不全问题处理方法
文档作者声明:本文档仅用于学习交流,未经作者许可,不得将本文档用于其他目的。
Copyright 2022~2024 All rights reserved.
EverEdit插件-CHM助手:一种免费、高效的CHM手册制作方式的更多相关文章
- 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)
很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...
- (转载)eclipse插件安装的四种方法
eclipse插件安装的四种方法 Eclipse插件的安装方法 1.在eclipse的主目录(ECLIPSE_HOME, 比如在我的机器上安装的目录是:D:\eclipse)有一个plugins的目录 ...
- documnent.getElementbyId(‘myId’)和$(‘#myId’)哪种更高效?
第一种更高效,直接调用javascript引擎.
- jQuery插件主要有两种扩展方式
jQuery插件主要有两种扩展方式: 扩展全局函数方式. 扩展对象方法方式. 扩展全局函数方式 扩展全局函数方式定义的插件,即类级别插件,可以通过jQuery.extend()来进行定义.定义格式为: ...
- CesiumLab V1.4 分类3dtiles生成(倾斜单体化、楼层房间交互)我记得我是写过一篇关于倾斜单体化的简书文章的,但是现在找不到了。不过找不到也好,就让他随风逝去吧,因为当时我写那篇文章的时候,就发现了cesium实际是有另一种更高效的单体化。就下面这个示例https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html?src=
我记得我是写过一篇关于倾斜单体化的简书文章的,但是现在找不到了.不过找不到也好,就让他随风逝去吧,因为当时我写那篇文章的时候,就发现了cesium实际是有另一种更高效的单体化.就下面这个示例 http ...
- RabbitMQ和Kafka,更加便捷高效的消息队列使用方式,请放心食用
一.RabbitMQ实例介绍RabbitMQ实例由华为云分布式消息服务(DMS)团队打造,实例采用物理隔离的方式部署,租户独占RabbitMQ实例.一键式部署,完全兼容开源RabbitMQ的使用方式, ...
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
js replace 全局替换 js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...
- Android两种为ViewPager+Fragment添加Tab的方式
在Android开发中ViewPager的使用是非常广泛的,而它不仅仅能够实现简单的开始引导页,还可以结合Fragment并添加Tab作为选项卡或为显示大批量页面实现强大的顺畅滑动 下面介绍两种为Vi ...
- 简单总结几种常见web攻击手段及其防御方式
web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...
- 简单地总结几种常见web攻击手段及其防御方式
web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...
随机推荐
- 左值 <->右值
左值引用指向左值 右值引用指向右值 int a = 5; int &ref_a = a; // 左值引用指向左值,编译通过 int &ref_a = 5; // 左值引用指向了右值,会 ...
- php生成验证码类
php生成验证码类 直接看代码 <?php session_start(); class Code{ //资源 private $img; //画布宽度 private $width=100; ...
- git 设置代理和取消代理
1.设置代理 git config --global http.proxy "127.0.0.1:1080" 2.取消代理 git config --global --unset ...
- windows下配置pytorch环境
借鉴了B站大佬的视频,自己总结安装如下. 首先安装anaconda 按照操作顺序,依次安装,按照我个人习惯,不喜欢讲文件安装在C盘,你们自己决定. 安装完毕之后. 之后打开Anaconda Promp ...
- C#的类和对象,继承
/// 类与对象 /// 类和对象是面向编程的两个核心概念 /// 类:类是对一群具有相同特征的或者行为事物的统称 类 是图纸 /// 对象是由类创造出来的一个具体存在 可以直接使用 对象是图纸造出来 ...
- 怎么根据token的有⽆去控制路由的跳转?进度条跳转 - 白名单是否有token - 单独封装文件permission .js
vue这边的路由⾃带了路由前置守卫,我们可以在前置守卫⾥拿到token数据,然后根据需求做分⽀判 断,要是token存在就使⽤next⽅法正常放⾏跳转,否则可以强制跳回到登录,让⽤户去获取token ...
- 强化学习笔记之【SAC算法】
强化学习笔记之[SAC算法] 前言: 本文为强化学习笔记第四篇,第一篇讲的是Q-learning和DQN,第二篇DDPG,第三篇TD3 TD3比DDPG少了一个target_actor网络,其它地方有 ...
- Need BLUETOOTH PRIVILEGED permission以及requestMtu导致蓝牙断连问题
在部分Android手机上,当连接上GATTService后直接requestMtu有可能会造成蓝牙连接中断,随后继续重新连接会报错Need BLUETOOTH PRIVILEGED permissi ...
- MIL-STD-1553B总线通信模块(1553B板卡)
MIL-STD-1553B总线通信模块(1553B板卡)产品具有以下特点: 1.产品覆盖多种接口CPCI/PXI/PCI/PC104/PC104+/USB等,满足用户不同平台的使用要求: 2.自主知识 ...
- 云原生爱好者周刊:Dapr 成为 CNCF 孵化项目
云原生一周动态要闻: Dapr 加入 CNCF 孵化器 Knative 1.0 发布 Canonical 开始提供针对 Intel CPU 优化的 Ubuntu 图像 Longhorn 为 CNCF ...