龙空技术网

DITA技巧:将DITA或Markdown发布成CHM

大龙谈智能内容 89

前言:

当前我们对“编译css用什么软件”大概比较着重,大家都想要分析一些“编译css用什么软件”的相关资讯。那么小编同时在网摘上搜集了一些对于“编译css用什么软件””的相关知识,希望我们能喜欢,各位老铁们一起来学习一下吧!

- 1 -

场景

CHM是英文Compiled HTML Help的缩写,是微软公司专有的联机帮助格式,由HTML页面、索引和其他导航工具的集合组成。这些文件被压缩并部署为二进制格式,扩展名为.CHM,用于编译HTML。CHM格式通常用于软件文档。

虽然CHM格式是老的文档格式,很多Windows程序已经不再将它作为帮助文件的首选,但是有些场景我们依然希望将DITA或者Markdown发布成CHM格式的内容。尤其是为运行在Windows操作系统下的软件提供离线帮助。DITA发布体系支持将DITA内容发布成CHM格式。

本文分析将DITA或Markdown格式的内容发布成CHM格式的方法,并为实现这个目的扫清实际操作遇到的技术障碍。

- 2 -

DITA-OT发布框架

DITA-OT是DITA内容发布的开源发布引擎。它的诞生,是为了将DITA格式的内容发布成多种格式输出。

随着这些年的发展,DITA-OT支持的输入内容包括DITA和Markdown,输出的格式包括PDF、HTML和CHM格式等。见下图(源自DITA-OT官网:):

1. 输入格式一:DITA Map + Topic

系统支持由XML格式的DITA Map和XML格式的Topic组成的文档,见下例。

Map文件内容:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE map  PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map xml:lang="zh-CN">  <title>智能云相册</title>  <topicref href="./topics/chap1.dita">    <topicref href="./topics/sect1-1.dita"/>    <topicref href="./topics/sect1-2.dita"/>    <topicref href="./topics/sect1-3.dita"/>    <topicref href="./topics/sect1-4.dita"/>    <topicref href="./topics/sect1-5.dita"/>  </topicref>  <topicref href="./topics/chap2.dita">    <topicref href="./topics/sect2-1.dita"/>    <topicref href="./topics/sect2-2.dita"/>    <topicref href="./topics/sect2-3.dita"/>  </topicref>  <topicref href="./topics/chap3.dita">    <topicref href="./topics/sect3-1.dita"/>    <topicref href="./topics/sect3-2.dita"/>    <topicref href="./topics/sect3-3.dita"/>  </topicref></map>

Topic文件内容:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE topic  PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd"><topic id="general" xml:lang="zh-CN">  <title>产品概述</title>  <prolog/>  <body>    <p>智能云相册(Cloud Photos)是阿里云为影像类应用提供的一站式解决方案。智能云相册除了提供影像文件存储、管理等基础功能以外,还支持对影像内容进行分类打标、面孔识别等智能分析,并提供基于自然语言理解的智能搜索服务。</p>    <p>智能云相册服务基于阿里云云计算服务构建,它解决了以往搭建云相册后端服务过程中,需要购买、搭建和运维 ECS 集群,集成其他云计算服务(对象存储、媒体转码等),处理海量用户的高并发请求等一系列繁琐的问题。更重要的是,它提供了对影像内容的智能分析,智能生成相簿和智能搜索等服务,让人工智能技术变得触手可及,极大提高企业和个人用户构建云相册应用程序的效率。</p>  </body></topic>

发布过程是这样的:

2. 输入格式二:DITA Map + Markdown

同时,系统也支持由XML格式的DITA Map和Markdown格式的Topic组成的文档,见下例。

Map文件内容:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map xml:lang="zh-CN">    <title>智能云相册</title>    <topicref navtitle="产品简介">        <topicref href="./chap1/sect1-1.md" format="mdita"/>        <topicref href="./chap1/sect1-2.md" format="mdita"/>        <topicref href="./chap1/sect1-3.md" format="mdita"/>        <topicref href="./chap1/sect1-4.md" format="mdita"/>        <topicref href="./chap1/sect1-5.md" format="mdita"/>    </topicref>    <topicref navtitle="快速入门">        <topicref href="./chap2/sect2-1.md" format="mdita"/>        <topicref href="./chap2/sect2-2.md" format="mdita"/>        <topicref href="./chap2/sect2-3.md" format="mdita"/>    </topicref>    <topicref navtitle="用户指南">        <topicref href="./chap3/sect3-1.md" format="mdita"/>        <topicref href="./chap3/sect3-2.md" format="mdita"/>    </topicref></map>

:目前DITA-OT不支持使用Markdown来写DITA Map文件,只支持使用Markdown编写Topic。

上例中格式mdita表示Markdown格式的DITA Topic。

Markdown格式的Topic内容:

# 产品概述智能云相册(Cloud Photos)是阿里云为影像类应用提供的一站式解决方案。智能云相册除了提供影像文件存储、管理等基础功能以外,还支持对影像内容进行分类打标、面孔识别等智能分析,并提供基于自然语言理解的智能搜索服务。智能云相册服务基于阿里云云计算服务构建,它解决了以往搭建云相册后端服务过程中,需要购买、搭建和运维 ECS 集群,集成其他云计算服务(对象存储、媒体转码等),处理海量用户的高并发请求等一系列繁琐的问题。更重要的是,它提供了对影像内容的智能分析,智能生成相簿和智能搜索等服务,让人工智能技术变得触手可及,极大提高企业和个人用户构建云相册应用程序的效率。

提示:在发布过程中,如果Topic格式是Markdown,系统先将它转换成XML格式的Topic,然后再执行发布。

发布过程是这样的:

如果你所在的公司有很多Markdown格式的内容,想将他们组合在一起发布,那么通过这种方式可以将Markdown内容纳入DITA发布体系,获得单一数据源多种格式输出的能力。

- 3 -

实践

因为CHM是微软公司独有的格式,只能在Windows操作系统上运行,所以请在运行Windows操作系统的电脑上运行本实践步骤

1. 安装必要软件

如果安装了Oxygen XML Editor编辑器,它已经包含了DITA-OT发布引擎。

如果没有使用Oxygen XML Editor编辑器,那么可以自行到DITA-OT官网()下载安装程序,并按照文档安装到电脑上。本文使用的是DITA-OT 3.7.4版本。

无论用到上边两种方法的哪一种,都需要额外安装一个软件叫做HTML help workshop。这个软件是微软公司开发的,但大家可能会发现微软公司的官网已经下载不到这个软件了。

幸运的是,有其他人也碰到了此问题,并提供了解决方案。请访问如下网页:

点击网页中的下图链接下载安装程序:

注:以上链接需要科学上网才能下载。经确认发现最后一个德语下载链接可以直接访问下载

下载后,请运行这个安装程序安装HTML help workshop软件。

注意:将htmlhelp.exe下载下来后在安装之前建议使用杀毒软件查杀文件确保安全。

2. 使用Oxygen XML Editor发布

在Oxygen XML Editor编辑中打开ditamap文件,然后发布,如下图:

系统会生成xxx.chm文件。双击此文件,打开结果如下图:

3. 使用Windows命令行发布

如果没有Oxygen XML Editor并且安装了DITA-OT,则使用Windows命令行发布。

1) 打开Windows命令行

2)运行以下命令

cd C:\dev\dita\dita\cloudphotoxdita -i cloudphoto.ditamap -f htmlhelp -o out

注:C:\dev\dita\dita\cloudphotox是我ditamap文件所在路径。

第二行命令的意思:

-i cloudphoto.ditamap:输入文件是cloudphoto.ditamap-f htmlhelp:输出格式为htmlhelp-o out:输出文件放到out目录下

3)输出结果为out目录下的cloudphoto.chm文件。

打开以后如下图:

- 4 -

总结

通过本文描述的总结和实践,大家可以使用此方法将DITA和Markdown格式的内容发布成CHM格式的帮助文件。

赶快试试吧!

标签: #编译css用什么软件