forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Turner <je...@apache.org>
Subject Re: [PATCH] customizable skins, greater configurability, image di r fixes, miscellanea
Date Sat, 14 Sep 2002 01:30:32 GMT
On Fri, Sep 13, 2002 at 04:54:34PM +0200, Nicola Ken Barozzi wrote:
> Jeff Turner wrote:
> >
> >Sounds odd.. what use is a skin on it's own? Perhaps the style.tigris.org
> >people have something going.
> 
> It's because some want to keep their skin in their repository, but still 
> have projects be able to reference and use it.
> Basically Avalon could keep his skin and other projects could use it too...

We could host skins online, and use a pipeline to fetch them:

<map:match pattern="skin/*/**/*.xsl">
  <map:generate
  src="http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/skins/{1}/xslt/html/{3}.xsl"/>
  <map:serialize type="text/xsl"/>
</map:match>

Then we use it with:

  <map:transform src="cocoon:/skin/@skin@/xslt/html/site2xhtml.xsl"/>

Because it's fetched with a pipeline I think it would be cached.


We could use the same idea to syndicate news and status, and even content
from multiple projects. Here's how a project could steal Forrest's
"contributing" page:

<map:match pattern="body-contrib.xml">
  <map:generate
    src="http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/documentation/content/xdocs/contrib.xml?rev=HEAD&amp;content-type=text/xml"/>
  <map:call resource="skinit">
    <map:parameter name="type" value="document2html"/>
    <map:parameter name="resource" value="{1}"/>
  </map:call>
</map:match>

> >Would be nice if we could keep Ant 1.5 compat though. 
> 
> Technically it's still Ant1.5 since you don't change the jar, just add a 
> sax2.jar in ant.home/lib...

Yes, but the countless multitude of Forrest users across the galaxy, all having
to patch their Ants to get it working with Forrest... :)

Besides, in some embedded scenarios (IDEs, Maven plugins), you don't get to
choose your Ant version.

It's relatively easy to hack around this specific problem. Just use a
stylesheet to convert <link><link>... to <link1><link2>...

But then I'd really like to use Craeg Strong's <xmlcatalog> patch, so we can
validate xdocs using an external catalog.

> >Let's say a typical
> >Forrest-using project invokes Forrest with:
> >
> ><target name="webapp" description="Build the website webapp">
> >  <ant antfile="${forrest.home}/forrest.build.xml" target="webapp"/>
> ></target>
> >
> >Seems a bit much for a doc system to force a version of Ant on users.
> >
> >But then maybe Marc is right and users will all use a 'forrest' script
> >instead. And we can always <exec> Forrest.
> 
> I have made a "callcent" script in centipede now.
> Basically you just install Centipede, and then you can execute any 
> cent-plugin with
> 
>   callcent plugin.cent
> 
> so it would be
> 
>  callcent forrsest.cent
> 
> Why?
> 
> Because we can finally make tools that can run indipendently or as 
> cents, and not require to repeat all the common stuff in each of them.

Very cool. With the new forrest.build.xml, 'callcent forrest.cent' could just
do '<ant antfile="${forrest.home}/forrest.build.xml" target="site"/>'


--Jeff

> What do you think?
> 
> -- 
> Nicola Ken Barozzi                   nicolaken@apache.org
>             - verba volant, scripta manent -
>    (discussions get forgotten, just code remains)
> ---------------------------------------------------------------------
> 

Mime
View raw message