jstrachan    2003/03/06 11:59:48

  Added:       src/plugins-build/faq/xdocs index.xml navigation.xml
                        .cvsignore properties.xml goals.xml
               src/plugins-build/faq project.xml .cvsignore plugin.jelly
  Log:
  Initial version of an FAQ plugin for generating an FAQ page from a simple XML 
document
  
  Revision  Changes    Path
  1.1                  jakarta-turbine-maven/src/plugins-build/faq/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  <?xml version="1.0"?>
  <document>
  
    <properties>
      <title>Maven FAQ Plug-in</title>
      <author email="[EMAIL PROTECTED]">James Strachan</author>
    </properties>
  
    <body>
      <section name="Maven FAQ Plug-in">
        <p>
                                This plugin generates xdoc documentation from an XML 
FAQ document.
        </p>
        <p>
          The properties that allow you to customize the execution 
          are documented <a href="properties.html">here</a>.
        </p>
        <p>
                To enable FAQ generation add the following to your maven.xml
        </p>
        <source>
    &lt;preGoal name="xdoc:jelly-transform"&gt;
      &lt;attainGoal name="faq"/&gt;
    &lt;/preGoal&gt;            
        </source>
      </section>
   </body>
  </document>
  
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/faq/xdocs/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <project name="Maven FAQ Plugin">
  
    <title>Maven FAQ Plugin</title>
  
    <body>
      <links>
        <item name="Maven"    href="http://jakarta.apache.org/turbine/maven/"/>
        <item name="Jelly"    href="http://jakarta.apache.org/commons/jelly/"/>
      </links>
      <menu name="Overview">
        <item name="Goals"                   href="/goals.html" />
        <item name="Properties"              href="/properties.html" />
      </menu>
    </body>
  </project>
  
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/faq/xdocs/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  stylesheets
  
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/faq/xdocs/properties.xml
  
  Index: properties.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <document>
  
    <properties>
      <title>FAQ Properties</title>
      <author email="[EMAIL PROTECTED]">James Strachan</author>
    </properties>
  
    <body>
      <section name="FAQ Settings"> 
        <table>
          <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
          <tr>
            <td>maven.faq.src.file</td>
            <td>Yes (default=xdoc/faq.fml)</td>
            <td>
                Specifies the source FAQ document in XML format to be used to generate 
the FAQ
            </td>
          </tr>
          <tr>
            <td>maven.faq.dest.file</td>
            <td>Yes (default=target/generated-xdocs/faq.xml)</td>
            <td>
              Specifies the destination of the generated FAQ document
            </td>
          </tr>
        </table>
      </section>
    </body>
  </document>
  
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/faq/xdocs/goals.xml
  
  Index: goals.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <document>
  
    <properties>
      <title>FAQ Plugin Goals</title>
      <author email="[EMAIL PROTECTED]">James Strachan</author>
    </properties>
  
    <body>
      <section name="Goals">
        <table>
                <tr><th>Goal</th><th>Description</th></tr>
                
                                <a name="faq" />
                <tr>
                  <td>faq</td>
                  <td>
                    The default goal. This goal generates an xdoc document 
                    from an XML FAQ document.
                  </td>
                </tr>
        </table>
      </section>
    </body>
  </document>
  
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/faq/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <project>
    <extend>${basedir}/../project.xml</extend>
    <pomVersion>3</pomVersion>
    <id>maven-faq-plugin</id>
    <name>Maven FAQ Plug-in</name>
    <currentVersion>1.0</currentVersion>
    <!-- Gump integration -->
  
    <gumpRepositoryId>jakarta</gumpRepositoryId>
    <description>Creates XDoc documentation from an FAQ XML document.</description>
    <shortDescription/>
    <url>http://jakarta.apache.org/turbine/maven/reference/plugins/faq/</url>
  
    
<siteDirectory>/www/jakarta.apache.org/turbine/maven/reference/plugins/faq/</siteDirectory>
  
    <repository>
      <connection>scm:cvs:pserver:[EMAIL 
PROTECTED]:/home/cvspublic:jakarta-turbine-maven/src/plugins-build/faq/</connection>
      
<url>http://cvs.apache.org/viewcvs/jakarta-turbine-maven/src/plugins-build/faq/</url>
    </repository>
  
    <developers>
      <developer>
        <name>James Strachan</name>
        <id>jstrachan</id>
        <email>[EMAIL PROTECTED]</email>
        <organization>SpiritSoft, Inc.</organization>
        <roles>
          <role>Java Developer</role>
        </roles>
      </developer>
    </developers>
    
    <dependencies>
      <dependency>
        <groupId>commons-jelly</groupId>
        <artifactId>commons-jelly-tags-xml</artifactId>
        <version>20030211.142705</version>
        <url>http://jakarta.apache.org/commons/jelly/tags/xml/</url>
        <properties>
          <classloader>root.maven</classloader>
        </properties>
      </dependency>
      
      <!-- core dependencies which i'd have thought Maven introduced -->
      <dependency>
        <id>dom4j</id>
        <version>1.4-dev-8</version>
        <url>http://www.dom4j.org/</url>
      </dependency>
      <dependency>
        <id>xml-apis</id>
        <version>1.0.b2</version>
        <url>http://xml.apache.org/xerces2-j/</url>
      </dependency>
      <dependency>
        <id>xerces</id>
        <version>2.2.1</version>
        <url>http://xml.apache.org/xerces2-j/</url>
      </dependency>
    </dependencies>
  
  </project>
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/faq/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  target 
  *.log
  
  
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/faq/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  <?xml version="1.0"?>
  
  <project
    xmlns:j="jelly:core"
    xmlns:x="jelly:xml"  
    xmlns:html="jelly:html"
    xmlns:maven="jelly:maven"
    xmlns:log="jelly:log"
    xmlns:util="jelly:util"
    xmlns:doc="doc"
    xmlns:m="maven">
  
    <goal name="faq"
      description="Generates an FAQ xdoc file from an FAQ XML document">
  
                <j:set var="destfile" value="${maven.faq.dest.file}"/>
      <j:if test="${empty(destfile)}">
        <j:set var="destfile" value="${maven.build.dir}/generated-xdocs/faq.xml"/>
      </j:if>
  
                <mkdir dir="${maven.build.dir}/generated-xdocs"/>
                    
                <j:set var="srcfile" value="${maven.faq.src.file}"/>
      <j:if test="${empty(srcfile)}">
        <j:set var="srcfile" value="xdocs/faq.fml"/>
      </j:if>
      
                <util:file var="srcfileFile" name="${srcfile}"/>
                <j:set var="srcfile" value="${srcfileFile.getCanonicalPath()}"/>
                <util:file var="destfileFile" name="${destfile}"/>
                <j:set var="destfile" value="${destfileFile.getCanonicalPath()}"/>
          
      <j:set var="outputencoding" value="${maven.docs.outputencoding}"/>
  
                <x:parse var="doc" xml="${srcfileFile}"/>    
                <x:set var="root" select="$doc/*"/>
  
                <j:file name="${destfile}" encoding="${outputencoding}"
                        omitXmlDeclaration="true" outputMode="xml"
                        prettyPrint="true">
  
  <document>
  
    <properties>
      <title><x:expr select="$root/title"/></title>
    </properties>
    <body>
      <section name="Frequently Asked Questions">
        <x:forEach select="$root/part">
                                <p>
                                        <strong><x:expr select="title"/></strong>
                                </p>
                                <ol>
                        <x:forEach select="faq">
                                        <li>
                                                <x:element name="a">
                                                        <x:attribute 
name="href">#<x:expr select="@id"/></x:attribute>
                                                        <x:copyOf 
select="question/node()"/>
                                                </x:element>
                                        </li>
                        </x:forEach>
                                </ol>
        </x:forEach>
                </section>
  
  
                <x:forEach select="$root/part">
                        <x:element name="section">
                                <x:attribute name="name"><x:expr 
select="title"/></x:attribute>
                                
                                <x:forEach select="faq">
                                        <dl>
                                                <dt>
                                                        <x:element name="a">
                                                                <x:attribute 
name="href"><x:expr select="@id"/></x:attribute>
                                                                <x:copyOf 
select="question/node()"/>
                                                        </x:element>
                                                </dt>
                                                <dd>
                                                                <x:copyOf 
select="answer/node()"/>
                                                </dd>
                                        </dl>
                </x:forEach>
                        </x:element>
                </x:forEach>
    </body>
  </document>
                </j:file>
    </goal>
  
  </project>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to