最近需要学习 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 手册的更多相关文章

  1. jsp发布:Could not publish server configuration: null. java.lang.NullPointerException

    1.jsp发布: Could not publish server configuration: null. java.lang.NullPointerException

  2. NoSQL数据库 Couchbase Server - 分布式缓存

    Couchbase Server (前身是 Membase) 是一个分布式的面向文档的 NoSQL 数据库管理系统,该系统联合了 CouchDB 的简单和可靠以及 Memcached 的高性能以及 M ...

  3. 阿里云重磅发布RDS for SQL Server AlwaysOn集群版

    2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysO ...

  4. 微软发布正式版SQL Server 2016

    微软于今天在SQL 官方博客上宣布 SQL Server 数据库软件的正式发布版本(GA),历时一年多,微软为该软件发布了多个公共预览版和候选版本,而今天最终版本终于上线了.在博客中,微软数据集团的企 ...

  5. 【教程】发布NAServer到ArcGIS Server 10.4上[超详细]

    前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的. 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask).最近设施点(C ...

  6. [SQL Server 2014] 微软将于年底发布新版数据库SQL Server 2014

    在今年的TechEd大会上,微软宣布SQL Server 2014的第一个技术预览版.SQL Server 2014的重点包括内存OLTP.实时的大数据分析.支持混合云端,以及提供更完整的商业智能(B ...

  7. 将网页发布到远程windows server

    1.在vs下利用文件系统发布asp.net文件 2.将生成的所有文件打包成ZIP 3.将zip文件复制并解压到远程windows server的自己创建的文件夹下 4.在windows server上 ...

  8. 【Arcgis Server】程序动态发布MXD到Arcgis Server

    http://dkay.blogbus.com/logs/47727282.html protected void Button14_Click(object sender, EventArgs e) ...

  9. 程序员 & 设计师都能用上的 75 份速查手册

    分享75份开发人员和设计师会用到的速查手册,由 vikas 收集整理,包括:jQuery.HTML.HTML5.CSS.CSS3.JavaScript.Photoshop .git.Linux.Jav ...

随机推荐

  1. Django框架之第三篇模板语法(重要!!!)

    一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...

  2. Vue+restfulframework示例

    一.简单回顾vue 前不久我们已经了解了vue前端框架,所以现在强调几点: 修改源: npm config set registry https://registry.npm.taobao.org 创 ...

  3. Mycat节点扩缩容及高可用集群方案

    数据迁移与扩容实践: 工具目前从 mycat1.6,准备工作:1.mycat 所在环境安装 mysql 客户端程序. 2.mycat 的 lib 目录下添加 mysql 的 jdbc 驱动包. 3.对 ...

  4. java 命令行运行时报错:找不到或无法加载主类

    源码如下: 路径目录(...\src\object) //: ch1.10/Command.java /**@author feilong * @version 1.0 */ package obje ...

  5. django----利用Form 实现两次密码输入是否一样 ( 局部钩子和全局钩子 )

    from django import forms # 导入表单模块 from django.core.exceptions import ValidationError class RegisterF ...

  6. CF 833B

    互测题T3... 首先有个dp是非常好想的: 设dp[i][j]为前j个数分成i组的最大得分,则易得:dp[i][j]=max{dp[i-1][k-1]+num[k][j]},其中,num[k][j] ...

  7. Vue 导入文件import、路径@和.的区别

    ***import: html文件中,通过script标签引入js文件.而vue中,通过import xxx from xxx路径的方式导入文件,不光可以导入js文件. from前的:“xxx”指的是 ...

  8. 俺也会刷机啦--windows7下刷android

    刷机很多人都会,本文只为像我这种入门的朋友而写的. 风险提示: 1. SD卡数据极可能会丢失(我这次就全丢了). 2. 升级失败. (俺的)环境说明: windows7 专业版64位 cmd命令行工具 ...

  9. Personal小金库(避免遗忘,优秀的网址会保存于此方便自己查看)

    由于记性不好,~.~,所以整理了一下一些自己经常看的网址或者博客......不断更新中,如果对您造成了侵权,我立马删除.谢谢~.~ 1:个人的一些link~.~ 博客园名称:别先生 博客园网址:htt ...

  10. js 给定时间,如'2013-08-30',换算和今天的天数差

    由于项目中需要用到给定时间格式,如'2013-08-30',需要计算其和当前时间的间隔,需要算出间隔的时间,自己在网上搜索,并做了下简单的整理,总体思路分3步:1.将给定的时间和当前时间转换为毫秒 2 ...