很多人都说docbook配置环境比较繁琐,今天看了一下docbook5的文档,5.0不再使用旧的SGML DTD,转而使用XML,感觉配置相对容易多了,网上有篇
文章介绍5.0的编译环境,真的比较简单.不过我今天看了看jboss seam的文档构建过程,构建环境搭建真是简单的不能再简单了,jboss seam使用maven来发布docbook文档,用到了maven-jdocbook-plugin,我把jboss seam的构建提取出来,大家可以参考来方便构建自己的docbook.
创建一个最最简单的maven空项目,pom.xml内容如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
<?
xml version="1.0"
?>
<
project
xmlns
="http://maven.apache.org/POM/4.0.0"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<
modelVersion
>
4.0.0
</
modelVersion
>
<
groupId
>
org.kuuyee
</
groupId
>
<
artifactId
>
first-docbook
</
artifactId
>
<
packaging
>
jar
</
packaging
>
<
version
>
1.0-SNAPSHOT
</
version
>
<
name
>
first-docbook
</
name
>
<
build
>
<
plugins
>
<!--
the docbook generation plugin for the user guide
-->
<
plugin
>
<
groupId
>
org.jboss.maven.plugins
</
groupId
>
<
artifactId
>
maven-jdocbook-plugin
</
artifactId
>
<
version
>
2.1.1
</
version
>
<
extensions
>
true
</
extensions
>
<
dependencies
>
<
dependency
>
<
groupId
>
org.jboss
</
groupId
>
<
artifactId
>
jbossorg-docbook-xslt
</
artifactId
>
<
version
>
1.1.0
</
version
>
</
dependency
>
<
dependency
>
<
groupId
>
org.jboss
</
groupId
>
<
artifactId
>
jbossorg-jdocbook-style
</
artifactId
>
<
version
>
1.1.0
</
version
>
<
type
>
jdocbook-style
</
type
>
</
dependency
>
</
dependencies
>
<
executions
>
<
execution
>
<
id
>
tutorial_zh_CN
</
id
>
<
phase
>
package
</
phase
>
<
goals
>
<
goal
>
resources
</
goal
>
<
goal
>
generate
</
goal
>
</
goals
>
<
configuration
>
<
sourceDocumentName
>
master.xml
</
sourceDocumentName
>
<
sourceDirectory
>
${basedir}/src/main/docbook/zh_CN
</
sourceDirectory
>
<
imageResource
>
<
directory
>
${basedir}/src/main/docbook/images
</
directory
>
</
imageResource
>
<
cssResource
>
<
directory
>
${basedir}/src/main/docbook/css
</
directory
>
</
cssResource
>
<
targetDirectory
>
${basedir}/target/docbook/zh_CN
</
targetDirectory
>
<
formats
>
<
format
>
<
formatName
>
pdf
</
formatName
>
<
stylesheetResource
>
classpath:/xslt/org/jboss/pdf.xsl
</
stylesheetResource
>
<
finalName
>
zh_CN.pdf
</
finalName
>
</
format
>
<
format
>
<
formatName
>
html
</
formatName
>
<
stylesheetResource
>
classpath:/xslt/org/jboss/xhtml.xsl
</
stylesheetResource
>
<
finalName
>
index.html
</
finalName
>
</
format
>
<
format
>
<
formatName
>
html_single
</
formatName
>
<
stylesheetResource
>
classpath:/xslt/org/jboss/xhtml-single.xsl
</
stylesheetResource
>
<
finalName
>
index.html
</
finalName
>
</
format
>
</
formats
>
<
options
>
<
xincludeSupported
>
true
</
xincludeSupported
>
</
options
>
</
configuration
>
</
execution
>
</
executions
>
</
plugin
>
</
plugins
>
</
build
>
<!--
basic JBoss repository so that the common parent POM in jbosscache-support can be found
-->
<
repositories
>
<
repository
>
<
id
>
snapshots.jboss.org
</
id
>
<
url
>
http://snapshots.jboss.org/maven2
</
url
>
</
repository
>
<
repository
>
<
id
>
repository.jboss.org
</
id
>
<
url
>
http://repository.jboss.org/maven2
</
url
>
</
repository
>
</
repositories
>
</
project
>
在src/main/docbook/zh_CN下新建两个xml文件master.xml,chap1.xml.这里用到了docbook的物理分割概念,就是把单个文档拆分文档为多个文件,这在文档比较巨大的时候很实用.
master.xml是文档主文件,内容如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
<?
xml version='1.0' encoding="utf-8"
?>
<
book
xmlns
="http://docbook.org/ns/docbook"
version
="5.0"
xml:lang
="zh-CN"
xmlns:xlink
="http://www.w3.org/1999/xlink"
xmlns:xi
="http://www.w3.org/2001/XInclude"
>
<
title
>
光子的第一本Docbook书
</
title
>
<
xi:include
href
="chap1.xml"
/>
</
book
>
chap1.xml是文档的第一章,内容如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
<?
xml version='1.0' encoding="utf-8"
?>
<
chapter
xmlns
="http://docbook.org/ns/docbook"
version
="5.0"
xml:lang
="zh-CN"
xmlns:xlink
="http://www.w3.org/1999/xlink"
id
="ch1"
xmlns:xi
="http://www.w3.org/2001/XInclude"
>
<
title
>
光子的第一篇Docbook 5.0文档
</
title
>
<
section
>
<
title
>
第一章标题
</
title
>
<
para
>
这是光子的第一篇Docbook 5.0文档,我的BLOG
<
link
xlink:href
='http://www.blogjava.net/kuuyee/'>光子CI之旅</link>。
</para
>
</
section
>
</
chapter
>
ok,我们可以发布文档了,没错!就是这么简单,在项目根目录运行命令
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
mvn clean
package
如果大家不明白可以下载附件源码看看!样式还是使用jboss的,不过可以自己修改xsl!
样例代码
贴张图看看生成的文档,呵呵!