> -----Original Message-----
> From: Mathieu Champlon [mailto:[email protected]]
> Sent: Sunday, 15 February 2009 12:46 AM
> To: [email protected]
> Subject: Embedding existing HTML pages from a location outside
> src/documentation/content/xdocs
>
> Hello,
>
> I'm trying to embed existing HTML pages into a site generated by Forrest.
> Starting from a "forrest seed" everything works fine out of the box if
> the pages are in a sub-directory of src/documentation/content/xdocs like
> samples-b/embedded_html.html is.
> However I would like to move them somewhere else, for instance let's say
> in src/documentation/content/embedded/embedded_html.html, changing
> site.xml like this :
>
> @@ -43,6 +43,8 @@
> <about label="About">
> <index label="Index" href="index.html" description="Welcome to
> MyProj"/>
> <linkmap label="Documentation ToC" href="linkmap.html"
> description="Table of Contents for this example site"/>
> + <sample-html label="Embedded HTML" href="embedded/embedded_html.html"
> + description="Test of Embedded HTML"/>
> </about>
> <samples tab="samples">
> <overview label="Overview" href="samples-a/index.html"/>
> @@ -60,8 +62,6 @@
> <linking label="Linking" href="linking.html" description="Linking
> explained and demonstrated"/>
> <sample-howto label="How To" href="howto-howto.html"
> description="Test of How To documents"/>
> - <sample-html label="Embedded HTML" href="embedded_html.html"
> - description="Test of Embedded HTML"/>
> <sample-ascii-art label="ascii-art page" href="ascii-art.html"
> description="Sample Ascii Art page"/>
> <svg label="Using SVG" href="svg.html" description="Using
> Scalable Vector Graphics (SVG)"/>
>
>
> I cannot seem to come up with the proper modifications to sitemap.xmap
> and/or locationmap.xml to make it work.
>
> I thought adding something like this to locationmap.xml would be enough :
> <match pattern="embedded/**">
> <location src="{properties:content}/{0}"/>
> </match>
> But the file is still being looked for in .../xdocs/... :
> X [0] embedded/embedded_html.html
> BROKEN:
> c:\Users\Mat\Desktop\dev\perso\cpp\forrest_seed\src\documentation\content\
> xdocs\embedded\embedded_html.xml
> (The system cannot find the path specified)
This is a very quick suggestion very late at night for me, but
{properties:content}/{0} would resolve to
/src/documentation/content/embedded_html.html as you've stripped out the
embedded directory included in the match.
Try <location src="{properties:content}/embedded/{0}"/>
It will still look for it in xdocs as fallback of it does not find it in the
match specified.
If that's wrong either myself or someone else can look at a better time of
day :)
Gav...
>
> Is there a solution involving only altering the locationmap ?
>
> I also tried the "old_site" path, that is not touching locationmap.xml
> but adding the following to the sitemap.xmap existing pipeline :
> <map:pipelines>
> <map:pipeline>
> <map:match pattern="embedded/**.html">
> <map:read src="{properties:content}{0}" mime-type="text/html"/>
> </map:match>
> ...
> This somewhat succeeds, as in "build successful", but the page is not
> really embedded as it misses the skinning.
> Then I tried this instead :
> <map:pipelines>
> <map:pipeline>
> <map:match pattern="embedded/**.html">
> <map:generate type="html" src="{properties:content}{0}"/>
> <map:transform
> src="{forrest:forrest.stylesheets}/html-to-document.xsl"/>
> <map:serialize type="xml"/>
> </map:match>
> ...
> And got the following error :
> X [0] embedded/embedded_html.html
> BROKEN:
> C:\Users\Mat\Desktop\dev\tools\forrest\main\webapp\.\c:\Users\Mat\Desktop\
> dev\perso\cpp\forrest_seed\src\WEB-INF\jtidy.properties
> (The filename, directory name, or volume label syntax is incorrect)
>
> I read https://issues.apache.org/jira/browse/FOR-679 and did what is
> suggested but the same error remains.
> I tried copying the jtidy.properties file to src/WEB-INF and still got
> the same error.
>
> Did I miss something obvious ?
> Am I completely misunderstanding how Forrest/Cocoon work ?
>
> Thanks !
> MAT.