forrest-site-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cross...@apache.org
Subject svn commit: r527020 [10/20] - in /forrest/site: ./ docs_0_80/ docs_0_80/howto/ docs_0_80/howto/cvs-ssh/ docs_0_80/howto/multi/ dtdx/ plan/ pluginDocs/plugins_0_70/ pluginDocs/plugins_0_80/ procedures/ procedures/release/ skins/ tools/
Date Tue, 10 Apr 2007 04:44:05 GMT
Modified: forrest/site/docs_0_80/searching.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/searching.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/searching.html (original)
+++ forrest/site/docs_0_80/searching.html Mon Apr  9 21:44:00 2007
@@ -334,8 +334,10 @@
 </ul>
 </div>
     
-<p>Forrest provides you with two distinct options for making your
-      documentation available through full-text search:</p>
+<p>
+      Forrest provides you with two distinct options for making your
+      documentation available through full-text search:
+    </p>
     
 <ul>
       
@@ -345,109 +347,130 @@
     
 </ul>
     
-<p>Both options have their advantages and disadvantages. The
-      purpose of this document is to outline them, and to help you
-      make a choice. This document also tells you how to disable
-      full-text search completely, if you so choose.</p>
+<p>
+      Both options have their advantages and disadvantages. The purpose of this
+      document is to outline them, and to help you make a choice. This document
+      also tells you how to disable full-text search completely, if you so
+      choose.
+    </p>
     
 <a name="N1001C"></a><a name="Google+SiteSearch"></a>
 <h2 class="underlined_10">Google SiteSearch</h2>
 <div class="section">
-<p>Forrest provides a simple interface to the Google search
-	engine. It invokes Google Advanced Search and limits the search
-	scope to the domain of your choice. Since the actual search
-	functionality is implemented on Google's end, you do not need
-	any additional capability on your Forrest server (which may
-	well be a simple static web server serving content generated
-	with <span class="codefrag">forrest site</span>).</p>
-<p>To use Google SiteSearch in your Forrest application, open
-	your <span class="codefrag">skinconf.xml</span> file. By default this file is
-	in the <span class="codefrag">src/documentation</span> subdirectory of your
-	Forrest repository root. Find the <span class="codefrag">&lt;search&gt;</span>
-	element; it should be near the top of the file. If the element
-	does not exist, create it below the
-	<span class="codefrag">&lt;skinconfig&gt;</span> opening tag. If there is any
-	attribute named <span class="codefrag">provider</span>, remove it. The element
-	should look similar to this:</p>
-<pre class="code">&lt;search name="MyProject"
-	domain="myproject.com"/&gt;</pre>
-<p>Then, build your Forrest documentation and open it using your
-	favorite web browser. You are now invited to peruse the search
-	box (most skins render this in the top-right corner). Google's
-	search results will be displayed in a new browser window.</p>
-<p>Needless to say, for this to work your content must be
-	accessible to Google's indexing robot. It can't be stored on a
-	server which is only locally accessible, or which requires
-	authentication. In addition, the content index is created and
-	updated at a time of Google's choosing. However, the search is fast
-	and search precision is usually excellent. So if your
-	Forrest content is placed on a busy, popular public web
-	server, Google search is probably the best choice.</p>
+<p>
+        Forrest provides a simple interface to the Google search engine. It
+        invokes Google Advanced Search and limits the search scope to the domain
+        of your choice. Since the actual search functionality is implemented on
+        Google's end, you do not need any additional capability on your Forrest
+        server (which may well be a simple static web server serving content
+        generated with <span class="codefrag">forrest site</span>).
+      </p>
+<p>
+        To use Google SiteSearch in your Forrest application, open your
+        <span class="codefrag">skinconf.xml</span> file. By default this file is in the
+        <span class="codefrag">src/documentation</span> subdirectory of your Forrest repository
+        root. Find the <span class="codefrag">&lt;search&gt;</span> element; it should be near
+        the top of the file. If the element does not exist, create it below the
+        <span class="codefrag">&lt;skinconfig&gt;</span> opening tag. If there is any attribute
+        named <span class="codefrag">provider</span>, remove it. The element should look similar
+        to this:
+      </p>
+<pre class="code">
+&lt;search name="MyProject"
+	domain="myproject.com"/&gt;
+      </pre>
+<p>
+        Then, build your Forrest documentation and open it using your favorite
+        web browser. You are now invited to peruse the search box (most skins
+        render this in the top-right corner). Google's search results will be
+        displayed in a new browser window.
+      </p>
+<p>
+        Needless to say, for this to work your content must be accessible to
+        Google's indexing robot. It can't be stored on a server which is only
+        locally accessible, or which requires authentication. In addition, the
+        content index is created and updated at a time of Google's choosing.
+        However, the search is fast and search precision is usually excellent.
+        So if your Forrest content is placed on a busy, popular public web
+        server, Google search is probably the best choice.
+      </p>
 </div>
     
 <a name="N10045"></a><a name="Lucene+search"></a>
 <h2 class="underlined_10">Lucene search</h2>
 <div class="section">
-<p>Lucene is a high-performance, full-text search engine built
-	entirely in Java. To use Lucene-based search with your Forrest
-	documentation, you will need to run Forrest in a Java servlet
-	environment (such as Tomcat or Jetty). Lucene-based searching
-	will not work in a static site generated with the '<span class="codefrag">forrest
-	  site</span>' command.</p>
-<p>In order to enable Lucene-based full-text search in your
-	Forrest application, you must first edit your
-	<span class="codefrag">skinconf.xml</span> file. Locate the
-	<span class="codefrag">&lt;search&gt;</span> element. If the element does not
-	exist, insert it right underneath the
-	<span class="codefrag">&lt;skinconfig&gt;</span> opening tag. Add an attribute
-	named <span class="codefrag">provider</span> with a value of
-	<span class="codefrag">lucene</span>, so that the element looks similar to
-	this:</p>
-<pre class="code">&lt;search name="MyProject" domain="myproject.com"
-	provider="lucene"/&gt;</pre>
-<p>Next, create and run your Forrest webapp. This may mean
-	simply invoking <span class="codefrag">forrest run</span>, or building and
-	bundling a servlet webapp (with <span class="codefrag">forrest webapp</span>),
-	and then deploying it to your servlet container.</p>
-<p>You can now build a Lucene search index by pointing your web
-	browser at
-	<span class="codefrag">http://localhost:8888/lucene-update.html</span>. This
-	generates the search index and provides some information about
-	the index generation process.</p>
+<p>
+        Lucene is a high-performance, full-text search engine built entirely in
+        Java. To use Lucene-based search with your Forrest documentation, you
+        will need to run Forrest in a Java servlet environment (such as Tomcat
+        or Jetty). Lucene-based searching will not work in a static site
+        generated with the '<span class="codefrag">forrest site</span>' command.
+      </p>
+<p>
+        In order to enable Lucene-based full-text search in your Forrest
+        application, you must first edit your <span class="codefrag">skinconf.xml</span> file.
+        Locate the <span class="codefrag">&lt;search&gt;</span> element. If the element does not
+        exist, insert it right underneath the <span class="codefrag">&lt;skinconfig&gt;</span>
+        opening tag. Add an attribute named <span class="codefrag">provider</span> with a value
+        of <span class="codefrag">lucene</span>, so that the element looks similar to this:
+      </p>
+<pre class="code">
+&lt;search name="MyProject" domain="myproject.com"
+	provider="lucene"/&gt;
+      </pre>
+<p>
+        Next, create and run your Forrest webapp. This may mean simply invoking
+        <span class="codefrag">forrest run</span>, or building and bundling a servlet webapp
+        (with <span class="codefrag">forrest webapp</span>), and then deploying it to your
+        servlet container.
+      </p>
+<p>
+        You can now build a Lucene search index by pointing your web browser at
+        <span class="codefrag">http://localhost:8888/lucene-update.html</span>. This generates
+        the search index and provides some information about the index
+        generation process.
+      </p>
 <div class="note">
 <div class="label">Note</div>
-<div class="content">You may have to substitute a different hostname, port, or
-	path, depending on your configuration. The path mentioned here
-	reflects Forrest's default settings when invoked as
-	<span class="codefrag">forrest run</span>.</div>
+<div class="content">
+        You may have to substitute a different hostname, port, or path,
+        depending on your configuration. The path mentioned here reflects
+        Forrest's default settings when invoked as <span class="codefrag">forrest run</span>.
+      </div>
 </div>
-<p>Now you can utilize the full-text search box, located in the
-	top-right corner of the rendered Forrest pages. Search results
-	will be displayed in the same browser window and will look
-	remarkably similar to the rest of your Forrest documents.</p>
-<p>Unlike with Google SiteSearch, the indexing information
-	retrieved by Lucene is stored on your own server, access to
-	which you may limit to users in your own organization.
-	Likewise, you may update or recreate the Lucene index at any
-	time and at your own discretion. So if you aren't making your
-	Forrest-built documentation publicly available, and you're
-	able to run Forrest on a Java-enabled web server, Lucene
-	search is probably right for you.</p>
+<p>
+        Now you can utilize the full-text search box, located in the top-right
+        corner of the rendered Forrest pages. Search results will be displayed
+        in the same browser window and will look remarkably similar to the rest
+        of your Forrest documents.
+      </p>
+<p>
+        Unlike with Google SiteSearch, the indexing information retrieved by
+        Lucene is stored on your own server, access to which you may limit to
+        users in your own organization. Likewise, you may update or recreate the
+        Lucene index at any time and at your own discretion. So if you aren't
+        making your Forrest-built documentation publicly available, and you're
+        able to run Forrest on a Java-enabled web server, Lucene search is
+        probably right for you.
+      </p>
 </div>
     
 <a name="N10083"></a><a name="Disabling+full-text+search"></a>
 <h2 class="underlined_10">Disabling full-text search</h2>
 <div class="section">
-<p>If you are convinced your users don't need any full-text
-	search capability whatsoever, you may disallow displaying the
-	search box entirely. You may also wish to do so if you're
-	keeping Forrest-built content on a restricted server (meaning
-	you can't use Google), while at the same time not having any
-	usable servlet-capable web server at your disposal (meaning
-	you can't use Lucene, either).</p>
-<p>To disable full-text search completely, open the
-	<span class="codefrag">skinconf.xml</span> file and remove (or comment out) the
-	entire <span class="codefrag">&lt;search&gt;</span> element.</p>
+<p>
+        If you are convinced your users don't need any full-text search
+        capability whatsoever, you may disallow displaying the search box
+        entirely. You may also wish to do so if you're keeping Forrest-built
+        content on a restricted server (meaning you can't use Google), while at
+        the same time not having any usable servlet-capable web server at your
+        disposal (meaning you can't use Lucene, either).
+      </p>
+<p>
+        To disable full-text search completely, open the
+        <span class="codefrag">skinconf.xml</span> file and remove (or comment out) the entire
+        <span class="codefrag">&lt;search&gt;</span> element.
+      </p>
 </div>
   
 </div>

Modified: forrest/site/docs_0_80/searching.pdf
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/searching.pdf?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
Binary files - no diff available.

Modified: forrest/site/docs_0_80/sitemap-ref.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/sitemap-ref.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/sitemap-ref.html (original)
+++ forrest/site/docs_0_80/sitemap-ref.html Mon Apr  9 21:44:00 2007
@@ -401,88 +401,87 @@
 </div>
     
 <p>
-      Technically, Forrest can be thought of as a 
-      <a href="http://cocoon.apache.org/2.1/">Cocoon</a> distribution that has been stripped down
-      and optimized for people with simple site publishing needs.  Central to
-      Cocoon, and hence Forrest, is the <strong>sitemap</strong>.  The sitemap
+      Technically, Forrest can be thought of as a
+      <a href="http://cocoon.apache.org/2.1/">Cocoon</a> distribution that has been stripped
+      down and optimized for people with simple site publishing needs. Central
+      to Cocoon, and hence Forrest, is the <strong>sitemap</strong>. The sitemap
       defines the site's URI space (what pages are available), and how each page
-      is constructed.  Understanding the sitemap is the key to understanding
+      is constructed. Understanding the sitemap is the key to understanding
       Forrest.
     </p>
     
 <div class="note">
 <div class="label">Note</div>
 <div class="content">
-      We advise you to spend time to understand the Apache Cocoon sitemap.
-      See <a href="http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html">Cocoon sitemap</a>
-      and <a href="http://cocoon.apache.org/2.1/userdocs/concepts/">Cocoon concepts</a>
-      and related component documentation. It is also necessary to understand
-      the "**" and "*" pattern matching and replacements. See the email thread:
-      "Re: explain sitemap matches and pass parameters to transformers"
+      We advise you to spend time to understand the Apache Cocoon sitemap. See
+      <a href="http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html">Cocoon sitemap</a> and
+      <a href="http://cocoon.apache.org/2.1/userdocs/concepts/">Cocoon concepts</a> and related
+      component documentation. It is also necessary to understand the "**" and
+      "*" pattern matching and replacements. See the email thread: "Re: explain
+      sitemap matches and pass parameters to transformers"
       <a href="http://issues.apache.org/jira/browse/FOR-874">FOR-874</a>.
     </div>
 </div>
     
 <p>
-      This document provides an overview of the special sitemap which
-      is used at the core of Apache Forrest.
+      This document provides an overview of the special sitemap which is used at
+      the core of Apache Forrest.
     </p>
-
     
 <div class="warning">
 <div class="label">Warning</div>
 <div class="content">
       The example sitemap fragments might be out-of-date because since this
       document was written, the core sitemaps in main/webapp/ have changed and
-      some of the specialised processing has moved to plugins.
-      View your source sitemaps when reading this document.
-      (See <a href="https://issues.apache.org/jira/browse/FOR-922">FOR-922</a>.)
+      some of the specialised processing has moved to plugins. View your source
+      sitemaps when reading this document. (See
+      <a href="https://issues.apache.org/jira/browse/FOR-922">FOR-922</a>.)
     </div>
 </div>
-
     
 <a name="N10030"></a><a name="getting_started"></a>
 <h2 class="underlined_10">Getting started</h2>
 <div class="section">
 <p>
-        Forrest's sitemap comprises the multiple $FORREST_HOME/main/webapp/*.xmap files.
-        The main one is <strong>sitemap.xmap</strong> which delegates to others,
-        including to sitemaps in the various <a href="../pluginDocs/plugins_0_80/pluginInfrastructure.html">plugins</a>.
+        Forrest's sitemap comprises the multiple
+        $FORREST_HOME/main/webapp/*.xmap files. The main one is
+        <strong>sitemap.xmap</strong> which delegates to others, including to
+        sitemaps in the various
+        <a href="../pluginDocs/plugins_0_80/pluginInfrastructure.html">plugins</a>.
       </p>
 <p>
         You can add pre-processing sitemaps to your project
         <span class="codefrag">src/documentation</span> directory (or wherever
-        <span class="codefrag">${project.sitemap-dir}</span> points to). Any match that
-        is not handled, passes through to be handled by the default Forrest
-        sitemaps - obviously extremely powerful. The capability is described
-        in 
+        <span class="codefrag">${project.sitemap-dir}</span> points to). Any match that is not
+        handled, passes through to be handled by the default Forrest sitemaps -
+        obviously extremely powerful. The capability is described in
         "<a href="../docs_0_80/project-sitemap.html">Using project sitemaps</a>".
       </p>
 <p>
         Another way to experiment with the sitemap is to do '<span class="codefrag">forrest
         run</span>' on a Forrest-using site. Making changes to the core
-        <span class="codefrag">*.xmap</span> files will now be immediately effective
-        at <span class="codefrag">http://localhost:8888/</span>
+        <span class="codefrag">*.xmap</span> files will now be immediately effective at
+        <span class="codefrag">http://localhost:8888/</span>
       
 </p>
 </div>
-
     
 <a name="N1005A"></a><a name="overview"></a>
 <h2 class="underlined_10">Sitemap Overview</h2>
 <div class="section">
 <p>
-        Forrest's sitemap is divided both physically and logically.  The most
-        obvious is the physical separation.  There are a number of separate
-        *.xmap files, each defining pipelines for a functional area.  Each *.xmap
-        file has its purpose documented in comments at the top.  Here is a brief
+        Forrest's sitemap is divided both physically and logically. The most
+        obvious is the physical separation. There are a number of separate
+        *.xmap files, each defining pipelines for a functional area. Each *.xmap
+        file has its purpose documented in comments at the top. Here is a brief
         overview of the files, in order of importance.
       </p>
 <table class="ForrestTable" cellspacing="1" cellpadding="4">
         
 <tr>
           
-<th colspan="1" rowspan="1"><strong>sitemap.xmap</strong></th>
+<th colspan="1" rowspan="1"><strong>sitemap.xmap</strong>
+          </th>
           <td colspan="1" rowspan="1">Primary sitemap file, which delegates responsibility for serving
             certain URIs to the others (technically called sub-sitemaps).  More
             about the structure of this file later.</td>
@@ -598,8 +597,7 @@
       
 </table>
 </div>
-
-    <!--
+<!--
     <section>
       <title>Logical structure</title>
       <p>There are a few major groups of sitemap pipelines</p>
@@ -610,35 +608,33 @@
       </dl>
     </section>
     -->
-
     
-<a name="N10131"></a><a name="source_pipelines"></a>
+<a name="N10132"></a><a name="source_pipelines"></a>
 <h2 class="underlined_10">Source pipelines (**.xml)</h2>
 <div class="section">
 <p>
         Most *.xmap files (forrest, aggregate, faq, status, issues, revisions,
-        dtd) define Source pipelines.  Source pipelines define the content
-        (body) XML for site pages.  The input XML format can be any format
+        dtd) define Source pipelines. Source pipelines define the content (body)
+        XML for site pages. The input XML format can be any format
         (document-v13, Docbook, RSS, FAQ, Howto) and from any source (local or
-        remote).  The output format is always Forrest's intermediate "document-v13"
-        format.
+        remote). The output format is always Forrest's intermediate
+        "document-v13" format.
       </p>
 <p>
-        Source pipelines always have a "<span class="codefrag">.xml</span>" extension.
-        Thus, 
+        Source pipelines always have a "<span class="codefrag">.xml</span>" extension. Thus,
         <a href="index.xml">index.xml</a> gives you the XML source for the
-        index page.  Likewise, <a href="faq.xml">faq.xml</a> gives you XML
-        for the FAQ (transformed from FAQ syntax), and 
-        <a href="changes.xml">changes.xml</a> returns XML from the status.xml file.
-        Take any page, and replace its extension (<span class="codefrag">.html</span> or
-        <span class="codefrag">.pdf</span>) with <span class="codefrag">.xml</span> and you'll have the Source
-        XML.
+        index page. Likewise, <a href="faq.xml">faq.xml</a> gives you XML
+        for the FAQ (transformed from FAQ syntax), and
+        <a href="changes.xml">changes.xml</a> returns XML from the
+        status.xml file. Take any page, and replace its extension
+        (<span class="codefrag">.html</span> or <span class="codefrag">.pdf</span>) with <span class="codefrag">.xml</span> and
+        you'll have the Source XML.
       </p>
 <p>
         This is quite powerful, because we now have an abstraction layer, or
         "virtual filesystem", on which the rest of Forrest's sitemap can build.
         Subsequent layers don't need to care whether the XML was obtained
-        locally or remotely, or from what format.  Wikis, RSS, FAQs and Docbook
+        locally or remotely, or from what format. Wikis, RSS, FAQs and Docbook
         files are all processed identically from here on.
       </p>
 <pre class="code">
@@ -652,35 +648,44 @@
 (*.xml)
                         (in forrest.xmap, faq.xmap, etc)
       </pre>
-<a name="N1015C"></a><a name="forrest_xmap"></a>
+<a name="N1015D"></a><a name="forrest_xmap"></a>
 <h3 class="underlined_5">forrest.xmap</h3>
 <p>
           Most of the usual Source pipelines are defined in
           <span class="codefrag">forrest.xmap</span> which is the default (fallback) handler for
-          <span class="codefrag">**.xml</span> pages. The forrest.xmap uses the 
-          <a href="../docs_0_80/cap.html">SourceTypeAction</a> to determine the type of XML
-          it is processing, and converts it to document-v13 if necessary.
-        </p>
-<p>For instance, say we are rendering <a href="../howto-howto.html">a
-            Howto document</a> called "howto-howto.xml".  It contains this DOCTYPE
-          declaration:</p>
+          <span class="codefrag">**.xml</span> pages. The forrest.xmap uses the
+          <a href="../docs_0_80/cap.html">SourceTypeAction</a> to determine the type of
+          XML it is processing, and converts it to document-v13 if necessary.
+        </p>
+<p>
+          For instance, say we are rendering <a href="../howto-howto.html">a
+          Howto document</a> called "howto-howto.xml". It contains this
+          DOCTYPE declaration:
+        </p>
 <pre class="code">
 &lt;!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V1.3//EN"
   "http://forrest.apache.org/dtd/howto-v13.dtd"&gt;</pre>
-<p>The SourceTypeAction sees this, and applies this transform to get it
-          to document-v13:</p>
+<p>
+          The SourceTypeAction sees this, and applies this transform to get it
+          to document-v13:
+        </p>
 <pre class="code">
+
           &lt;map:when test="howto-v13"&gt;
             &lt;map:transform src="{forrest:forrest.stylesheets}/howto-to-document.xsl" /&gt;
           &lt;/map:when&gt;
-          </pre>
-<a name="N10184"></a><a name="other_source"></a>
+          
+        </pre>
+<a name="N10185"></a><a name="other_source"></a>
 <h3 class="underlined_5">Other source pipelines</h3>
-<p>As mentioned above, all non-core Source pipelines are distributed in
-          independent <span class="codefrag">*.xmap</span> files.  There is a block of
+<p>
+          As mentioned above, all non-core Source pipelines are distributed in
+          independent <span class="codefrag">*.xmap</span> files. There is a block of
           <span class="codefrag">sitemap.xmap</span> which simply delegates certain requests to
-          these subsitemaps:</p>
+          these subsitemaps:
+        </p>
 <pre class="code">
+
       &lt;!-- Body content --&gt;
       &lt;map:match pattern="**.xml"&gt;
         &lt;map:match pattern="changes.xml"&gt;
@@ -707,57 +712,66 @@
           &lt;map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" /&gt;
         &lt;/map:match&gt;
         ....
-        ....</pre>
-<a name="N10197"></a><a name="late_binding_pipelines"></a>
+        ....
+        </pre>
+<a name="N10198"></a><a name="late_binding_pipelines"></a>
 <h4>Late-binding pipelines</h4>
 <p>
             One point of interest here is that the sub-sitemap is often not
             specific about which URLs it handles, and relies on the caller (the
-            section listed above) to only pass relevant requests to it.  We term
-            this "binding a URL" to a pipeline.</p>
-<p>For instance, the main pipeline in <span class="codefrag">faq.xmap</span> matches
+            section listed above) to only pass relevant requests to it. We term
+            this "binding a URL" to a pipeline.
+          </p>
+<p>
+            For instance, the main pipeline in <span class="codefrag">faq.xmap</span> matches
             <span class="codefrag">**.xml</span>, but only <span class="codefrag">**faq.xml</span> requests are
-            sent to it.</p>
-<p>This "late binding" is useful, because the whole URL space is
+            sent to it.
+          </p>
+<p>
+            This "late binding" is useful, because the whole URL space is
             managed in <span class="codefrag">sitemap.xmap</span> and not spread over lots of
-            *.xmap files.  For instance, say you wish all <span class="codefrag">*.xml</span>
-            inside a "<span class="codefrag">faq/</span>" directory to be processed as FAQs.  Just
+            *.xmap files. For instance, say you wish all <span class="codefrag">*.xml</span>
+            inside a "<span class="codefrag">faq/</span>" directory to be processed as FAQs. Just
             override <span class="codefrag">sitemap.xmap</span> and redefine the relevant source
-            matcher:</p>
+            matcher:
+          </p>
 <pre class="code">
+
         &lt;map:match pattern="**faq.xml"&gt;
           &lt;map:mount uri-prefix="" src="faq.xmap" check-reload="yes" /&gt;
-        &lt;/map:match&gt;</pre>
+        &lt;/map:match&gt;
+          </pre>
 </div>
-
     
-<a name="N101C2"></a><a name="output_pipelines"></a>
+<a name="N101C3"></a><a name="output_pipelines"></a>
 <h2 class="underlined_10">Output pipelines</h2>
 <div class="section">
 <p>
         To recap, we now have a <span class="codefrag">*.xml</span> pipeline defined for each
-        page in the site, emitting standardized XML.  These pipeline definitions
+        page in the site, emitting standardized XML. These pipeline definitions
         are located in various *.xmap files, notably forrest.xmap
       </p>
 <p>
         We now wish to render the XML from these pipelines to output formats
         like HTML and PDF.
       </p>
-<a name="N101D1"></a><a name="pdf"></a>
+<a name="N101D2"></a><a name="pdf"></a>
 <h3 class="underlined_5">PDF output</h3>
 <div class="note">
 <div class="label">Note</div>
 <div class="content">
-          PDF is now generated via the org.apache.forrest.plugin.output.pdf plugin.
+          PDF is now generated via the org.apache.forrest.plugin.output.pdf
+          plugin.
         </div>
 </div>
 <p>
           Easiest case first; PDFs don't require menus or headers, so we can
           simply transform our intermediate format into XSL:FO, and from there
-          to PDF.  This is done by the following matcher in
+          to PDF. This is done by the following matcher in
           <span class="codefrag">output.xmap</span> from the pdf plugin ...
         </p>
 <pre class="code">
+
 1   &lt;map:match type="regexp" pattern="^(.*?)([^/]*).pdf$"&gt;
 2     &lt;map:generate src="cocoon:/{1}{2}.xml"/&gt;
 3     &lt;map:transform type="xinclude"/&gt;
@@ -768,6 +782,7 @@
 8     &lt;/map:transform&gt;
 9     &lt;map:serialize type="fo2pdf"/&gt;
 10  &lt;/map:match&gt;
+        
         </pre>
 <ol>
           
@@ -787,13 +802,17 @@
             XSL:FO XML.</li>
         
 </ol>
-<p>Lastly, we generate a PDF using the fo2pdf serializer.</p>
-<a name="N1020E"></a><a name="html"></a>
+<p>
+          Lastly, we generate a PDF using the fo2pdf serializer.
+        </p>
+<a name="N1020F"></a><a name="html"></a>
 <h3 class="underlined_5">HTML output</h3>
-<p>Generating HTML pages is more complicated, because we have to merge
+<p>
+          Generating HTML pages is more complicated, because we have to merge
           the page body with a menu and tabs, and then add a header and footer.
-          Here is the <span class="codefrag">*.html</span> matcher in
-          <span class="codefrag">sitemap.xmap</span> ...</p>
+          Here is the <span class="codefrag">*.html</span> matcher in <span class="codefrag">sitemap.xmap</span>
+          ...
+        </p>
 <pre class="code">
           &lt;map:match pattern="*.html"&gt;
             &lt;map:aggregate element="site"&gt;
@@ -810,9 +829,9 @@
 <p>
           So <a href="index.html">index.html</a> is formed from
           aggregating <a href="body-index.html">body-index.html</a> and
-          <a href="menu-index.html">menu-index.html</a> and 
-          <a href="tab-index.html">tab-index.html</a> and then applying the
-          <span class="codefrag">site-to-xhtml.xsl</span> stylesheet to the result.
+          <a href="menu-index.html">menu-index.html</a> and
+          <a href="tab-index.html">tab-index.html</a> and then applying
+          the <span class="codefrag">site-to-xhtml.xsl</span> stylesheet to the result.
         </p>
 <p>
           There is a nearly identical matcher for HTML files in subdirectories:
@@ -834,13 +853,16 @@
         </pre>
 </div>
     
-<a name="N10258"></a><a name="intermediate_pipelines"></a>
+<a name="N10259"></a><a name="intermediate_pipelines"></a>
 <h2 class="underlined_10">Intermediate pipelines</h2>
 <div class="section">
-<a name="N1025E"></a><a name="body_pipeline"></a>
+<a name="N1025F"></a><a name="body_pipeline"></a>
 <h3 class="underlined_5">Page body</h3>
-<p>Here is the matcher which generates the page body:</p>
+<p>
+          Here is the matcher which generates the page body:
+        </p>
 <pre class="code">
+
 1   &lt;map:match pattern="**body-*.html"&gt;
 2     &lt;map:generate src="cocoon:/{1}{2}.xml"/&gt;
 3     &lt;map:transform type="idgen"/&gt;
@@ -852,7 +874,8 @@
 9       &lt;map:parameter name="notoc" value="false"/&gt;
 10    &lt;/map:call&gt;
 11  &lt;/map:match&gt;
-          </pre>
+          
+        </pre>
 <ol>
           
 <li>In our matcher pattern, {1} will be the directory (if any) and {2}
@@ -861,12 +884,13 @@
 <li>First, we obtain XML content from a source pipeline</li>
           
 <li>
-            
-<p>We then apply a custom-written
+<p>
+              We then apply a custom-written
               <span class="codefrag">IdGeneratorTransformer</span>, which ensures that every
-              &lt;section&gt; has an "id" attribute if one is not supplied, by generating one from the
-              &lt;title&gt; if necessary.  For example, &lt;idgen&gt; will
-              transform:</p>
+              &lt;section&gt; has an "id" attribute if one is not supplied, by
+              generating one from the &lt;title&gt; if necessary. For example,
+              &lt;idgen&gt; will transform:
+            </p>
             
 <pre class="code">
               &lt;section&gt;
@@ -874,7 +898,9 @@
               ...
             </pre>
             
-<p>into:</p>
+<p>
+              into:
+            </p>
             
 <pre class="code">
               &lt;section id="How+to+boil+eggs"&gt;
@@ -882,10 +908,12 @@
               ...
             </pre>
             
-<p>Later, the <span class="codefrag">document-to-html.xsl</span> stylesheet will create
-              an &lt;a name&gt; element for every section, allowing this section to
-              be referred to as <span class="codefrag">index.html#How+to+boil+eggs</span>.</p>
-          
+<p>
+              Later, the <span class="codefrag">document-to-html.xsl</span> stylesheet will
+              create an &lt;a name&gt; element for every section, allowing this
+              section to be referred to as
+              <span class="codefrag">index.html#How+to+boil+eggs</span>.
+            </p>
 </li>
           
 <li>We then expand XInclude elements.</li>
@@ -897,10 +925,14 @@
             &lt;html&gt; and &lt;body&gt;) suitable for merging with the menu and tabs.</li>
         
 </ol>
-<a name="N102A3"></a><a name="menu_pipeline"></a>
+<a name="N102A2"></a><a name="menu_pipeline"></a>
 <h3 class="underlined_5">Page menu</h3>
-<p>In the <span class="codefrag">sitemap.xmap</span> file, the matcher generating HTML for the menu is:</p>
+<p>
+          In the <span class="codefrag">sitemap.xmap</span> file, the matcher generating HTML for
+          the menu is:
+        </p>
 <pre class="code">
+
       &lt;map:match pattern="**menu-*.html"&gt;
         &lt;map:generate src="cocoon:/{1}book-{2}.html"/&gt;
         &lt;map:transform type="<a href="#linkrewriting_impl">linkrewriter</a>" src="cocoon:/{1}linkmap-{2}.html"/&gt;
@@ -909,17 +941,25 @@
           &lt;map:parameter name="path" value="{1}{2}.html"/&gt;
         &lt;/map:call&gt;
       &lt;/map:match&gt;
-      </pre>
-<p>We get XML from a "book" pipeline, 
-        <a href="#linkrewriting_impl">rewrite links</a>, and apply the
-          <span class="codefrag">book-to-menu.xsl</span> stylesheet to generate HTML.</p>
-<p>How the menu XML is actually generated (the *book-*.html pipeline) is
-          sufficiently complex to require a 
-          <a href="#menu_generation_impl">section of its own</a>.</p>
-<a name="N102C9"></a><a name="tab_pipeline"></a>
+      
+        </pre>
+<p>
+          We get XML from a "book" pipeline,
+          <a href="#linkrewriting_impl">rewrite links</a>, and apply the
+          <span class="codefrag">book-to-menu.xsl</span> stylesheet to generate HTML.
+        </p>
+<p>
+          How the menu XML is actually generated (the *book-*.html pipeline) is
+          sufficiently complex to require a
+          <a href="#menu_generation_impl">section of its own</a>.
+        </p>
+<a name="N102C8"></a><a name="tab_pipeline"></a>
 <h3 class="underlined_5">Page tabs</h3>
-<p>Tab generation is quite tame compared to menus:</p>
+<p>
+          Tab generation is quite tame compared to menus:
+        </p>
 <pre class="code">
+
      &lt;map:match pattern="**tab-*.html"&gt;
        &lt;map:generate src="content/xdocs/tabs.xml" /&gt;
        &lt;map:transform type="<a href="#linkrewriting_impl">linkrewriter</a>" src="cocoon:/{1}linkmap-{2}.html"/&gt;
@@ -928,55 +968,65 @@
          &lt;map:parameter name="path" value="{1}{2}.html"/&gt;
        &lt;/map:call&gt;
      &lt;/map:match&gt;
-           </pre>
-<p>All the smarts are in the <span class="codefrag">tab-to-menu.xsl</span> stylesheet, which
-          needs to choose the correct tab based on the current path.  Currently,
-          a "longest matching path" algorithm is implemented.  See the
-          <span class="codefrag">tab-to-menu.xsl</span> stylesheet for details.</p>
+           
+        </pre>
+<p>
+          All the smarts are in the <span class="codefrag">tab-to-menu.xsl</span> stylesheet,
+          which needs to choose the correct tab based on the current path.
+          Currently, a "longest matching path" algorithm is implemented. See the
+          <span class="codefrag">tab-to-menu.xsl</span> stylesheet for details.
+        </p>
 </div>
     
-    
-<a name="N102E5"></a><a name="resolvingResources"></a>
+<a name="N102E4"></a><a name="resolvingResources"></a>
 <h2 class="underlined_10">Resolving Resources</h2>
 <div class="section">
-<p>Many resources are resolved by the locationmap. This allow us to provide
-      many alternative locations for a file without cluttering up the
-      sitemap with multiple processing paths. We use a strict naming convention
-      to help make the sitemaps more readable. This is described in the
-      <a href="../docs_0_80/locationmap.html#namingConvention">Locationmap</a>
-      documentation.</p>
+<p>
+        Many resources are resolved by the locationmap. This allow us to provide
+        many alternative locations for a file without cluttering up the sitemap
+        with multiple processing paths. We use a strict naming convention to
+        help make the sitemaps more readable. This is described in the
+        <a href="../docs_0_80/locationmap.html#namingConvention">Locationmap</a>
+        documentation.
+      </p>
 </div>
-
     
-<a name="N102F3"></a><a name="menu_generation_impl"></a>
+<a name="N102F2"></a><a name="menu_generation_impl"></a>
 <h2 class="underlined_10">Menu XML generation</h2>
 <div class="section">
-<p>The "book" pipeline is defined in <span class="codefrag">sitemap.xmap</span>as:</p>
+<p>
+        The "book" pipeline is defined in <span class="codefrag">sitemap.xmap</span>as:
+      </p>
 <pre class="code">
+
         &lt;map:match pattern="**book-*.html"&gt;
           &lt;map:mount uri-prefix="" src="menu.xmap" check-reload="yes" /&gt;
         &lt;/map:match&gt;
-        </pre>
-<p>Meaning that it is defined in the <span class="codefrag">menu.xmap</span> file.  In there we find
-        the real definition, which is quite complicated, because there are three
-        supported menu systems (see <a href="../docs_0_80/linking.html">menus and
-          linking</a>).  We will not go through the sitemap itself
-        (menu.xmap), but will instead describe the logical steps involved:</p>
+        
+      </pre>
+<p>
+        Meaning that it is defined in the <span class="codefrag">menu.xmap</span> file. In there
+        we find the real definition, which is quite complicated, because there
+        are three supported menu systems (see <a href="../docs_0_80/linking.html">menus
+        and linking</a>). We will not go through the sitemap itself
+        (menu.xmap), but will instead describe the logical steps involved:
+      </p>
 <ol>
         
 <li>Take site.xml and expand hrefs so that they are all
           root-relative.</li>
         
 <li>
-<p>Depending on the <span class="codefrag">forrest.menu-scheme</span> property, we
-            now apply one of the two algorithms for choosing a set of menu links
+<p>
+            Depending on the <span class="codefrag">forrest.menu-scheme</span> property, we now
+            apply one of the two algorithms for choosing a set of menu links
             (described in <a href="../docs_0_80/linking.html#menu_generation">menu
-              generation</a>):</p>
+            generation</a>):
+          </p>
           
 <ul>
             
 <li>
-              
 <p>
                 For "@tab" menu generation, we first ensure each site.xml node
                 has a tab attribute (inherited from a parent if necessary), and
@@ -986,10 +1036,10 @@
               
 <p>
                 For example, say our current page's path is
-                <span class="codefrag">community/howto/index.html</span>.  In
+                <span class="codefrag">community/howto/index.html</span>. In
                 <span class="codefrag">site.xml</span> we look for the node with this
-                "<span class="codefrag">href</span>" and discover its "<span class="codefrag">tab</span>" attribute
-                value is "<span class="codefrag">howtos</span>".  We then prune the
+                "<span class="codefrag">href</span>" and discover its "<span class="codefrag">tab</span>"
+                attribute value is "<span class="codefrag">howtos</span>". We then prune the
                 <span class="codefrag">site.xml</span>-derived content to contain only nodes with
                 <span class="codefrag">tab="howtos"</span>.
               </p>
@@ -1000,41 +1050,45 @@
               </p>
               
 <pre class="code">
+
 &lt;map:transform src="resources/stylesheets/site-to-site-normalizetabs.xsl" /&gt;
 &lt;map:transform src="resources/stylesheets/site-to-site-selectnode.xsl"&gt;
   &lt;map:parameter name="path" value="{1}{2}"/&gt;
 &lt;/map:transform&gt;
-                </pre>
-            
+                
+              </pre>
 </li>
             
 <li>
-              
-<p>For "directory" menu generation, we simply use an
+<p>
+                For "directory" menu generation, we simply use an
                 <span class="codefrag">XPathTransformer</span> to include only pages in the
-                current page's directory, or below:</p>
+                current page's directory, or below:
+              </p>
               
 <pre class="code">
+
 &lt;map:transform type="xpath"&gt;
   &lt;map:parameter name="include" value="//*[@href='{1}']" /&gt;
 &lt;/map:transform&gt;
-                </pre>
+                
+              </pre>
               
 <p>
-                Here, the "<span class="codefrag">{1}</span>" is the directory part of the current
-                page.  So if our current page is
-                <span class="codefrag">community/howto/index.html</span> then "<span class="codefrag">{1}</span>" will
-                be <span class="codefrag">community/howto/</span> and the transformer will
+                Here, the "<span class="codefrag">{1}</span>" is the directory part of the
+                current page. So if our current page is
+                <span class="codefrag">community/howto/index.html</span> then "<span class="codefrag">{1}</span>"
+                will be <span class="codefrag">community/howto/</span> and the transformer will
                 include all nodes in that directory.
               </p>
-            
 </li>
           
 </ul>
           
-<p>We now have a <span class="codefrag">site.xml</span> subset relevant to our current
-            page.</p>
-        
+<p>
+            We now have a <span class="codefrag">site.xml</span> subset relevant to our current
+            page.
+          </p>
 </li>
         
 <li>The "<span class="codefrag">href</span>" nodes in this are then made relative to the
@@ -1047,58 +1101,65 @@
       
 </ol>
 </div>
-
     
-<a name="N10379"></a><a name="linkrewriting_impl"></a>
+<a name="N10373"></a><a name="linkrewriting_impl"></a>
 <h2 class="underlined_10">Link rewriting</h2>
 <div class="section">
-<p>In numerous places in <span class="codefrag">sitemap.xmap</span> you will see the
-        "linkrewriter" transformer in action.  For example:</p>
-<pre class="code">&lt;map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/&gt;</pre>
-<p>This statement is Cocoon's linking system in action.  A full
-        description is provided in <a href="../docs_0_80/linking.html">Menus and
-          Linking</a>.  Here we describe the implementation of linking.</p>
-<a name="N10390"></a><a name="input_modules"></a>
+<p>
+        In numerous places in <span class="codefrag">sitemap.xmap</span> you will see the
+        "linkrewriter" transformer in action. For example:
+      </p>
+<pre class="code">
+&lt;map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/&gt;
+      </pre>
+<p>
+        This statement is Cocoon's linking system in action. A full description
+        is provided in <a href="../docs_0_80/linking.html">Menus and Linking</a>. Here
+        we describe the implementation of linking.
+      </p>
+<a name="N1038A"></a><a name="input_modules"></a>
 <h3 class="underlined_5">Cocoon foundations: Input Modules</h3>
 <p>
           The implementation of <span class="codefrag">site:</span> linking is heavily based on
           Cocoon <a href="http://cocoon.apache.org/2.1/userdocs/concepts/modules.html">Input Modules</a>, a
-          little-known but quite powerful aspect of Cocoon.  Input Modules are
+          little-known but quite powerful aspect of Cocoon. Input Modules are
           generic Components which simply allow you to look up a value with a
-          key.  The value is generally dynamically generated, or obtained by
+          key. The value is generally dynamically generated, or obtained by
           querying an underlying data source.
         </p>
 <p>
           In particular, Cocoon contains an <span class="codefrag">XMLFileModule</span>, which
           lets one look up the value of an XML node, by interpreting the key as
-          an XPath expression.  Cocoon also has a
+          an XPath expression. Cocoon also has a
           <span class="codefrag">SimpleMappingMetaModule</span>, which allows the key to be
           rewritten before it is used to look up a value.
         </p>
 <p>
           The idea for putting these together to rewrite "<span class="codefrag">site:</span>"
           links was described in <a href="http://marc.theaimsgroup.com/?t=103992708800001&r=1&w=2">this
-            thread</a>. The idea is to write a Cocoon Transformer that
-          triggers on encountering &lt;link
-          href="<span class="codefrag">scheme:address</span>"&gt;, and interprets the
-          <span class="codefrag">scheme:address</span> internal URI as
-          <span class="codefrag">inputmodule:key</span>.  The transformer then uses the named
+          thread</a>. The idea is to write a Cocoon Transformer that triggers
+          on encountering &lt;link href="<span class="codefrag">scheme:address</span>"&gt;, and
+          interprets the <span class="codefrag">scheme:address</span> internal URI as
+          <span class="codefrag">inputmodule:key</span>. The transformer then uses the named
           InputModule to look up the key value. The <span class="codefrag">scheme:address</span>
-          URI is then rewritten with the found value.  This transformer was
-          implemented as 
+          URI is then rewritten with the found value. This transformer was
+          implemented as
           <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15611">LinkRewriterTransformer</a>,
           currently distributed as a "block" in Cocoon 2.1
         </p>
-<a name="N103C4"></a><a name="implement_rewriting"></a>
+<a name="N103BE"></a><a name="implement_rewriting"></a>
 <h3 class="underlined_5">Implementing "site:" rewriting</h3>
 <p>
           Using the above components, "<span class="codefrag">site:</span>" URI rewriting is
           accomplished as follows.
         </p>
-<a name="N103D3"></a><a name="cocoon_xconf"></a>
+<a name="N103CD"></a><a name="cocoon_xconf"></a>
 <h4>cocoon.xconf</h4>
-<p>First, we declare all the input modules we will be needing:</p>
+<p>
+            First, we declare all the input modules we will be needing:
+          </p>
 <pre class="code">
+
 &lt;!-- For the site: scheme --&gt;
 &lt;component-instance
   class="org.apache.cocoon.components.modules.input.XMLFileModule"
@@ -1113,7 +1174,8 @@
 &lt;component-instance
   class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
   logger="core.modules.mapper" name="ext"/&gt;
-</pre>
+
+          </pre>
 <ul>
             
 <li>
@@ -1125,21 +1187,21 @@
 <strong>site</strong> provides a "mask" over
               <strong>linkmap</strong> such that <span class="codefrag">site:index</span> expands
               to <span class="codefrag">linkmap:/site//index/@href</span>
-            
 </li>
             
 <li>
 <strong>ext</strong> provides another "mask" over
               <strong>linkmap</strong>, such that <span class="codefrag">ext:ant</span> would
               expand to <span class="codefrag">linkmap:/site/external-refs//ant/@href</span>
-            
 </li>
           
 </ul>
-<p>However at the moment, we have only declared the input modules.
-            They will be configured in <span class="codefrag">sitemap.xmap</span> as described in
-            the next section.</p>
-<a name="N10411"></a><a name="sitemap"></a>
+<p>
+            However at the moment, we have only declared the input modules. They
+            will be configured in <span class="codefrag">sitemap.xmap</span> as described in the
+            next section.
+          </p>
+<a name="N10409"></a><a name="sitemap"></a>
 <h4>sitemap.xmap</h4>
 <p>
             Now in the sitemap, we define the LinkRewriterTransformer, and
@@ -1147,6 +1209,7 @@
             content:
           </p>
 <pre class="code">
+
 ....
 &lt;!-- Rewrites links, e.g. transforming
      href="site:index" to href="../index.html"
@@ -1180,55 +1243,68 @@
   &lt;map:transform type="xinclude"/&gt;
   &lt;map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/&gt;
   ...
-&lt;/map:match&gt;</pre>
-<p>As you can see, our three input modules are configured as part of
-            the LinkRewriterTransformer's configuration.</p>
+&lt;/map:match&gt;
+          </pre>
+<p>
+            As you can see, our three input modules are configured as part of
+            the LinkRewriterTransformer's configuration.
+          </p>
 <ul>
             
 <li>
-              
-<p>Most deeply nested, we have:</p>
+<p>
+                Most deeply nested, we have:
+              </p>
               
 <pre class="code">
+
                 &lt;input-module name="linkmap"&gt;
                   &lt;file src="{src}" reloadable="false" /&gt;
-              &lt;/input-module&gt;</pre>
+              &lt;/input-module&gt;
+              </pre>
               
-<p>The "<span class="codefrag">{src}</span>" text is expanded to the value of the
+<p>
+                The "<span class="codefrag">{src}</span>" text is expanded to the value of the
                 "<span class="codefrag">src</span>" attribute in the "<span class="codefrag">linkrewriter</span>"
-                instance, namely "<span class="codefrag">cocoon:/{1}linkmap-{2}.html</span>"
-                Thus the <span class="codefrag">linkmap</span> module reads dynamically
-                generated XML specific to the current request.</p>
-            
+                instance, namely "<span class="codefrag">cocoon:/{1}linkmap-{2}.html</span>" Thus
+                the <span class="codefrag">linkmap</span> module reads dynamically generated XML
+                specific to the current request.
+              </p>
 </li>
             
 <li>
-              
-<p>One level out, we configure the "<span class="codefrag">site</span>" and
+<p>
+                One level out, we configure the "<span class="codefrag">site</span>" and
                 "<span class="codefrag">ext</span>" input modules, to map onto our dynamically
-                configured "<span class="codefrag">linkmap</span>" module.</p>
-            
+                configured "<span class="codefrag">linkmap</span>" module.
+              </p>
 </li>
             
 <li>
-              
-<p>Then at the outermost level, we configure the
-                "<span class="codefrag">linkrewriter</span>" transformer.  First we tell it which
-                attributes to consider rewriting:</p>
+<p>
+                Then at the outermost level, we configure the
+                "<span class="codefrag">linkrewriter</span>" transformer. First we tell it which
+                attributes to consider rewriting:
+              </p>
               
 <pre class="code">
+
                 &lt;link-attrs&gt;href src&lt;/link-attrs&gt;
-                &lt;schemes&gt;site ext&lt;/schemes&gt;</pre>
+                &lt;schemes&gt;site ext&lt;/schemes&gt;
+              </pre>
               
-<p>So, "<span class="codefrag">href</span>" and "<span class="codefrag">src</span>" attributes starting
-                with "<span class="codefrag">site:</span>" or "<span class="codefrag">ext:</span>" are rewritten.</p>
-
+<p>
+                So, "<span class="codefrag">href</span>" and "<span class="codefrag">src</span>" attributes
+                starting with "<span class="codefrag">site:</span>" or "<span class="codefrag">ext:</span>" are
+                rewritten.
+              </p>
               
-<p>By nesting the "<span class="codefrag">site</span>" and "<span class="codefrag">ext</span>" input
-                modules in the "<span class="codefrag">linkrewriter</span>" configuration, we tell
-                "<span class="codefrag">linkrewriter</span>" to use these two input modules when
-                rewriting links.</p>
-            
+<p>
+                By nesting the "<span class="codefrag">site</span>" and "<span class="codefrag">ext</span>" input
+                modules in the "<span class="codefrag">linkrewriter</span>" configuration, we
+                tell "<span class="codefrag">linkrewriter</span>" to use these two input modules
+                when rewriting links.
+              </p>
 </li>
           
 </ul>
@@ -1239,17 +1315,18 @@
             <span class="codefrag">cocoon:/community/linkmap-index.html</span>
           
 </p>
-<a name="N10484"></a><a name="dynamic_linkmap"></a>
+<a name="N10476"></a><a name="dynamic_linkmap"></a>
 <h4>Dynamically generating a linkmap</h4>
 <p>
             Why do we need this "linkmap" pipeline generating dynamic XML from
-            <span class="codefrag">site.xml</span>, instead of just using <span class="codefrag">site.xml</span> directly?  The reasons are described
+            <span class="codefrag">site.xml</span>, instead of just using <span class="codefrag">site.xml</span> directly? The reasons are described
             in <a href="http://marc.theaimsgroup.com/?l=forrest-dev&m=103444028129281&w=2">the linkmap RT</a>: we need to
             concatenate @hrefs and add dot-dots to the paths, depending on which
-            directory the linkee is in.  This is done with the following
+            directory the linkee is in. This is done with the following
             pipelines in <span class="codefrag">linkmap.xmap</span> ...
           </p>
 <pre class="code">
+
 &lt;!-- site.xml with @href's appended to be context-relative. --&gt;
 &lt;map:match pattern="abs-linkmap"&gt;
   &lt;map:generate src="content/xdocs/site.xml" /&gt;
@@ -1266,9 +1343,11 @@
   &lt;/map:transform&gt;
   &lt;map:serialize type="xml" /&gt;
 &lt;/map:match&gt;
-            </pre>
-<p>You can try these URIs out directly on a live Forrest to see what
-            is going on (for example, Forrest's own 
+            
+          </pre>
+<p>
+            You can try these URIs out directly on a live Forrest to see what is
+            going on (for example, Forrest's own
             <a href="../abs-linkmap">abs-linkmap</a>).
           </p>
 </div>

Modified: forrest/site/docs_0_80/sitemap-ref.pdf
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/sitemap-ref.pdf?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
Binary files - no diff available.

Modified: forrest/site/docs_0_80/skin-package.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/skin-package.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/skin-package.html (original)
+++ forrest/site/docs_0_80/skin-package.html Mon Apr  9 21:44:00 2007
@@ -336,11 +336,11 @@
 <h2 class="underlined_10">Overview</h2>
 <div class="section">
 <p>
-Skins are standard zip archives with a *.zip extension.
-This enables them to be unpacked and installed automatically.
+        Skins are standard zip archives with a *.zip extension. This enables
+        them to be unpacked and installed automatically.
       </p>
 <p>
-To publish a skin:
+        To publish a skin:
       </p>
 <pre class="code">
 1 - forrest package-skin
@@ -349,7 +349,7 @@
 3 - ask forrest-dev to add the url and the skin name to the list of skins
 </pre>
 <p>
-To use a custom skin with automatic download:
+        To use a custom skin with automatic download:
       </p>
 <pre class="code">
 1 - set the skin property in forrest.properties to the name of the skin
@@ -357,23 +357,22 @@
 3 - forrest
 </pre>
 <p>
-Currently there are two test skins: "testskin" and "testskin2"
+        Currently there are two test skins: "testskin" and "testskin2"
       </p>
 <p>
-To see the names of the remote skins:
+        To see the names of the remote skins:
       </p>
 <pre class="code">forrest available-skins</pre>
 </div>
-
     
 <a name="N10032"></a><a name="notes"></a>
 <h2 class="underlined_10">Notes</h2>
 <div class="section">
 <p>
-The skin will get blown away by the next 'build clean' in forrest.
-But that is okay because it is so quick to go get another copy. Also it
-may be preferable to get a fresh copy. If the user wanted to keep
-the skin and perhaps enhance it, then they can copy it to their project.
+        The skin will get blown away by the next 'build clean' in forrest. But
+        that is okay because it is so quick to go get another copy. Also it may
+        be preferable to get a fresh copy. If the user wanted to keep the skin
+        and perhaps enhance it, then they can copy it to their project.
       </p>
 </div>
   

Modified: forrest/site/docs_0_80/skins.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/skins.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/skins.html (original)
+++ forrest/site/docs_0_80/skins.html Mon Apr  9 21:44:00 2007
@@ -365,11 +365,10 @@
         many capabilities so that extra skins are not needed.
       </p>
 <p>
-        Note that the new Dispatcher capability will be a better solution.
-        See <a href="../docs_0_80/status-themes.html">Status of Themes: Skins and Dispatcher</a>.
+        Note that the new Dispatcher capability will be a better solution. See
+        <a href="../docs_0_80/status-themes.html">Status of Themes: Skins and Dispatcher</a>.
       </p>
 </div>
-
     
 <a name="N1001E"></a><a name="names"></a>
 <h2 class="underlined_10">Convention for choosing skin names</h2>
@@ -377,13 +376,12 @@
 <p>
         The skin names are based on playing with the word "skin". See our
         technique for
-        <a href="http://svn.apache.org/repos/asf/forrest/trunk/main/webapp/skins/new-skin-names.txt">choosing skin names</a>.
-        A name with "-dev" extension signifies that it is under development.
-        There is no concept of versions of default skins.
-        New skins have new names.
+        <a href="http://svn.apache.org/repos/asf/forrest/trunk/main/webapp/skins/new-skin-names.txt">choosing
+        skin names</a>. A name with "-dev" extension signifies that it is under
+        development. There is no concept of versions of default skins. New skins
+        have new names.
       </p>
 </div>
-
     
 <a name="N1002C"></a><a name="skins"></a>
 <h2 class="underlined_10">Skin descriptions and examples</h2>
@@ -393,35 +391,35 @@
 <p>
           Uses CSS "div" and no HTML tables.
         </p>
-<p>Examples:
-          <a href="http://forrest.apache.org/">Apache Forrest</a> |
+<p>
+          Examples: <a href="http://forrest.apache.org/">Apache Forrest</a> |
           <a href="http://lenya.apache.org/">Apache Lenya</a>
         
 </p>
 <a name="N10047"></a><a name="tigris"></a>
 <h3 class="underlined_5">tigris</h3>
 <p>
-          This skin is based on version 1.1 of the 
-          <a href="http://style.tigris.org/">style.tigris.org</a> project.
-          (It deliberately contravenes our skin naming convention.)
+          This skin is based on version 1.1 of the
+          <a href="http://style.tigris.org/">style.tigris.org</a> project. (It
+          deliberately contravenes our skin naming convention.)
         </p>
-<p>Examples:
-          <a href="http://www.core.gen.tr/">Core Computer Security Group</a>
+<p>
+          Examples: <a href="http://www.core.gen.tr/">Core Computer Security
+          Group</a>
         
 </p>
 <a name="N1005C"></a><a name="plain-dev"></a>
 <h3 class="underlined_5">plain-dev</h3>
 <p>
-          This is a very minimal skin to produce plain HTML documents.
-          Such capability might be useful to generate a collection of
-          documents for some off-line product's user help system.
+          This is a very minimal skin to produce plain HTML documents. Such
+          capability might be useful to generate a collection of documents for
+          some off-line product's user help system.
         </p>
-<p>Examples:
-          <a href="images/snapshot-plain-dev.png">snapshot</a>
+<p>
+          Examples: <a href="images/snapshot-plain-dev.png">snapshot</a>
         
 </p>
 </div>
-
     
 <a name="N1006E"></a><a name="old"></a>
 <h2 class="underlined_10">Old and deprecated skins</h2>
@@ -436,8 +434,8 @@
           This is the old skin that we have been dragging around since early
           days. Uses HTML tables.
         </p>
-<p>Examples:
-          <a href="http://xml.apache.org/">Apache XML</a>
+<p>
+          Examples: <a href="http://xml.apache.org/">Apache XML</a>
         
 </p>
 <a name="N10088"></a><a name="krysalis-site"></a>
@@ -445,7 +443,8 @@
 <p>
           Uses HTML tables.
         </p>
-<p>Examples:
+<p>
+          Examples:
         </p>
 </div>
   

Modified: forrest/site/docs_0_80/status-themes.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/status-themes.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/status-themes.html (original)
+++ forrest/site/docs_0_80/status-themes.html Mon Apr  9 21:44:00 2007
@@ -337,41 +337,52 @@
 <a name="N1000D"></a><a name="skins"></a>
 <h2 class="underlined_10">Skins</h2>
 <div class="section">
-<p>"Skins" is the term used to describe the current method for adding 
-        navigation and menu information to the content of a page and applying a 
-        consistent theme for layout, colours, etc. The <a href="../docs_0_80/your-project.html#skins">"pelt" skin</a> is the only one that the Forrest 
-        project is maintaining. It is configurable enough to meet many 
-        purposes. The main configuration file for skins is the skinconf.xml 
-        file. There is 
-        an ability for users to create their own skins, although we have not 
-        encouraged that.</p>
-<p>For the Forrest-0.8 release, skins are still available and are still the main mechanism.
-      No effort has been made to enhance skins.</p>
+<p>
+        "Skins" is the term used to describe the current method for adding
+        navigation and menu information to the content of a page and applying a
+        consistent theme for layout, colours, etc. The
+        <a href="../docs_0_80/your-project.html#skins">"pelt" skin</a> is the only one that the
+        Forrest project is maintaining. It is configurable enough to meet many
+        purposes. The main configuration file for skins is the skinconf.xml
+        file. There is an ability for users to create their own skins, although
+        we have not encouraged that.
+      </p>
+<p>
+        For the Forrest-0.8 release, skins are still available and are still the
+        main mechanism. No effort has been made to enhance skins.
+      </p>
 </div>
     
 <a name="N1001E"></a><a name="dispatcher"></a>
 <h2 class="underlined_10">Dispatcher</h2>
 <div class="section">
-<p>"Dispatcher" is the term used to describe a new method which aims to 
-        be a more flexible and complete solution to build a reliable common 
-        structure for documents, incorporate other content, and provide hooks 
-        for applying themes. Themes get configured by structurer definitions 
-        (a wee bit like the skinconf.xml). Although strong progress has been 
-        made, it is still under development. We encourage developers to use 
-        Dispatcher and contribute to its development. See the <a href="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/index.html">
-        plugin documentation</a> for more information.</p>
+<p>
+        "Dispatcher" is the term used to describe a new method which aims to be
+        a more flexible and complete solution to build a reliable common
+        structure for documents, incorporate other content, and provide hooks
+        for applying themes. Themes get configured by structurer definitions (a
+        wee bit like the skinconf.xml). Although strong progress has been made,
+        it is still under development. We encourage developers to use Dispatcher
+        and contribute to its development. See the
+        <a href="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/index.html">
+        plugin documentation</a> for more information.
+      </p>
 </div>
     
 <a name="N1002C"></a><a name="framework"></a>
 <h2 class="underlined_10">Plan for future framework</h2>
 <div class="section">
-<p>The desired direction is to use xhtml2 as the internal format, move the current "skins"
-        into a plugin, and develop input plugins for xdoc and html sources. This would enable
-        any theme engine to be used, whether that be Skins or Dispatcher or some other.
+<p>
+        The desired direction is to use xhtml2 as the internal format, move the
+        current "skins" into a plugin, and develop input plugins for xdoc and
+        html sources. This would enable any theme engine to be used, whether
+        that be Skins or Dispatcher or some other.
       </p>
-<p>See the development discussion:
-        <a href="http://thread.gmane.org/gmane.text.xml.forrest.devel/20573">Re: status of skins and dispatcher</a>.
-        This is planned for immediately following the 0.8 release. New developers please help.
+<p>
+        See the development discussion:
+        <a href="http://thread.gmane.org/gmane.text.xml.forrest.devel/20573">Re:
+        status of skins and dispatcher</a>. This is planned for immediately
+        following the 0.8 release. New developers please help.
       </p>
 </div>
   

Modified: forrest/site/docs_0_80/upgrading_08.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/upgrading_08.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/upgrading_08.html (original)
+++ forrest/site/docs_0_80/upgrading_08.html Mon Apr  9 21:44:00 2007
@@ -356,7 +356,7 @@
 <a href="#To+be+continued...">To be continued...</a>
 </li>
 </ul>
-</div> 
+</div>
     
 <a name="N1000D"></a><a name="introduction"></a>
 <h2 class="underlined_10">Introduction</h2>
@@ -364,34 +364,33 @@
 <div class="note">
 <div class="label">Note</div>
 <div class="content">
-This is the <strong>development</strong> version of Apache Forrest which can
-be obtained from the Subversion repository or from a code snapshot.
-See the notes for obtaining and <a href="../docs_0_80/howto/../build.html">Building Forrest</a>.
-</div>
-</div>
-<p>
-      This page describes some changes to Apache Forrest that affect people who are
-      upgrading to the 0.8 version.
-      If you have other issues, then please discuss on either the
-      <a href="../mail-lists.html#forrest-dev">dev</a> or
-      <a href="../mail-lists.html#forrest-user">user</a>
-      mailing lists.
-      As more experience is gained, this document will be updated.  
+        This is the <strong>development</strong> version of Apache Forrest which
+        can be obtained from the Subversion repository or from a code snapshot.
+        See the notes for obtaining and <a href="../docs_0_80/howto/../build.html">Building
+        Forrest</a>.
+      </div>
+</div>
+<p>
+        This page describes some changes to Apache Forrest that affect people
+        who are upgrading to the 0.8 version. If you have other issues, then
+        please discuss on either the
+        <a href="../mail-lists.html#forrest-dev">dev</a> or
+        <a href="../mail-lists.html#forrest-user">user</a> mailing lists. As more
+        experience is gained, this document will be updated.
       </p>
 <p>
-      (If you are upgrading from a version prior to 0.7 then you will need
-      to see the notes for the previous upgrade.)
+        (If you are upgrading from a version prior to 0.7 then you will need to
+        see the notes for the previous upgrade.)
       </p>
 </div>
-
     
 <a name="N1002C"></a><a name="new"></a>
 <h2 class="underlined_10">New Features</h2>
 <div class="section">
 <p>
-        The following list shows some of the key new features.
-        For the full list of changes, see the main
-        <a href="../docs_0_80/changes.html">change log</a> and also for each plugin.
+        The following list shows some of the key new features. For the full list
+        of changes, see the main <a href="../docs_0_80/changes.html">change log</a> and also
+        for each plugin.
       </p>
 <ul>
         
@@ -399,49 +398,58 @@
 <a href="../docs_0_80/locationmap.html">Locationmaps</a>.</li>
       
 </ul>
-<p>Many new initial plugins are in the "whiteboard". See the entries in the
-        <a href="../docs_0_80/changes.html">change log</a> and see each plugin's documentation and changes log.
-        This includes the new Dispatcher.
-        See <a href="../docs_0_80/status-themes.html">Status of Themes: Skins and Dispatcher</a>.
+<p>
+        Many new initial plugins are in the "whiteboard". See the entries in the
+        <a href="../docs_0_80/changes.html">change log</a> and see each plugin's
+        documentation and changes log. This includes the new Dispatcher. See
+        <a href="../docs_0_80/status-themes.html">Status of Themes: Skins and Dispatcher</a>.
       </p>
 </div>
-
     
 <a name="N1004E"></a><a name="locationmaps"></a>
 <h2 class="underlined_10">Locationmaps</h2>
 <div class="section">
-<p>The <a href="../docs_0_80/locationmap.html">Locationmaps</a> define the mapping from requests to locations
-        which enables content and resources to be located at various different sources.
+<p>
+        The <a href="../docs_0_80/locationmap.html">Locationmaps</a> define the mapping from
+        requests to locations which enables content and resources to be located
+        at various different sources.
       </p>
-<p>Adding a default locationmap to your project is not required, but is advisable.
-       Sooner or later you will use it. Having a default one also reduces the verbosity
-       of the log files. Copy one from a fresh 'forrest seed' to
-       <span class="codefrag">PROJECT_HOME/src/documentation/content/locationmap.xml</span>
+<p>
+        Adding a default locationmap to your project is not required, but is
+        advisable. Sooner or later you will use it. Having a default one also
+        reduces the verbosity of the log files. Copy one from a fresh 'forrest
+        seed' to
+        <span class="codefrag">PROJECT_HOME/src/documentation/content/locationmap.xml</span>
       
 </p>
 <div class="warning">
 <div class="label">Warning</div>
-<div class="content">If you do use locationmaps and an entry for a specific request is 
-      missing Forrest generates a confusing error message. Please ask on our
-      mailing lists for help in debugging your problem (hint, turn on locationmap
-      debugging in [FORREST_HOME]/main/webapp/WEB-INF/logkit.xconf, restart Forrest,
-      request the broken pages and visit [SITE_HOM]/build/webapp/logs/locationmap.xml).
-      This issue will be fixed in the next version of Forrest.</div>
+<div class="content">
+        If you do use locationmaps and an entry for a specific request is
+        missing Forrest generates a confusing error message. Please ask on our
+        mailing lists for help in debugging your problem (hint, turn on
+        locationmap debugging in
+        [FORREST_HOME]/main/webapp/WEB-INF/logkit.xconf, restart Forrest,
+        request the broken pages and visit
+        [SITE_HOM]/build/webapp/logs/locationmap.xml). This issue will be fixed
+        in the next version of Forrest.
+      </div>
 </div>
 </div>
-
     
 <a name="N10065"></a><a name="modules"></a>
 <h2 class="underlined_10">Forrest configuration simplification</h2>
 <div class="section">
 <p>
         
-<strong>FOR-920</strong> Merging the
-        <span class="codefrag">defaults</span> and
-        <span class="codefrag">project</span> modules to the new
-        <span class="codefrag">properties</span> module. You can use it like {properties:forrest.home}
-        </p>
-<p> In all custom code (e.g. project sitemaps or plugins) you need to do the following: </p>
+<strong>FOR-920</strong> Merging the <span class="codefrag">defaults</span> and
+        <span class="codefrag">project</span> modules to the new <span class="codefrag">properties</span> module.
+        You can use it like {properties:forrest.home}
+      </p>
+<p>
+        In all custom code (e.g. project sitemaps or plugins) you need to do the
+        following:
+      </p>
 <ul>
         
 <li>find:
@@ -462,106 +470,103 @@
       
 </ul>
 </div>
-
     
 <a name="N1009D"></a><a name="clean"></a>
 <h2 class="underlined_10">Run a clean target after upgrade</h2>
 <div class="section">
 <p>
-        Do 'forrest clean-work' in each of your projects. This also removes
-        the old Cocoon disk cache.
+        Do 'forrest clean-work' in each of your projects. This also removes the
+        old Cocoon disk cache.
       </p>
 </div>
-
     
 <a name="N100A7"></a><a name="to2to"></a>
 <h2 class="underlined_10">New filename convention for stylesheets</h2>
 <div class="section">
 <p>
-        There is now a filenaming convention for stylesheets (e.g. document-to-html.xsl).
-        This assists with automating the location of such resources.
-        See <a href="../docs_0_80/locationmap.html">Locationmap</a>.
-      </p>
-<p>For the default use of Forrest, this makes no difference. However, if
-        you have developed your own skin then you will need to do some filename changes, e.g.
-        <span class="codefrag">'cd skins/my-skin/xslt/html; mv tab2menu.xsl tab-to-menu.xsl'</span> (do each of book2menu.xsl document2html.xsl site2xhtml.xsl tab2menu.xsl).
-        It is advisable to follow this naming convention for your other resources,
-        which will mean that you can utilise the locationmap.
+        There is now a filenaming convention for stylesheets (e.g.
+        document-to-html.xsl). This assists with automating the location of such
+        resources. See <a href="../docs_0_80/locationmap.html">Locationmap</a>.
+      </p>
+<p>
+        For the default use of Forrest, this makes no difference. However, if
+        you have developed your own skin then you will need to do some filename
+        changes, e.g. <span class="codefrag">'cd skins/my-skin/xslt/html; mv tab2menu.xsl
+        tab-to-menu.xsl'</span> (do each of book2menu.xsl document2html.xsl
+        site2xhtml.xsl tab2menu.xsl). It is advisable to follow this naming
+        convention for your other resources, which will mean that you can
+        utilise the locationmap.
       </p>
 </div>
-
     
 <a name="N100BB"></a><a name="docs"></a>
 <h2 class="underlined_10">Notes about documentation</h2>
 <div class="section">
-<p>After each release, the "Versioned Docs" are copied to form the new "dev" set.
-        Ideally the docs are then upgraded in readiness for the new release.
-        This has not been completed for the 0.8 release. In particular there are
-        example snippets of sitemaps which have not yet been upgraded to reflect the changes to the sitemaps and the separation of some core stuff into plugins.
-        See issues
-        <a href="http://issues.apache.org/jira/browse/FOR-546">FOR-546</a>
-        and 
-        <a href="http://issues.apache.org/jira/browse/FOR-922">FOR-922</a>
-        and others.
+<p>
+        After each release, the "Versioned Docs" are copied to form the new
+        "dev" set. Ideally the docs are then upgraded in readiness for the new
+        release. This has not been completed for the 0.8 release. In particular
+        there are example snippets of sitemaps which have not yet been upgraded
+        to reflect the changes to the sitemaps and the separation of some core
+        stuff into plugins. See issues
+        <a href="http://issues.apache.org/jira/browse/FOR-546">FOR-546</a> and
+        <a href="http://issues.apache.org/jira/browse/FOR-922">FOR-922</a> and
+        others.
       </p>
 </div>
-
     
 <a name="N100CD"></a><a name="cocoon"></a>
 <h2 class="underlined_10">Notes about Cocoon version</h2>
 <div class="section">
 <p>
-        The last time that we upgraded our packaged version of Cocoon trunk
-        was using their SVN r351990 on 2005-12-08. Since then a number of things
+        The last time that we upgraded our packaged version of Cocoon trunk was
+        using their SVN r351990 on 2005-12-08. Since then a number of things
         have happened to cause us to fall out of synchronisation with Cocoon.
-        There is various discussion about this in the Forrest and Cocoon dev mail archives.
+        There is various discussion about this in the Forrest and Cocoon dev
+        mail archives.
       </p>
 <p>
         If you use your own version of Cocoon, then you will know about the
-        upgrade notes in the $FORREST_HOME/etc/cocoon_upgrade directory.
-        You might be able to advance a bit beyond the SVN revision, but not much.
+        upgrade notes in the $FORREST_HOME/etc/cocoon_upgrade directory. You
+        might be able to advance a bit beyond the SVN revision, but not much.
         Please help to rectify this situation.
       </p>
 </div>
-
     
 <a name="N100DA"></a><a name="xmlformat"></a>
 <h2 class="underlined_10">Whitespace and indenting of xml files with xmlformat</h2>
 <div class="section">
 <p>
         All xml type files have been formatted using xmlformat. You can apply
-        this to your own work if necessary by using the same configuration
-        as the Forrest project.
-        See notes at <a href="http://issues.apache.org/jira/browse/FOR-644">FOR-644</a>.
+        this to your own work if necessary by using the same configuration as
+        the Forrest project. See notes at
+        <a href="http://issues.apache.org/jira/browse/FOR-644">FOR-644</a>.
       </p>
 </div>
-
     
 <a name="N100E8"></a><a name="tips"></a>
 <h2 class="underlined_10">General upgrade tips</h2>
 <div class="section">
 <p>
-      Synchronise your project's skinconf.xml and forrest.properties files.
+        Synchronise your project's skinconf.xml and forrest.properties files.
       </p>
 <p>
-      Take advantage of the separation of concerns. In a new workspace,
-      create a fresh
-      '<span class="codefrag">forrest seed</span>' site, then tweak its forrest.properties
-      and skinconf.xml until it reflects your old site.
-      When it is ready, replace your project's skinconf.xml and
-      forrest.properties files.
-      Any remaining issues would concern other aspects of your configuration,
-      such as site.xml and your actual content.
+        Take advantage of the separation of concerns. In a new workspace, create
+        a fresh '<span class="codefrag">forrest seed</span>' site, then tweak its
+        forrest.properties and skinconf.xml until it reflects your old site.
+        When it is ready, replace your project's skinconf.xml and
+        forrest.properties files. Any remaining issues would concern other
+        aspects of your configuration, such as site.xml and your actual content.
       </p>
 </div>
-
     
 <a name="N100F8"></a><a name="To+be+continued..."></a>
 <h2 class="underlined_10">To be continued...</h2>
 <div class="section">
-<p>...as more issues are discovered/remembered :)  Please send feedback
-      to the
-      <a href="../mail-lists.html#forrest-dev">mailing list</a>.</p>
+<p>
+        ...as more issues are discovered/remembered :) Please send feedback to
+        the <a href="../mail-lists.html#forrest-dev">mailing list</a>.
+      </p>
 </div>
   
 </div>



Mime
View raw message