最近需要学习 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. 20165314 2016-2017- 3《Java程序设计》第2周学习总结

    20165314 2016-2017- 3<Java程序设计>第2周学习总结 教材学习内容总结 byte<short<char<int<long<float& ...

  2. linux安装python3+selenium

    安装笔记 当前安装使用centos7 安装python3 1.下载 [admin@ ~] wget https://www.python.org/ftp/python/3.6.0/Python-3.6 ...

  3. java/springboot自定义注解实现AOP

    java注解 即是注释了,百度解释:也叫元数据.一种代码级别的说明. 个人理解:就是内容可以被代码理解的注释,一般是一个类. 元数据 也叫元注解,是放在被定义的一个注解类的前面 ,是对注解一种限制. ...

  4. Cannot uninstall 'html5lib'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

    如标题,安装Tensorflow-gpu时遇到的完整问题 Cannot uninstall 'html5lib'. It is a distutils installed project and th ...

  5. .Net(C#)用正则表达式清除HTML标签(包括script和style),保留纯本文(UEdit中编写的内容上传到数据库)

    去官网下载,本Demo用的MVC模式 下载地址:http://ueditor.baidu.com/website/download.html 加入文件夹中的结构: 引入了函数公式的图标: @{ Vie ...

  6. rsa证书ssh登陆服务器

    好久不用,又生疏了. 今晚实操了一下,作一个记录. 使用rsa的密钥对登陆linux服务器,主要是为了安全. 这种证书级别的登陆,比最复杂的root用户名和帐号的安全性都要高一个等级. 至少服务器不会 ...

  7. (5).NET CORE微服务 Micro-Service ---- 熔断降级(Polly)

    一. 什么是熔断降级 熔断就是“保险丝”.当出现某些状况时,切断服务,从而防止应用程序不断地尝试执行可能会失败的操作给系统造成“雪崩”,或者大量的超时等待导致系统卡死. 降级的目的是当某个服务提供者发 ...

  8. bzoj4773: 负环

    题解: 网上还有一种spfa+深度限制的算法 https://www.cnblogs.com/BearChild/p/6624302.html 是不加队列优化的spfa,我觉得复杂度上限是bellma ...

  9. pandas处理finance.yahoo股票数据 WTI CL USO OIL

    1.参考 用Python做科学计算-基础篇 »matplotlib-绘制精美的图表 »快速绘图 使用pyplot模块绘图 2.数据来源 CL USO OIL 3.代码 #encoding='utf-8 ...

  10. COMException: The data necessary to complete this operation is not yet available.

    问题描述: 最近在公司AE项目中遇到了下面的问题: COMException: The data necessary to complete this operation is not yet ava ...