Return-Path:
- See the Using Forrest =
guide.
- See the Using Forrest guide.=
- Forrest includes everything necessary to build and run, except
- of course for Java. In addition to all the Cocoon JARs, Forrest
- includes and uses its own version of Ant. Java 1.4+ is required.
- Forrest includes everything necessary to build and run, except of cour=
se for Java. In
+ addition to all the Cocoon JARs, Forrest includes and uses its o=
wn version of Ant. Java
+ 1.4+ is required.
- Forrest switched from a CVS code repository to SVN (subversion)
- code repository. The old CVS repository is not kept current.
- Forrest switched from a CVS code repository to SVN (subversion) code r=
epository. The old
+ CVS repository is not kept current.
- Follow these Building Forrest=
notes.
-
- The Using Forrest guid=
e provides
- further step-by-step assistance in getting started with Forrest =
for your project.
- Follow these Building Forrest notes=
. The Using Forrest guide prov=
ides further
+ step-by-step assistance in getting started with Forrest for your=
project.
- forrest site -Dproject.start-uri=3Dmyfile.pdf=20
-
- The Using Forrest guid=
e provides
- further step-by-step assistance in getting started with Forrest =
for your project.
- forrest site -Dproject.start-uri=3Dmyfile.pdf The Using Forrest guide prov=
ides further
+ step-by-step assistance in getting started with Forrest for your=
project.
- This=20
- appears
- to be a bug in cygwin. Please use the .bat script instead.
- This appears
+ to be a bug in cygwin. Please use the .bat script instead.=
- There are two ways to control this. If you get an OutOfMemoryErr=
or when Cocoon is generating pages,
- see the first paragraph. If you get an OutOfMemoryError when out=
side of Cocoon (e.g., copying raw
- files), see the second paragraph.
-
- The maxmemory property in the There are two ways to control this. If you get an OutOfMemoryError whe=
n Cocoon is
+ generating pages, see the first paragraph. If you get an OutOfMe=
moryError when outside of
+ Cocoon (e.g., copying raw files), see the second paragraph. The maxmemory property in the forrest.properties file controls
+ how much memory Cocoon uses. Like many other properties you can =
copy them from the default
+ configuration at src/core/fresh-site/fo=
rrest.properties
=20
- Set the ANT_OPTS environment vari=
able before you run forrest. The exact value you set
- it to is dependant on your JVM, but something like ANT_OPTS=3D-Xmx500M will probably work.
- Set the ANT_OPTS environment variable =
before you run forrest. The exact
+ value you set it to is dependant on your JVM, but something like
+ ANT_OPTS=3D-Xmx500M will probabl=
y work. If you are using the Apache Forrest xml
- document format or DocBook
- or other xml document types, then you can use any text editor
- or even a dedicated xml editor. You must ensure valid xml. See o=
ur
- configuration notes
- for various editors.
- There are content management systems like
- Apache Lenya.
- Remember that Forrest can also use other source formats, such as
- OpenOffice.org docs or JSPWiki. Use the appropriate editor for t=
hose
- document types and ensure that the document stucture is consiste=
nt.
- Forrest can also use "html" as the source format, in which case =
you
- can use text editors or "html editors" such as the one provided
- with the Mozilla web browser.
- If you are using the Apache Forrest xml document format
+ or DocBook or other xml document types, then you can use any tex=
t editor or even a
+ dedicated xml editor. You must ensure valid xml. See our configuration notes for various editors. There are content management systems like Apache Lenya. Remember that Forrest can also use other source formats, such as OpenOf=
fice.org docs or
+ JSPWiki. Use the appropriate editor for those document types and=
ensure that the document
+ stucture is consistent. Forrest can also use "html" as the sourc=
e format, in which case
+ you can use text editors or "html editors" such as the one provi=
ded with the Mozilla web
+ browser.
- In this case the menu labeled "About" will have 2 new items:=20
- "Full PDF" and "Full HTML". (See also
- How to create a PDF do=
cument for each tab.)
-
- This assumes that you use the
- site.xml method for your site
- structure and navigation, rather than the old book.xml method.
- In this case the menu labeled "About" will have 2 new items: "Full PDF=
" and "Full HTML".
+ (See also How to cr=
eate a PDF document for each
+ tab.) This assumes that you use the site.xm=
l method for your
+ site structure and navigation, rather than the old book.xml meth=
od. Page breaks do not make a great deal of sense in HTML documents
- intended for display on a screen. However, PDF documents are inten=
ded
- for printing and therefore page breaks can be important. To insert a page break in a PDF document simply add=20
- pageBreakBefore or pageBreakAfter to the class
- attribute of a section. If you want these classes to be processed in your HTML documents
- as well you should add the following to the extra-css
- element in your projects skinconf.xml
- Page breaks do not make a great deal of sense in HTML documents intende=
d for display on a
+ screen. However, PDF documents are intended for printing and the=
refore page breaks can be
+ important. To insert a page break in a PDF document simply add pageBreakBefore=
or
+ pageBreakAfter to the class attribute of a section.=
p>
+ If you want these classes to be processed in your HTML documents as wel=
l you should add
+ the following to the extra-css e=
lement in your projects
+ skinconf.xml
+ =20
+ You would override
- $FORREST_HOME/main/webapp/skins/common/xslt/html/document2html.xsl<=
/span>
- and edit the "headers/authors" template.
-
@@ -338,36 +324,40 @@
2.1. What tools can be used to edit the content?=
@@ -487,114 +450,79 @@
1. Getting Started and Building Forrest
-1.1.=20
- Where can I read an overview about how to work with Forrest?
-
+1.1. Where can I read an overview about how to work wit=
h Forrest?
1.2.=20
- What are the system requirements for Forrest?
-
+1.2. What are the system requirements for Forrest?
1.3.=20
- The old xml-forrest CVS code repository seems to be stale. What ha=
ppened?
-
+1.3. The old xml-forrest CVS code repository seems to b=
e stale. What happened?
1.4.=20
- How can I use SVN to keep up to date with the latest codebase?
-
+1.4. How can I use SVN to keep up to date with the late=
st codebase?
1.5.=20
- What is the best way to generate "standalone documents" using Forr=
est?
-
+1.5. What is the best way to generate "standalone docum=
ents" using Forrest?
1.6.=20
- When running ./build.sh in cygwin, I get an error:
- cygpath.exe: *** can't create title mutex, Win32 error 6.=20
-
+1.6. When running ./build.sh in cygwin, I get an error:=
cygpath.exe:
+ *** can't create title mutex, Win32 error 6.
1.7.=20
- How can I specify the amount of memory to be used by Java?
-
+1.7. How can I specify the amount of memory to be used =
by Java?
2. Content Creation
@@ -604,27 +532,18 @@
^
2.2. How can I generate one pdf-file out of
- the whole site or selected pages of the site?
+2.2. How can I generate one pdf-file out of the whole si=
te or selected pages of the site?
@@ -637,16 +556,11 @@
<all_sitePDF label=3D"Full PDF" href=3D"wholesite.pdf"/> =20
...
</about>
-2.3. How do I insert page breaks into documents?
@@ -654,156 +568,178 @@
^
- .pageBreakBefore {
- margin-bottom: 0;
- page-break-before: always;
- }=20
- =20
- .pageBreakAfter {
- margin-bottom: 0;
- page-break-after: always;
- }
-
-2.4. How can I generate html-pages to show a=20
- 'clickable' email-address (of the author-element)?
+ .pageBreakBefore { margin-bottom: 0; page-break-befor=
e: always; } .pageBreakAfter {
+ margin-bottom: 0; page-break-after: always; }
+
+
+2.4. How can I generate html-pages to show a 'clickable'=
email-address (of the
+ author-element)?
2.5. How do I link to raw files such as config.txt and b=
rochure.pdf?
-
+ $FORREST_HOME/main/webapp/skins/common/xslt/html/document2html=
.xsl and edit the
+ "headers/authors" template.
- Place them in the src/documentation/con= tent directory - and they will get copied into the output tree where you can link= to - them. You can also have sub-directories there to reflect your xd= ocs - tree. See the samples documents when you 'forrest seed' a new - project for a demonstration of this ability. -
-- For example, if - src/documentation/content/xdocs/tools/do= wnloads.xml - has a <link href=3D"tool.zip"> then put - tool.zip in the - src/documentation/content/tools/ = directory. -
-- See the explanation and demonstration of "linking" in your local - 'forrest seed' site. +
Place them in the src/documentation/content= span> directory and they will get + copied into the output tree where you can link to them. You can = also have sub-directories + there to reflect your xdocs tree. See the samples documents when= you 'forrest seed' a new + project for a demonstration of this ability.
+For example, if src/documentation/content/xdo= cs/tools/downloads.xml has a + <link href=3D"tool.zip">= then put tool.zip in the + src/documentation/content/tools/ directory.
+See the explanation and demonstration of "linking" in your local 'forr= est seed' site.
- Forrest uses Apache FOP - for rendering PDFs. FOP cannot handle all image types natively,= and - requires third-party jars to be added. FOP natively handles BMP,= GIF, - JPG, TIFF and EPS (with a few limitations). FOP can also handle SVG - (via Batik!and PNG (see below). For details, see=20 - FOP Graphics - formats +
Forrest uses Apache FOP for= rendering + PDFs. FOP cannot handle all image types natively, and requires t= hird-party jars to be + added. FOP natively handles BMP, GIF, JPG, TIFF and EPS (with a = few limitations). FOP can + also handle SVG (via Batik!and PNG (see below). For details, see= FOP Graphics formats= a> =20
To get PNGs working in PDFs with Jimi:
Alternatively you can use JAI (Java Advanced Imaging API at=20 - http://java.sun.com/products/java-media/jai). For more - info, see - FOP= Graphics=20 - Packages +
Alternatively you can use JAI (Java Advanced Imaging API at + http://java.sun.com/products/java-media/jai). For more info, see= FOP Graphics = Packages =20
- In tabs.xml, use @href instead o= f @dir, and omit the - trailing '/'. Which file to serve is then a concern of the sitem= ap. - For example, if the "User Manual" tab should link to - manual/Introduction.html then - tabs.xml should contain: -
+In tabs.xml, use @href instead of @dir= , and omit the trailing '/'. Which + file to serve is then a concern of the sitemap. For example, if = the "User Manual" tab + should link to manual/Introduction.html= then tabs.xml should + contain:
<tab label=3D"User Manual" href=3D"manual"/>-
- and add this rule to the sitemap: -
+and add this rule to the sitemap:
<map:match pattern=3D"manual"> <map:redirect-to uri=3D"manual/Introduction.html"/> </map:match>
To change the default file name from 'index.html' (default) to 'overvie= w=2Ehtm' you need to + make the following changes:
+Forrest by default assumes that the first page (home page) of your site= is named + index.html. Which is good because most web servers are configure= d to look for index.html + when you call a url like http://myserver.
+Like most settings in Forrest however this can be changed, for example = when you want your + start-up-page for a CD-based documentation project to be named '= start.html'.
+To change the start page of a site:
+- Use the numeric values for character entities. - For example, rather than using - ö use - ö +
Use the numeric values for character entities. For example, rather tha= n using + ö use ö =20
-- See the - XHTML Character Entities - and see more discussion at - Issue FOR-2= 44. -
+See the XHTML Character Entities and se= e more discussion at Issue FOR-244.
This is because sources for Forrest docs are xml documents, which can i= nclude any of these, - provided the encoding declared by the xml doc matches the actual= encoding used in the file. - For example if you declare the default encoding:
+This is because sources for Forrest docs are xml documents, which can i= nclude any of + these, provided the encoding declared by the xml doc matches the= actual encoding used in + the file. For example if you declare the default encoding:
<?xml version=3D"1.0" encoding=3D"UTF-8"?>-
but the file content is actually using ISO-8859-1 then you will - receive validation errors, especially if=20 - you include some non-ASCII characters.
-- This situation is commonly encountered when you edit the templat= es - created by forrest seed with you= r favorite=20 - (probably localized) editor without paying attention to the enco= ding, - or when you create a new file=20 - and simply copy the headers from another file. -
-Although UTF-8 is an encoding well-suited for most languages, - it is not usually the default in popular editors or systems. - In UNIX-like systems, most popular editors can handle different = encodings to=20 - write the file in disk. With some editors the encoding of the fi= le is preserved, while with others the default - is used regardless of the original encoding. In most cases the e= ncoding used to write files - can be controlled by setting the environment variable LANG - to an appropriate value, for instance: -
+but the file content is actually using ISO-8859-1 then you will receive= validation + errors, especially if you include some non-ASCII characters.
+This situation is commonly encountered when you edit the templates cre= ated by + forrest seed with your favorit= e (probably localized) editor without paying + attention to the encoding, or when you create a new file and sim= ply copy the headers from + another file.
+Although UTF-8 is an encoding well-suited for most languages, it is not= usually the + default in popular editors or systems. In UNIX-like systems, mos= t popular editors can + handle different encodings to write the file in disk. With some = editors the encoding of + the file is preserved, while with others the default is used reg= ardless of the original + encoding. In most cases the encoding used to write files can be = controlled by setting the + environment variable LANG to an = appropriate value, for instance:
[localhost]$ export LANG=3Den_US.UTF-8-
Of course the appropriate way to set the encoding depends on t= he editor/OS,=20 - but ultimately relys on the user preferences. So you can use the= encoding you prefer, as long as=20 - the encoding attribute of the xm= l declaration matches the actual encoding of the file.=20 - This means=20 - that if you are not willing to abandon ISO-8859-1 you can always= use the following declaration instead:
+Of course the appropriate way to set the encoding depends on t= he editor/OS, but + ultimately relys on the user preferences. So you can use the enc= oding you prefer, as long + as the encoding attribute of the= xml declaration matches the actual encoding + of the file. This means that if you are not willing to abandon I= SO-8859-1 you can always + use the following declaration instead:
<?xml version=3D"1.0" encoding=3D"ISO-8859-1"?><= /pre> --Another option is to use "character entities" such as - ö (ö) or the numeric= form - ö (ö). -
-Another related issue is that your webserver needs to send http - headers with the matching charset definitions to the html page. -
-Here are some references which explain further: - GT2= 004 presentation by Torsten Schlabach and=20 - Alan Wood's Unicode= resources. -
+Another option is to use "character entities" such as ö + (ö) or the numeric form ö= (ö).
+Another related issue is that your webserver needs to send http headers= with the matching + charset definitions to the html page.
+Here are some references which explain further: GT2004 presentation by Torsten + Schlabach and Alan Wood's Unicode + resources.
+ + +2.12. How can I make Forrest properly clean up the buil= d/site-directory?
++^ +++- +Forrest for performance reasons doesn't clean out the build/site-direct= ory each time you + compile your project. This usually doesn't matter during develop= ment but might become a + problem in a production environment.
+To ensure a clean build call 'forrest clean site' instead of just 'forr= est' so Forrest + will delete all build directories before creating new content. <= /p>
3. Technical
- -3.1. I'm behind a proxy and it's preventing Plugins from=20 - being downloaded, what should I do?
+ +3.1. I'm behind a proxy and it's preventing Plugins from= being downloaded, what should I + do?
-- -You can configure the proxy in the forrest.pro= perties - file. Set the proxy.host and proxy.port - accordingly (the port will default to port 80).
-3.2. How can I generate html-pages to show the - revision tag of cvs?
+You can configure the proxy in the forrest.pro= perties file. Set the + proxy.host and proxy.port accordingly (the port will default + to port 80).
+ + +3.2. How can I generate html-pages to show the revision = tag of cvs?
- -If you have:<version>$Revision: 1.30 - $</version>The '1.30' will be extracted and - displayed at the bottom of the page as "version 1.30". See for - example the bottom of the - Using Forrest document.= p> -
This technique could also be used for a modification date with - $Date: 2004/01/15 08:52:47 $
-3.3.=20 - How to control the processing of URIs by Cocoon, e.g. exclude - certain URIs, include other additional ones. -
+ $</version>The '1.30' will be extracted and + displayed at the bottom of the page as "version 1.30". See for e= xample the + bottom of the Using Forre= st document. +This technique could also be used for a modification date with $Date: 2= 004/01/15 08:52:47 + $
+ + +3.3. How to control the processing of URIs by Cocoon, e= .g. exclude certain URIs, include + other additional ones.
-- -- Forrest uses a configuration file to control the processing - done by the Apache Cocoon command-line called cli.xconf -
-- Your project can supply its own cli.xco= nf - and define patterns for URIs to exclude. There are also - other powerful configuration features. -
-- This means creating a directory src/doc= umentation/conf - (or wherever ${forrest.conf-dir}= points) and copying - $FORREST_HOME/main/webapp/WEB-INF/cli.x= conf to it. - Declare the location of this file in the forrest.properties - configuration, e.g. - project.configfile=3D${project.home}/sr= c/documentation/conf/cli.xconf +
Forrest uses a configuration file to control the processing done by th= e Apache Cocoon + command-line called cli.xconf
+Your project can supply its own cli.xconf and define patterns for URIs to + exclude. There are also other powerful configuration features. <= /p> +
This means creating a directory src/documenta= tion/conf (or wherever + ${forrest.conf-dir} points) an= d copying + $FORREST_HOME/main/webapp/WEB-INF/cli= .xconf to it. Declare the location of + this file in the forrest.properties configuration, e.g. + project.configfile=3D${project.home}/= src/documentation/conf/cli.xconf =20
-- Then edit - cli.xconf, and add any exclude sections that you require. The - default cli.xconf ignores directory links and links containing - 'apidocs' or starting with 'api/': -
+Then edit cli.xconf, and add any exclude sections that you require. Th= e default + cli.xconf ignores directory links and links containing 'apidocs'= or starting with 'api/':
.... <!-- Includes and excludes can be used to limit which URLs are rende= red --> @@ -930,60 +853,44 @@ <uri src=3D"favicon.ico"/> </cocoon>-This is just an example, and you should modify it appropriately for - your site.
+This is just an example, and you should modify it appropriately for you= r site.
Note-- Wildcards may be used. These are a powerful feature of Cocoon's - sitemap. - For example, foo/* would match - foo/bar, but not foo/bar/baz - — use foo/** to match that. -+Wildcards may be used. These are a powerful featur= e of Cocoon's sitemap. For example= , foo/* would match + foo/bar, but not foo/bar/baz — use + foo/** to match that.3.4.=20 - How do I stop Forrest breaking on links to external files that may= not - exist, like javadocs? -
+ +3.4. How do I stop Forrest breaking on links to externa= l files that may not exist, like + javadocs?
-- -- This can be done by overriding the=20 - cli.xconf= - Cocoon config file, and defining patterns for URLs to exclude. -
+This can be done by overriding the + cli.xconf + Cocoon config file, and defining patterns for URLs to exclu= de.
3.5. Some of my files are not being processed because th= ey use - common filenames. -
+ +3.5. Some of my files are not being processed because th= ey use common filenames.
-- -- Certain patterns are claimed by the default sitemaps for - special processing. These include: - site, changes, todo, faq, images, my-im= ages, skinconf, - community, howto +
Certain patterns are claimed by the default sitemaps for special proce= ssing. These + include: site, changes, todo, faq, imag= es, my-images, skinconf, community, + howto =20
-- Sometimes there are workarounds, e.g. faq.html or faq-interview.= html - would fail, but interview-faq.html would be fine. - In future versions of Forrest we will attempt to deal with this = issue - (FOR-217<= /a>). +
Sometimes there are workarounds, e.g. faq.html or faq-interview.html w= ould fail, but + interview-faq.html would be fine. In future versions of Forrest = we will attempt to deal + with this issue (FOR-217).
3.6. What do the symbols and numbers mean when Forrest l= ists each - document that it has built? -
+ +3.6. What do the symbols and numbers mean when Forrest l= ists each document that it has + built?
@@ -997,90 +904,64 @@ * [50/0] 1.222s 20.2Kb dreams.html * [0/0] 0.535s 11.1Kb dreams.pdf =2E..
- Column 1 is the page build status (*=3Dokay X=3DbrokenLink ^=3Dpa= geSkipped). - Column 2 is the number of links that were gathered from that page. - Column 3 is the time taken. - Column 4 is the page size. -
- - -Column 1 is the page build status (*=3Dokay X=3DbrokenLink ^=3DpageSki= pped). Column 2 is the + number of links that were gathered from that page. Column 3 is t= he time taken. Column 4 is + the page size.
+ + +- If you are using JDK 1.4.0 or newer, you can enable headless= - operation by running Forrest with the f= orrest.jvmarg - parameter set to -Djava.awt.headless=3D= true, like this: -
+If you are using JDK 1.4.0 or newer, you can enable headless = operation by + running Forrest with the forrest.jvmarg= parameter set to + -Djava.awt.headless=3Dtrue, li= ke this:
forrest -Dforrest.jvmargs=3D-Djava.awt.headless=3Dtrue= site-
- See also - Cocoon FAQ. -
+See also Cocoon FAQ.
- Notes are provided for various tools at - Using Catalog Entity Resolver f= or - local DTDs. -
+Notes are provided for various tools at Using Catalog Entity + Resolver for local DTDs.
- There are default skins provide= d, - which are configurable and so should meet the needs of most projec= ts. - The aim is to provide many capabilities so that extra skins are not - needed. -
-- See notes about - configuration of t= he skins. - Some projects may have special needs and can define their - own skin. -
+There are default skins provided, w= hich are configurable + and so should meet the needs of most projects. The aim is to pro= vide many capabilities so + that extra skins are not needed.
+See notes about configurat= ion of the skins. + Some projects may have special needs and can define their own skin.
First consider whether your needs would be better met by Cocoon itself,= rather than Forrest. -
-That said, there are valid reasons for wanting programmatically generat= ed content, so here is how to enable - XSP:
+First consider whether your needs would be better met by Cocoon itself,= rather than + Forrest.
+That said, there are valid reasons for wanting programmatically generat= ed content, so + here is how to enable XSP:
- Add the following generator definition in the map:generators= section - of your project sit= emap + =20 +
Add the following generator definition in the map:generators section o= f your project sitemap + =20
=20@@ -1091,7 +972,9 @@
Decide how you want to use XSP. For single files, you could just defin= e a *.xml matcher:
+ =20 +Decide how you want to use XSP. For single files, you could just define= a *.xml + matcher:
=20<map:match pattern=3D"dynamic.xml"> @@ -1100,127 +983,103 @@ <map:serialize type=3D"xml"/> </map:match>=20 -
You may instead wish to override forrest.xmap to define a general mappi= ng for XSPs.
+You may instead wish to override forrest.xmap to define a general mappi= ng for + XSPs.
=20See also the=20 - Addin= gXSPToForrest Wiki page.
+See also the AddingXSPToForrest Wiki page.
Breadcrumbs begin with up to three URLs specified in - skinconf.xml. Here is what the Forr= est site uses:
+Breadcrumbs begin with up to three URLs specified in skinconf.xml. Here is + what the Forrest site uses:
<trail> <link1 name=3D"apache" href=3D"http://www.apache.org/"/> <link2 name=3D"xml.apache" href=3D"http://xml.apache.org/"/> <link3 name=3D"" href=3D""/> </trail>-
If any links are blank, they are not used. After these first links, - JavaScript looks at the URL for the current page and - makes a link for each directory after the domain. If you are viewing - the site locally, there is no domain and so - there will be no extra breadcrumbs, only the ones that are specified - in skinconf.xml. -
+If any links are blank, they are not used. After these first links, Jav= aScript looks at + the URL for the current page and makes a link for each directory= after the domain. If you + are viewing the site locally, there is no domain and so there wi= ll be no extra + breadcrumbs, only the ones that are specified in skinconf.xml.
+ =20 forrest run -Dforrest.jvmargs=3D"-Djetty.port=3D8= 0" + =20
Or copy Forrest's main/webapp/jettyconf.xml file to your project's src/= documentation - directory and set the port number in that file. Then do forrest run - =20 + directory and set the port number in that file. Then do forrest run + =20
- Certain patterns are claimed by the default sitemaps for - special processing. These include: - site, changes, todo, faq, images, my-im= ages, skinconf, - community, howto +
Certain patterns are claimed by the default sitemaps for special proce= ssing. These + include: site, changes, todo, faq, imag= es, my-images, skinconf, community, + howto =20
-
- Sometimes there are workarounds, e.g. faq.html or faq-interview.=
html
- would fail, but interview-faq.html would be fine.
- In future versions of Forrest we will attempt to deal with this =
issue
- (FOR-217<=
/a>).
+ Sometimes there are workarounds, e.g. faq.html or faq-interview.html w=
ould fail, but
+ interview-faq.html would be fine. In future versions of Forrest =
we will attempt to deal
+ with this issue (FOR-217).
- One site.xml file in your projec=
t root can replace all the book.xml files
- (one per directory) in your site. Internally, Forrest uses
One site.xml file in your project root= can replace all the book.xml files (one per + directory) in your site. Internally, Forrest uses site.xml to dynamically generate book.xml + files. However, Forrest first checks for the existence of a book= .xml file, so + backwards-compatibility is preserved. If a directory has a book.= xml file, the book.xml + will be used to generate the menu. This supplement is useful in = situations where + site.xml-generated menus aren't = appropriate. See Menus and + Linking.
+ + +- There are two ways. Forrest has a simpli= fied-docbook plugin - which can transform the DocBook format into the - Forrest "xdocs" format on-the-fly and then render that as normal - Forrest documents. - Be aware that the stylesheet that does this transformation is - deliberately very limited and does not attempt to deal with all - DocBook elements. -
-- The other way is to use the full DocBook stylesheets directly. Th= e DocBook - DTDs are shipped with Forrest and automatically handled. However,= you - will need to have the DocBook stylesheets on your system (they are - too massive to ship with Forrest) and configure Forrest according= ly. - You will need to create a - project sitemap - as explained in - Using Forrest - and add matches to handle your DocBook documents. - Here is an example. Note that you need to change it to suit your - situation. The match must be very specific so that only the - DocBook documents are matched. The rest of the documents will be - handled by Forrest core. Powerful regex capabilities are availabl= e=2E -
+There are two ways. Forrest has a simplified-= docbook plugin which can + transform the DocBook format into the Forrest "xdocs" format on-= the-fly and then render + that as normal Forrest documents. Be aware that the stylesheet t= hat does this + transformation is deliberately very limited and does not attempt= to deal with all DocBook + elements.
+The other way is to use the full DocBook stylesheets directly. The Doc= Book DTDs are + shipped with Forrest and automatically handled. However, you wil= l need to have the DocBook + stylesheets on your system (they are too massive to ship with Fo= rrest) and configure + Forrest accordingly. You will need to create a project + sitemap as explained in Using Forrest and + add matches to handle your DocBook documents. Here is an example= . Note that you need to + change it to suit your situation. The match must be very specifi= c so that only the DocBook + documents are matched. The rest of the documents will be handled= by Forrest core. Powerful + regex capabilities are available.
<?xml version=3D"1.0"?> <map:sitemap xmlns:map=3D"http://apache.org/cocoon/sitemap/1.0"> <map:pipelines> @@ -1233,105 +1092,68 @@ </map:match> </map:pipeline> </map:pipelines> -</map:sitemap> --
- You can also use a mixture of the two methods, some handled - automatically by Forrest and some directly using DocBook styleshe= ets. - You can also have a mixture of source files as "document-v*" DTD = and DocBook. -
-- Ensure that the document type declaration in your xml instance is - well specified. Use a public identifier. The DTD will then be pro= perly - resolved by Forrest. If you need to use different DTDs, then see - Using Forrest - for configuration guidance. -
-You can also use a mixture of the two methods, some handled automatica= lly by Forrest and + some directly using DocBook stylesheets. You can also have a mix= ture of source files as + "document-v*" DTD and DocBook.
+Ensure that the document type declaration in your xml instance is well= specified. Use a + public identifier. The DTD will then be properly resolved by For= rest. If you need to use + different DTDs, then see Using Forrest for + configuration guidance.
+ + +
- Do 'forrest -projecthelp' or
- To list the properties, add "forrest.echo=3Dtrue" to your - forrest.properties file and watch the build messages. - Doing 'forrest -v' will provide = verbose build messages. -
+Do 'forrest -projecthelp' or './build.sh' to find the version + number.
+To list the properties, add "forrest.echo=3Dtrue" to your forrest.prop= erties file and + watch the build messages. Doing 'forres= t -v' will provide verbose build + messages.
- The logfiles are at build/webapp/WEB-IN= F/logs/ +
The logfiles are at build/webapp/WEB-INF/logs= / =20
-- The log level can be raised with the lo= gkit.xconf - configuration. If you are using Forrest in the interactive webapp - mode (which is generally easiest for debugging errors) then see = the - build/webapp/WEB-INF/logkit.xconf file. - If you are generating a static site (with command-line 'forrest') - then copy $FORREST_HOME/main/webapp/WEB= -INF/logkit.xconf - to your project at - src/documentation/content/conf/logkit.x= conf - and modify it. See more information and efficiency tips with - Cocoo= n logging. -
-- Doing 'forrest -v' will provide = verbose build messages - to the standard output. -
+The log level can be raised with the logkit.x= conf configuration. If you are + using Forrest in the interactive webapp mode (which is generally= easiest for debugging + errors) then see the build/webapp/WEB-I= NF/logkit.xconf file. If you are + generating a static site (with command-line 'forrest') then copy + $FORREST_HOME/main/webapp/WEB-INF/log= kit.xconf to your project at + src/documentation/content/conf/logkit= .xconf and modify it. See more + information and efficiency tips with Cocoon logging.
+Doing 'forrest -v' will provide verbos= e build messages to the standard + output.
- Join one of the Forrest project - mailing lists - and tell us what you would like to see improved. We regard all = feedback - as valuable, particularly from newcomers—often, close prox= imity - blinds software developers to faults that are obvious to everyone - else. Don't be shy! -
+Join one of the Forrest project mailing= lists and + tell us what you would like to see improved. We regard all feedb= ack as valuable, + particularly from newcomers—often, close proximity blinds = software developers to + faults that are obvious to everyone else. Don't be shy!
Please send all contributions via our - issue tracker. - Here are notes about - making patches. -
-More info about contributing can be found at the=20 - Contributing to Forrest page. - It is always a good idea to check the Forrest - issue tracker - before diving in. -
+Please send all contributions via our issue tracker. Here + are notes about making patches= .
+More info about contributing can be found at the Contributing + to Forrest page. It is always a good idea to check the For= rest issue tracker before diving in.