1 EverEdit插件-CHM助手:一种免费、高效的CHM手册制作方式

1.1 前言

  业界制作CHM手册的工具多如牛毛,高贵的商业工具如:HelpNDocHelp+ManualHelpSmith等;号称最专业的免费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手册制作方式的更多相关文章

  1. 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)

    很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...

  2. (转载)eclipse插件安装的四种方法

    eclipse插件安装的四种方法 Eclipse插件的安装方法 1.在eclipse的主目录(ECLIPSE_HOME, 比如在我的机器上安装的目录是:D:\eclipse)有一个plugins的目录 ...

  3. documnent.getElementbyId(‘myId’)和$(‘#myId’)哪种更高效?

    第一种更高效,直接调用javascript引擎.

  4. jQuery插件主要有两种扩展方式

    jQuery插件主要有两种扩展方式: 扩展全局函数方式. 扩展对象方法方式. 扩展全局函数方式 扩展全局函数方式定义的插件,即类级别插件,可以通过jQuery.extend()来进行定义.定义格式为: ...

  5. CesiumLab V1.4 分类3dtiles生成(倾斜单体化、楼层房间交互)我记得我是写过一篇关于倾斜单体化的简书文章的,但是现在找不到了。不过找不到也好,就让他随风逝去吧,因为当时我写那篇文章的时候,就发现了cesium实际是有另一种更高效的单体化。就下面这个示例https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html?src=

    我记得我是写过一篇关于倾斜单体化的简书文章的,但是现在找不到了.不过找不到也好,就让他随风逝去吧,因为当时我写那篇文章的时候,就发现了cesium实际是有另一种更高效的单体化.就下面这个示例 http ...

  6. RabbitMQ和Kafka,更加便捷高效的消息队列使用方式,请放心食用

    一.RabbitMQ实例介绍RabbitMQ实例由华为云分布式消息服务(DMS)团队打造,实例采用物理隔离的方式部署,租户独占RabbitMQ实例.一键式部署,完全兼容开源RabbitMQ的使用方式, ...

  7. js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式

    js replace 全局替换   js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...

  8. Android两种为ViewPager+Fragment添加Tab的方式

    在Android开发中ViewPager的使用是非常广泛的,而它不仅仅能够实现简单的开始引导页,还可以结合Fragment并添加Tab作为选项卡或为显示大批量页面实现强大的顺畅滑动 下面介绍两种为Vi ...

  9. 简单总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

  10. 简单地总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

随机推荐

  1. Flutter TextField 的高度问题

    示例 先来看一个例子:假设我们要做一个表单,左边是提示文字,右边是输入框 给出代码: Row( crossAxisAlignment: CrossAxisAlignment.center, child ...

  2. Nuxt.js 应用中的 app:redirected 钩子详解

    title: Nuxt.js 应用中的 app:redirected 钩子详解 date: 2024/10/3 updated: 2024/10/3 author: cmdragon excerpt: ...

  3. 使用datagrip时,报错 connection refused

    因为数据库没有开启 : 打开终端 输入(管理员身份): net start mysql80   (这是你的数据库的名字)

  4. MYSQL存储过程-练习2 while 循环

    MYSQL存储过程-练习2 while 循环 1 #WHILE循环 2 DELIMITER $$ 3 4 CREATE PROCEDURE `sp_while`() 5 BEGIN 6 DECLARE ...

  5. 容器化部署nacos 1.4.6报错caused: The specified key byte array is 0 bits which is not secure enough for any JWT

    nacos2.0+ 与nacos 1.x区别 nacos在2.0+版本开始使用grpc与客户端通信,并且通过非8848端口通信 主要是有两个端口 端口 与主端口的偏移量 描述 9848 1000 客户 ...

  6. 云原生周刊:GitOps 的 4 条核心原则

    日前在温哥华举行的 cdCON + GitOpsCon 上,分享内容以 GitOps 原则为特色: GitOps 是声明式的: GitOps 应用程序是版本化的和不可变的: 自动拉取 GitOps 应 ...

  7. OpenFunction 0.6.0 发布: FaaS 可观测性、HTTP 同步函数能力增强及更多特性

    OpenFunction 是一个开源的云原生 FaaS(Function as a Service,函数即服务)平台,旨在帮助开发者专注于业务逻辑的研发.在过去的几个月里,OpenFunction 社 ...

  8. .NET云原生应用实践(四):基于Keycloak的认证与授权

    本章目标 完成Keycloak的本地部署与配置 在Stickers RESTful API层面完成与Keycloak的集成 在Stickers RESTful API上实现认证与授权 Keycloak ...

  9. P9119 [春季测试 2023] 圣诞树

    参考博客: 春季测试 2023] 圣诞树 题解 - 洛谷专栏 (luogu.com.cn) 题意:给定二维平面上一个凸多边形的 \(n\) 个顶点, 求一种方案,使得从最高点开始,不重复地经过所有点后 ...

  10. 题解:CF559B Equivalent Strings

    CF559B Equivalent Strings 题解 题目描述 吐槽一下,题目翻译有歧义. 思路分析 你会发现,当你需要判断字符串 \(a,b\) 是否等价时,如果长度为偶数,需要继续判断字符串 ...