最近需要学习 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. GIT的基本使用及应用场景

    一.什么是GIT? Git 是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. GitHub.GitCafe.BitBucket和GitLab等是基于Git版本控制的远 ...

  2. java内部类和异常类的概念

    1.内部类的外嵌类的成员变量在内部类中任然有效,内部类中的方法也可以调用外嵌类中的 方法,内部类中不可以声明类的变量和方法,外嵌的类体可以用内部类声明对象,作为外嵌类的成员.内部类仅供他的外嵌类使用. ...

  3. application program Can't Start

    一.电脑插U盘中毒之后感染,出现无法启动,但是风扇工作,先拔掉电源,卸掉电池之后重新安装,重启电脑,之后发现电脑桌面上的程序无法启动,360webShield也无法启动,可能是电脑中毒后的假死机现象. ...

  4. Axure实现多用户注册验证

    *****多用户登录验证***** 一.(常规想法)方法:工作量较大,做起来繁琐 1.当用户名和密码相同时怎么区分两者,使用冒号和括号来区分: eg. (admin:123456)(123456:de ...

  5. azkaban安装使用

    本文记录azkaban的安装和 一些报错处理(文章末尾). AzKaban组成 MySQL数据库,azkaban-server (web端),azkaban-executor (执行job) 1.下载 ...

  6. 在java中获取URL的域名或IP与端口

    package com.xxl.sso.sample; import java.net.URI; import java.net.URISyntaxException; public class te ...

  7. springboot调用http方式

    1.httpclient 2.okhttp 3.feign 安装Gradle包 compile 'org.springframework.cloud:spring-cloud-starter-open ...

  8. Tomcat8 启动慢 Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [53,161] milliseconds

    修改$JAVA_PATH/jre/lib/security/java.security文件 将 securerandom.source=file:/dev/random 修改为 securerando ...

  9. zookeeper 学习 zookeeper下载部署

    下载 http://mirror.bit.edu.cn/apache/zookeeper/ 校验 解压后得到zookeeper-3.4.10.jar,使用md5sum zookeeper-3.4.10 ...

  10. ASP.NET Core Cookie-based认证实现

    using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace HelloCore2.Contr ...