使用 DITA-OT 发布一份 CouchBase Server 手册
最近需要学习 CouchBase Server。而 CouchBase Server 官方网站访问速度非常慢,所以尝试使用 DITA-OT 发布一份本地文档。(其实 CouchBase Server 官网上的文档也是用 DITA-OT 发布的。)
DITA Open Toolkit 简称 DITA-OT,是一款基于 DITA 标准的文档的发布工具。DITA-OT的官方文档参见这里。
我在下载 DITA-OT 的时候,下载了好几次都没有下载成功。所以只能先本地一个编译 DITA-OT,再发布 CouchBase Server 文档。如果你能顺利下载 DITA-OT,可以直接跳过编译 DITA-OT 的步骤。
步骤1、安装 JDK 及 JRE
点击这里,访问 Oracle 官网下载。如果只是运行 DITA-OT 这种 JAVA 程序,那么安装 JDK 即可。而对于要编译 DITA-OT 源码的情况,则必须安装 JRE。(JRE 是 JAVA 的开发环境,而 DITA-OT 是 JAVA 语言编写的。好吧,其实 JAVA 我不懂……)
步骤2、配置 Windows 下 JAVA 环境变量
网上这种教程有很多,比如这个。但要注意一点,JAVAHOME 的变量值应设置为 JDK 的安装路径,不要大意设置成 JRE 的安装路径。否则,发布手册时会报找不到 tools.jar 的错误。如果已设置为 JRE 的安装路径,那么即使后续改成 JDK 的安装路径,也依然会报错。这种情况,只能把 JDK 和 JRE 卸载重装,重新配置JAVA环境变量。
步骤3、编译 DITA-OT 工具
克隆源代码,github 地址:https://github.com/dita-ot/dita-ot。
根据 README.md 完成本地编译。(如果后续有 update 源码,记得要重新编译)
步骤4、发布 CouchBase Server 文档
克隆 CouchBase Server 文档源代码,github 地址:https://github.com/couchbase/docs-cb4。
进入克隆到本地的 DITA-OT 源码所在目录(比如我的是“cd /d/work/DITA-OT/dita-ot”),执行发布命令:
src/main/bin/dita -f html5 -i /d/work/doc/docs-cb4.6/docs-cb4/content/cb-docs.ditamap -o ~/tmp/output/date
其中-f表示发布文档保存格式,-i表示待发布的文档的顶级 ditamap 文件,-o 表示发布结果保存路径。详细命令及参数可参考 DITA-OT 文档。
过程如下图:

发布过程中会有告警,这个我暂时没有研究原因。不过不影响结果。
步骤5、查看结果
资源管理器中打开发布结果目录(比如我的是“C:\Users\lifc\tmp\outout”),使用浏览器打开 index.html 即可查看刚刚发布出的本地 CouchBase Server 文档,如下图。如果想发布成 PDF 格式的文档,将发布命令中的“html5”改为“pdf”即可。

----------------补充内容------------------
修改 dita-ot 构建手册默认语言的方法:
D:\Work\DITA-OT\dita-ot\src\main\plugins\org.dita.base\build_init.xml
第53行,“en” 改为 “zh”,默认语言就从英文变为了中文。
这个有什么用呢?就是对模板中的固定短语进行自动转换语言。
比如 note 标签,从 dita 发布为 html 时,对于中文该标签内容前面要加“注:”,对于英文文该标签内容前面要加“Note:”。
中文 dita 文件:

发布成 html 文件后:

英文 dita 文件:

发布成 html 文件后:

(完)
使用 DITA-OT 发布一份 CouchBase Server 手册的更多相关文章
- jsp发布:Could not publish server configuration: null. java.lang.NullPointerException
1.jsp发布: Could not publish server configuration: null. java.lang.NullPointerException
- NoSQL数据库 Couchbase Server - 分布式缓存
Couchbase Server (前身是 Membase) 是一个分布式的面向文档的 NoSQL 数据库管理系统,该系统联合了 CouchDB 的简单和可靠以及 Memcached 的高性能以及 M ...
- 阿里云重磅发布RDS for SQL Server AlwaysOn集群版
2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysO ...
- 微软发布正式版SQL Server 2016
微软于今天在SQL 官方博客上宣布 SQL Server 数据库软件的正式发布版本(GA),历时一年多,微软为该软件发布了多个公共预览版和候选版本,而今天最终版本终于上线了.在博客中,微软数据集团的企 ...
- 【教程】发布NAServer到ArcGIS Server 10.4上[超详细]
前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的. 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask).最近设施点(C ...
- [SQL Server 2014] 微软将于年底发布新版数据库SQL Server 2014
在今年的TechEd大会上,微软宣布SQL Server 2014的第一个技术预览版.SQL Server 2014的重点包括内存OLTP.实时的大数据分析.支持混合云端,以及提供更完整的商业智能(B ...
- 将网页发布到远程windows server
1.在vs下利用文件系统发布asp.net文件 2.将生成的所有文件打包成ZIP 3.将zip文件复制并解压到远程windows server的自己创建的文件夹下 4.在windows server上 ...
- 【Arcgis Server】程序动态发布MXD到Arcgis Server
http://dkay.blogbus.com/logs/47727282.html protected void Button14_Click(object sender, EventArgs e) ...
- 程序员 & 设计师都能用上的 75 份速查手册
分享75份开发人员和设计师会用到的速查手册,由 vikas 收集整理,包括:jQuery.HTML.HTML5.CSS.CSS3.JavaScript.Photoshop .git.Linux.Jav ...
随机推荐
- Max Sum (dp)
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. F ...
- php 重要函数归集
1.json_encode 与 json_decode json_encode 把数组转化成字符串 json_encode(array) json_decode 把目标字符串转成数组json_deco ...
- Oracle unusable index 与unvisible index
1 可见性 索引的可见性(visibility)指的是该索引是否对CBO优化器可见,即CBO优化器在生成执行计划的时候是否考虑该索引,可以看作是索引的一个属性.如果一个索引可见性属性为:invisib ...
- 集腋成裘-01 sublime常用的快捷键
sublime使用的快捷键 1:Html 结构代码 : Html:xt + tab键 2:补全标签代码 : tab键 3:快速复制一行代码 : Ctrl+shift+d 4:快速选中一行代码 : ...
- 步步为营-86-WSFUpload组件
文件上传组件,所需js文件和图片在百度网盘对应的文件夹下 <%@ Page Language="C#" AutoEventWireup="true" Co ...
- Expected one result (or null) to be returned by selectOne(), but found: 3
Expected one result (or null) to be returned by selectOne(), but found: 3 返回应该是对象但是给的是list
- python functools
# 工具函数import functools print(dir(functools)) # partial函数(偏函数)def showarg(*args,**kw): print(args) pr ...
- Android 实现连续两次点击或连续多次点击退出应用
前言: 日常开发过程中,经常会遇到“连续点击两次退出应用”的需求(和“连续点击多次”的需求(如:手机从设置中进入开发者选项). 直接上代码:双击退出: private long exitTime = ...
- PrintDocument打印、预览、打印机设置和打印属性的方法
WindowsForm 使用 PrintDocument打印.预览.打印机设置和打印属性的方法. private void Form1_Load(object sender, System.Event ...
- C# 之 日常问题积累(一)
1.响应在此上下文中不可用(Response). 异常:响应在此上下文中不可用 产生异常的过程:在asp.net程序中添加了一个 类.cs ,其中有一段代码如下 : Response.ClearCon ...