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. 解密prompt系列39. RAG之借助LLM优化精排环节

    RAG的部分我们之前讨论过信息召回的多样性,信息密度和质量,主要集中在召回,融合,粗排的部分.这一章我们集中看下精排的部分.粗排和精排的主要差异其实在于效率和效果的balance.粗排模型复杂度更低, ...

  2. ftrace irqs跟踪器

    当中断被关闭(俗称关中断)了,CPU就不能响应其他的事件,如果这时有一个鼠标中断,要在下一次开中断时才能响应这个鼠标中断,这段延迟称为中断延迟.向current_tracer 文件写入 irqsoff ...

  3. ribbon配置负载均衡策略

    ribbon的负载均衡策略 com.netflix.loadbalancer.RandomRule:从提供服务的实例中以随机的方式: com.netflix.loadbalancer.RoundRob ...

  4. 1553B总线测试仪

    1553B总线测试仪-天津光达航电科技有限公司在测试模拟1553B总线的标准化测试仪器,该仪器是通过简单直观的管理工具实现复杂的MIL-STD-1553的测试及模拟功能,主要包括对MIL-STD-15 ...

  5. Nuxt.js 应用中的 build:done 事件钩子详解

    title: Nuxt.js 应用中的 build:done 事件钩子详解 date: 2024/10/21 updated: 2024/10/21 author: cmdragon excerpt: ...

  6. 用easyVget下载B站油管视频

    B站油管等视频平台简直就是无所不有的宝库,动漫.番剧.纪录片.科普,更有海量的学习资源,可以极大地满足你的视觉欲和求知欲. 作为一只视频仓鼠,我热衷于下载自己感兴趣的视频到本地,不用担心视频被和谐.不 ...

  7. synchronized锁的内容

    synchronized锁的内容 import java.util.concurrent.TimeUnit; class Test1 { public static void main(String[ ...

  8. CentOS7.4 安装 11204 ASM GI 组件时:ohasd failed to start

    前段时间某客户要求在CENTOS7上部署Oracle 11.2.0.4 single instance && ASM存储,遇到一个比较头疼的问题,好在已经处理完了. 在图形化执行安装程 ...

  9. css常用布局之flex布局

    Flexbox 是一个一维的布局模式,它可以轻松地在不同的方向上排列子元素(称为 flex 项),即使它们的大小是未知或者是动态变化的.以下是 Flexbox 的一些关键概念: 容器和项: 启用 Fl ...

  10. 强化学习性能指标之一:以训练的episodes数和训练所需样本数作为评价算法性能的指标

    在强化学习领域,一般都是限定训练的episodes数和训练所需样本数的,也就是说在进行算法性能对比的时候各个算法都是在相同的训练的episodes数和训练所需样本数的,但是如果我们在算法得分数保持相同 ...