标签归档:文章

docbook之旅

docbook之旅

docbook之旅


1. 我选择花点功夫学下docbook源自于我遇到的一些问题

  • 很多可视化编辑器的笨拙(wordpress原生编辑器),写文章时的格式问题总是花去我大量时间,以至于不能专心在内容上。
  • 不同输出格式之间的迁移简直就是灾难,不能得到稳定一致的格式(几乎要重新处理格式),且不能简单的粘贴复制。
  • 二进制文档的复制粘贴总是制造麻烦(pdf里面拷贝文字总是多几个空格神马的,word里面粘贴也需要去除格式),且难以版本工具管理。

2. docbook的历史很长,有一定使用门槛。主要集中在环境搭建和语法学习上。

2.1. 环境搭建

  • 工具

    docbook的环境主要是依赖工具xlst和docbook-xsl-ns,其次是辅助的apache
    fop(生成pdf,rtf用,1.1版生成rtf有bug),apache ant(编译webhelp), html help
    workshop(windows下用于编译chm),lynx(用于生成txt文件)。

  • 配置

    主要是在自己的xsl文件中,导入docbook-xsl-ns定义的标准xsl再加上额外的自定义配置。

  • 脚本

    windows下就是批处理,linux就是makefile或者shell,来定制执行脚本即可生成html,htmls.htmlhelp,rtf,pdf,man,webhelp,txt等文件。具体过程不再赘述,提供环境下载:

2.2. 语法

docbook是一门标记性的所想即所得语言,因此所有格式都是通过标签去控制的。

  • 基本标记

    根标签(book,chapter,article),子结构(sect[n]用于分层),文本容器(para,几乎所有文本都是放在这个标签里面),编号(orderedlist,itemizedlist),表格(table)…

  • 特殊标记

    docbook主要是为了作为出版用的,因此有很多书籍相关的标记,例如,序言,目录,参考书目等。

docbook的标签虽有几百个,但常用的几个就基本能满足大部分的写作需求了,剩下的查阅手册就行了。

4. 本博客的版本

xml html htmls chm pdf rtf webhelp txt