`
阅读更多
很多人都说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!
样例代码

贴张图看看生成的文档,呵呵!







分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics