aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorNicola Ken Barozzi <nicolaken@apache.org>2002-04-03 22:31:45 +0000
committerNicola Ken Barozzi <nicolaken@apache.org>2002-04-03 22:31:45 +0000
commit390a496ee1b5a0d8101d5413da6a34d8910e6ad9 (patch)
tree945713c3f7113006dddccc81e554a2e5e97a7270 /tools
parent58fbe4285501ee9661e7b88273adb28ce9461fc1 (diff)
downloadpoi-390a496ee1b5a0d8101d5413da6a34d8910e6ad9.tar.gz
poi-390a496ee1b5a0d8101d5413da6a34d8910e6ad9.zip
Update of Krysalis Centipede build system to version 1.0-dev
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352315 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tools')
-rw-r--r--tools/cents/forrest.cent/resources/skins/cocoon-printer/css/simple.css58
-rw-r--r--tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/book2menu.xsl62
-rw-r--r--tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/document2html.xsl277
-rw-r--r--tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/site2xhtml.xsl122
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/css/compact.css12
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/css/main.css207
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/css/ns4_toxins.css291
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/css/print.css12
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/ant_logo_medium.gifbin0 -> 807 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/built-with-cocoon.gifbin0 -> 2252 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/favicon.icobin0 -> 766 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/grn_alert.gifbin0 -> 254 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_alert.gifbin0 -> 1120 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_alertsml.gifbin0 -> 154 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_confirmsml.gifbin0 -> 154 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow.gifbin0 -> 84 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow_off.gifbin0 -> 85 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow_on.gifbin0 -> 87 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_help.gifbin0 -> 554 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_infosml.gifbin0 -> 77 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow.gifbin0 -> 86 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow_off.gifbin0 -> 86 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow_on.gifbin0 -> 86 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/krysalis-compatible.jpgbin0 -> 2093 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/nw_min.gifbin0 -> 51 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/se_min.gifbin0 -> 45 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator.gifbin0 -> 61 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator2.gifbin0 -> 49 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator3.gifbin0 -> 61 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/strich.gifbin0 -> 43 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/sw_min.gifbin0 -> 45 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/images/up_pointer.gifbin0 -> 84 bytes
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/book2menu.xsl71
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/document2html.xsl237
-rw-r--r--tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/site2xhtml.xsl110
-rw-r--r--tools/cents/jtidy.cent/lib/jtidy.jarbin0 -> 161826 bytes
36 files changed, 1459 insertions, 0 deletions
diff --git a/tools/cents/forrest.cent/resources/skins/cocoon-printer/css/simple.css b/tools/cents/forrest.cent/resources/skins/cocoon-printer/css/simple.css
new file mode 100644
index 0000000000..6a1d4a7b62
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/cocoon-printer/css/simple.css
@@ -0,0 +1,58 @@
+body {
+ background: white fixed no-repeat left top;
+ color: black;
+ font-family: sans-serif;
+ margin: 2em 1em 2em 1em;
+}
+
+h1 {
+ text-align: left;
+ color: #005a9c;
+ font: 170% sans-serif;
+}
+
+h2 {
+ text-align: left;
+ color: #005a9c;
+ font: 140% sans-serif;
+}
+
+h3 {
+ text-align: left;
+ color: #005a9c;
+ font: 120% sans-serif;
+}
+
+h4 {
+ text-align: left;
+ color: #005a9c;
+ font: bold 100% sans-serif;
+}
+
+#main-panel {}
+#side-bar {}
+#content-panel {}
+
+#s1
+#s2
+#s3
+#s4
+
+p {
+ padding: 10px 10px 10px 10px;
+ margin: 10px 20px 10px 20px;
+ text-align: justify;
+}
+
+p.note {
+ font-style: italic;
+}
+
+p.source {
+ font-family: monospace;
+}
+
+a:link { color: #005a9c }
+a:visited { color: #a00000 }
+a:active { color: #00a000 }
+a:hover { background: #ffa }
diff --git a/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/book2menu.xsl b/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/book2menu.xsl
new file mode 100644
index 0000000000..9cc7ca22f4
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/book2menu.xsl
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:param name="resource"/>
+
+ <xsl:template match="book">
+ <menu>
+ <xsl:apply-templates/>
+ </menu>
+ </xsl:template>
+
+ <xsl:template match="project">
+ </xsl:template>
+
+ <xsl:template match="menu[position()=1]">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="menu">
+ <tr>
+ <td align="left" valign="top">
+ ----------
+ <br/>
+ <b><xsl:value-of select="@label"/></b>
+ </td>
+ </tr>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+
+ <xsl:template match="menu-item">
+ <xsl:if test="not(@type) or @type!='hidden'">
+ <tr>
+ <td align="left" valign="top">
+ <xsl:choose>
+ <xsl:when test="@href=$resource">
+ <xsl:value-of select="@label"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{@href}"><xsl:value-of select="@label"/></a>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="external">
+ <xsl:if test="not(@type) or @type!='hidden'">
+ <tr>
+ <td align="left" valign="top">
+ <a href="{@href}"><xsl:value-of select="@label"/></a>
+ </td>
+ </tr>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="node()|@*" priority="-1"/>
+</xsl:stylesheet>
+
diff --git a/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/document2html.xsl b/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/document2html.xsl
new file mode 100644
index 0000000000..c1fb9f321b
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/document2html.xsl
@@ -0,0 +1,277 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<!-- ====================================================================== -->
+<!-- document section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="/">
+ <!-- checks if this is the included document to avoid neverending loop -->
+ <xsl:if test="not(book)">
+ <document>
+ <xsl:choose>
+ <xsl:when test="document/header/title">
+ <title><xsl:value-of select="document/header/title"/></title>
+ </xsl:when>
+ <xsl:otherwise>
+ <title>NO TITLE</title>
+ </xsl:otherwise>
+ </xsl:choose>
+ <body text="#000000" link="#039acc" vlink="#0086b2" alink="#cc0000"
+ topmargin="4" leftmargin="4" marginwidth="4" marginheight="4"
+ bgcolor="#ffffff">
+
+ <xsl:apply-templates/>
+
+ </body>
+ </document>
+ </xsl:if>
+
+ <xsl:if test="book">
+ <xsl:apply-templates/>
+ </xsl:if>
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- header section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="header">
+ <!-- ignore on general document -->
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- body section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="s1">
+ <h1><xsl:value-of select="@title"/></h1>
+ <font face="arial,helvetica,sanserif" color="#000000"><xsl:apply-templates/></font>
+ </xsl:template>
+
+ <xsl:template match="s2">
+ <h2><xsl:value-of select="@title"/></h2>
+ <font face="arial,helvetica,sanserif" color="#000000"><xsl:apply-templates/></font>
+ </xsl:template>
+
+ <xsl:template match="s3">
+ <h3><xsl:value-of select="@title"/></h3>
+ <font face="arial,helvetica,sanserif" color="#000000"><xsl:apply-templates/></font>
+ </xsl:template>
+
+ <xsl:template match="s4">
+ <h4><xsl:value-of select="@title"/></h4>
+ <font face="arial,helvetica,sanserif" color="#000000"><xsl:apply-templates/></font>
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- footer section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="footer">
+ <!-- ignore on general documents -->
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- paragraph section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="p">
+ <p align="justify"><xsl:apply-templates/></p>
+ </xsl:template>
+
+ <xsl:template match="note">
+ <p>
+ <table width="100%" cellspacing="3" cellpadding="0" border="0">
+ <tr>
+ <td width="28" valign="top">
+ <img src="images/note.gif" width="28" height="29" vspace="0" hspace="0" border="0" alt="Note"/>
+ </td>
+ <td valign="top">
+ <font size="-1" face="arial,helvetica,sanserif" color="#000000">
+ <i>
+ <xsl:apply-templates/>
+ </i>
+ </font>
+ </td>
+ </tr>
+ </table>
+ </p>
+ </xsl:template>
+
+ <xsl:template match="source">
+ <div align="center">
+ <table cellspacing="4" cellpadding="0" border="0">
+ <tr>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#0086b2" width="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#ffffff"><pre><xsl:apply-templates/></pre></td>
+ <td bgcolor="#0086b2" width="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ </table>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="fixme">
+ <!-- ignore on documentation -->
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- list section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="ul|ol|dl">
+ <blockquote>
+ <xsl:copy>
+ <xsl:apply-templates/>
+ </xsl:copy>
+ </blockquote>
+ </xsl:template>
+
+ <xsl:template match="li">
+ <xsl:copy>
+ <xsl:apply-templates/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="sl">
+ <ul>
+ <xsl:apply-templates/>
+ </ul>
+ </xsl:template>
+
+ <xsl:template match="dt">
+ <li>
+ <strong><xsl:value-of select="."/></strong>
+ <xsl:text> - </xsl:text>
+ <xsl:apply-templates select="dd"/>
+ </li>
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- table section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="table">
+ <table width="100%" border="0" cellspacing="2" cellpadding="2">
+ <caption><xsl:value-of select="caption"/></caption>
+ <xsl:apply-templates/>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="tr">
+ <tr><xsl:apply-templates/></tr>
+ </xsl:template>
+
+ <xsl:template match="th">
+ <td bgcolor="#039acc" colspan="{@colspan}" rowspan="{@rowspan}" valign="center" align="center">
+ <font color="#ffffff" size="-1" face="arial,helvetica,sanserif">
+ <b><xsl:apply-templates/></b>&#160;
+ </font>
+ </td>
+ </xsl:template>
+
+ <xsl:template match="td">
+ <td bgcolor="#a0ddf0" colspan="{@colspan}" rowspan="{@rowspan}" valign="top" align="left">
+ <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+ <xsl:apply-templates/>&#160;
+ </font>
+ </td>
+ </xsl:template>
+
+ <xsl:template match="tn">
+ <td bgcolor="#ffffff" colspan="{@colspan}" rowspan="{@rowspan}">
+ &#160;
+ </td>
+ </xsl:template>
+
+ <xsl:template match="caption">
+ <!-- ignore since already used -->
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- markup section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="strong">
+ <b><xsl:apply-templates/></b>
+ </xsl:template>
+
+ <xsl:template match="em">
+ <i><xsl:apply-templates/></i>
+ </xsl:template>
+
+ <xsl:template match="code">
+ <code><font face="courier, monospaced"><xsl:apply-templates/></font></code>
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- images section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="figure">
+ <p align="center">
+ <xsl:choose>
+ <xsl:when test="string(@width) and string(@height)">
+ <img src="{@src}" alt="{@alt}" width="{@width}" height="{@height}" border="0" vspace="4" hspace="4"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <img src="{@src}" alt="{@alt}" border="0" vspace="4" hspace="4"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </p>
+ </xsl:template>
+
+ <xsl:template match="img">
+ <img src="{@src}" alt="{@alt}" border="0" vspace="4" hspace="4" align="right"/>
+ </xsl:template>
+
+ <xsl:template match="icon">
+ <img src="{@src}" alt="{@alt}" border="0" align="absmiddle"/>
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- links section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="link">
+ <a href="{@href}"><xsl:apply-templates/></a>
+ </xsl:template>
+
+ <xsl:template match="connect">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="jump">
+ <a href="{@href}#{@anchor}"><xsl:apply-templates/></a>
+ </xsl:template>
+
+ <xsl:template match="fork">
+ <a href="{@href}" target="_blank"><xsl:apply-templates/></a>
+ </xsl:template>
+
+ <xsl:template match="anchor">
+ <a name="{@id}"><xsl:comment>anchor</xsl:comment></a>
+ </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- specials section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="br">
+ <br/>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/site2xhtml.xsl b/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/site2xhtml.xsl
new file mode 100644
index 0000000000..8a0f18ecfd
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/cocoon-printer/xslt/html/site2xhtml.xsl
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:param name="header"/>
+
+<xsl:template match="/">
+<html>
+ <head>
+ <title><xsl:value-of select="/site/document/title"/></title>
+ </head>
+
+ <body text="#000000" link="#039acc" vlink="#0086b2" alink="#cc0000"
+ topmargin="4" leftmargin="4" marginwidth="4" marginheight="4"
+ bgcolor="#ffffff">
+ <!-- THE TOP BAR (HEADER) -->
+ <table width="100%" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td width="135" height="60" rowspan="3" valign="top" align="left">
+ <img width="135" height="60" src="images/logo.gif" hspace="0" vspace="0" border="0"/>
+ </td>
+ <td width="100%" height="5" valign="top" align="left" colspan="2" background="images/line.gif">
+ <img width="1" height="5" src="images/line.gif" hspace="0" vspace="0" border="0" align="left"/>
+ </td>
+ <td width="29" height="60" rowspan="3" valign="top" align="left">
+ <img width="29" height="60" src="images/right.gif" hspace="0" vspace="0" border="0"/>
+ </td>
+ </tr>
+ <tr>
+ <!-- using svg
+ <td width="100%" height="35" valign="top" align="right" colspan="2" bgcolor="#0086b2">
+ <img src="{$header}?label={/site/document/title}" hspace="0" vspace="0" border="0" alt="{/site/document/title}" align="right"/>
+ </td>
+ -->
+ <td width="100%" height="35" valign="top" align="right" colspan="2" bgcolor="#0086b2">
+ <p align="right" style="color:white; font-family:arial; font-size:30px; font-style:italic">
+ <xsl:value-of select="/site/document/title"/>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td width="100%" height="20" valign="top" align="left" bgcolor="#0086b2" background="images/bottom.gif">
+ <img width="3" height="20" src="images/bottom.gif" hspace="0" vspace="0" border="0" align="left"/>
+ </td>
+ <td align="right" bgcolor="#0086b2" height="20" valign="top" width="288" background="images/bottom.gif">
+ <table border="0" cellpadding="0" cellspacing="0" width="288">
+ <tr>
+ <td width="96" height="20" valign="top" align="left">
+ <a href="http://xml.apache.org/" target="new">
+ <img alt="http://xml.apache.org/" width="96" height="20" src="images/button-xml-lo.gif"
+ name="xml" hspace="0" vspace="0" border="0"/>
+ </a>
+ </td>
+ <td width="96" height="20" valign="top" align="left">
+ <a href="http://www.apache.org/" target="new">
+ <img alt="http://www.apache.org/" width="96" height="20" src="images/button-asf-lo.gif"
+ name="asf" hspace="0" vspace="0" border="0"/>
+ </a>
+ </td>
+ <td width="96" height="20" valign="top" align="left">
+ <a href="http://www.w3.org/" target="new">
+ <img alt="http://www.w3.org/" width="96" height="20" src="images/button-w3c-lo.gif"
+ name="w3c" hspace="0" vspace="0" border="0"/>
+ </a>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr width="100%">
+ <td width="120" valign="top">
+ <table border="0" cellpadding="0" cellspacing="0" width="120">
+ <tr>
+ <td align="left" valign="top">
+ <img border="0" height="14" hspace="0" src="images/join.gif" vspace="0" width="120"/>
+ <br/>
+ </td>
+ </tr>
+ <xsl:copy-of select="/site/menu/node()|@*"/>
+<!--
+ <tr>
+ <td valign="top" align="left">
+ <img border="0" height="14" hspace="0" src="images/close.gif" vspace="0" width="120"/>
+ <br/>
+ </td>
+ </tr>
+-->
+ </table>
+ </td>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr><td width="100%" height="10"/></tr>
+ <tr><td><xsl:copy-of select="/site/document/body/node()|@*"/></td></tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr>
+ <td bgcolor="#0086b2">
+ <img height="1" src="images/dot.gif" width="1"/>
+ </td>
+ </tr>
+ <tr>
+ <td align="center">
+ <font color="#0086b2" face="arial,helvetica,sanserif" size="-1">
+ <i>Copyright &#169; @year@ The Apache Software Foundation. All Rights Reserved.</i>
+ </font>
+ </td>
+ </tr>
+</table>
+</body>
+
+
+</html>
+</xsl:template>
+</xsl:stylesheet>
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/css/compact.css b/tools/cents/forrest.cent/resources/skins/scarab-site/css/compact.css
new file mode 100644
index 0000000000..5fb9e17c6f
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/css/compact.css
@@ -0,0 +1,12 @@
+#banner {
+ DISPLAY: none
+}
+#crumbbar {
+ DISPLAY: none
+}
+#leftcol {
+ DISPLAY: none
+}
+#footer {
+ DISPLAY: none
+}
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/css/main.css b/tools/cents/forrest.cent/resources/skins/scarab-site/css/main.css
new file mode 100644
index 0000000000..c6927bae00
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/css/main.css
@@ -0,0 +1,207 @@
+BODY {
+ PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: white; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: black; PADDING-TOP: 0px
+}
+BODY {
+ FONT-FAMILY: Lucida, Arial, Helvetica, sans-serif
+}
+DIV {
+ FONT-FAMILY: Lucida, Arial, Helvetica, sans-serif
+}
+P {
+ FONT-FAMILY: Lucida, Arial, Helvetica, sans-serif
+}
+TH {
+ FONT-FAMILY: Lucida, Arial, Helvetica, sans-serif
+}
+TD {
+ FONT-FAMILY: Lucida, Arial, Helvetica, sans-serif
+}
+LI {
+ FONT-FAMILY: Lucida, Arial, Helvetica, sans-serif
+}
+DL {
+ FONT-FAMILY: Lucida, Arial, Helvetica, sans-serif
+}
+DD {
+ FONT-FAMILY: Lucida, Arial, Helvetica, sans-serif
+}
+CODE {
+ FONT-FAMILY: 'Andale Mono', Courier, monospace
+}
+PRE {
+ FONT-FAMILY: 'Andale Mono', Courier, monospace
+}
+H2 {
+ FONT-FAMILY: Tahoma, Verdana, Helvetica, Arial, sans-serif
+}
+H3 {
+ FONT-FAMILY: Tahoma, Verdana, Helvetica, Arial, sans-serif
+}
+H4 {
+ FONT-FAMILY: Tahoma, Verdana, Helvetica, Arial, sans-serif
+}
+H2 {
+ FONT-SIZE: 1.5em
+}
+TH {
+ VERTICAL-ALIGN: top; TEXT-ALIGN: left
+}
+TD {
+ VERTICAL-ALIGN: top; TEXT-ALIGN: left
+}
+.right {
+ TEXT-ALIGN: right
+}
+.center {
+ TEXT-ALIGN: center
+}
+#globalnav {
+ FONT-WEIGHT: bold
+}
+#leftcol A:link {
+ COLOR: blue
+}
+#leftcol A:visited {
+ COLOR: blue
+}
+A:active {
+ COLOR: #f60! important
+}
+A:hover {
+ COLOR: #f60! important
+}
+#leftcol A:active {
+ COLOR: #f60! important
+}
+#leftcol A:hover {
+ COLOR: #f60! important
+}
+#login A:link {
+ COLOR: white; TEXT-DECORATION: underline
+}
+#login A:visited {
+ COLOR: white; TEXT-DECORATION: underline
+}
+#login A:active {
+ COLOR: #f60! important
+}
+#login A:hover {
+ COLOR: #f60! important
+}
+#helptext A {
+ TEXT-DECORATION: none
+}
+.app TH {
+ BACKGROUND-COLOR: #ccc
+}
+.a TD {
+ BACKGROUND: #efefef
+}
+.b TD {
+ BACKGROUND: #fff
+}
+.directory .a TD {
+ BACKGROUND: #ffff99
+}
+.directory .b TD {
+ BACKGROUND: #ffffcc
+}
+.datatablechild TH {
+ BACKGROUND: #efefef; COLOR: #000
+}
+.datatablechild TR.a TD {
+ BACKGROUND: #cf9
+}
+.axial TH {
+ COLOR: black; BACKGROUND-COLOR: #efefef; TEXT-ALIGN: right
+}
+.alert {
+ COLOR: red
+}
+.confirm {
+ COLOR: green
+}
+.info {
+ COLOR: blue
+}
+.selection {
+ FONT-WEIGHT: bold; BACKGROUND: #ffc
+}
+.stb {
+ MARGIN-TOP: 1em
+}
+.mtb {
+ MARGIN-TOP: 2em
+}
+DD {
+ MARGIN-BOTTOM: 0.67em
+}
+#footer {
+ MARGIN: 8px
+}
+.username {
+ WHITE-SPACE: nowrap
+}
+#login {
+ COLOR: white
+}
+#login .username {
+ FONT-WEIGHT: bold
+}
+#helptext {
+ MARGIN-TOP: 2em
+}
+#helptext TD DIV {
+ MARGIN: 0.5em
+}
+#helptext TH {
+ BACKGROUND: #cc9
+}
+#helptext TD {
+ BACKGROUND: #ffc
+}
+.docs H2 {
+ COLOR: #666
+}
+.docs H3 {
+ COLOR: #333
+}
+.docs H4 {
+ COLOR: #000
+}
+.tabs A {
+ TEXT-DECORATION: none
+}
+.courtesylinks {
+ MARGIN-TOP: 1em; PADDING-TOP: 1em
+}
+#navcolumn DIV {
+ MARGIN-BOTTOM: 0.67em
+}
+#navcolumn DIV DIV {
+ PADDING-LEFT: 1em; MARGIN-BOTTOM: 0px
+}
+#banner {
+ BACKGROUND: #036; VERTICAL-ALIGN: middle; COLOR: white
+}
+#banner TD {
+ BACKGROUND: #036; VERTICAL-ALIGN: middle; COLOR: white
+}
+BODY #banner #login A {
+ COLOR: white
+}
+.tabs TH {
+ PADDING-RIGHT: 7px; PADDING-LEFT: 7px; COLOR: white; BACKGROUND-COLOR: #999
+}
+.tabs TD {
+ PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND-COLOR: #ccc
+}
+#topmodule TD {
+ PADDING-LEFT: 12px; BACKGROUND: #efefef; VERTICAL-ALIGN: middle
+}
+.datatablechild TH {
+ FONT-WEIGHT: bold; BACKGROUND: #c3c3c3; COLOR: #000
+}
+#navsearch FORM {
+ DISPLAY: inline
+}
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/css/ns4_toxins.css b/tools/cents/forrest.cent/resources/skins/scarab-site/css/ns4_toxins.css
new file mode 100644
index 0000000000..9db0e143fb
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/css/ns4_toxins.css
@@ -0,0 +1,291 @@
+HTML BODY {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+BODY DIV {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+BODY P {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+BODY TH {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+BODY TD {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+BODY LI {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+BODY DL {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+BODY DD {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+INPUT {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+SELECT {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+TEXTAREA {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+.app H3 {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+.app H4 {
+ FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif
+}
+HTML BODY {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+BODY TH {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+BODY TD {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+TEXTAREA {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+.app H3 {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+.app H4 {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+#rightcol H3 {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+.app PRE {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+.app CODE {
+ FONT-SIZE: 12px; voice-family: inherit
+}
+UNKNOWN {
+ FONT-SIZE: 12px
+}
+small {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+DIV#footer TD {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+DIV#login {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+DIV#helptext TH {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+DIV#helptext TD {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+DIV.tabs TH {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+DIV.tabs TD {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+INPUT {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+SELECT {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+.paginate {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+.functnbar {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+.functnbar2 {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+.functnbar3 {
+ FONT-SIZE: 10px! important; voice-family: inherit
+}
+UNKNOWN {
+ FONT-SIZE: 10px! important
+}
+P {
+ MARGIN-TOP: 0.67em; MARGIN-BOTTOM: 0.67em
+}
+UL {
+ MARGIN-TOP: 0.67em; MARGIN-BOTTOM: 0.67em
+}
+OL {
+ MARGIN-TOP: 0.67em; MARGIN-BOTTOM: 0.67em
+}
+DL {
+ MARGIN-TOP: 0.67em; MARGIN-BOTTOM: 0.67em
+}
+#bodycol {
+ LINE-HEIGHT: 1.4
+}
+TABLE {
+ BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
+}
+TH {
+ BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
+}
+TD {
+ BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
+}
+#leftcol DIV DIV {
+ MARGIN-TOP: 0.4em
+}
+.app H3 {
+ BACKGROUND: url(../images/nw_min.gif) #036 no-repeat
+}
+.app H3 {
+ PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN-LEFT: 2px; COLOR: #fff; MARGIN-RIGHT: 2px; PADDING-TOP: 5px
+}
+.app H4 {
+ PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN-LEFT: 2px; COLOR: #fff; MARGIN-RIGHT: 2px; PADDING-TOP: 5px
+}
+.functnbar {
+ PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN-LEFT: 2px; COLOR: #fff; MARGIN-RIGHT: 2px; PADDING-TOP: 5px
+}
+.app H3 A {
+ COLOR: white; TEXT-DECORATION: none
+}
+.app H4 {
+ BACKGROUND: url(../images/nw_min.gif) #ccc no-repeat; COLOR: #000
+}
+#apphead H2 {
+ MARGIN-TOP: 0px; MARGIN-BOTTOM: 0.2em
+}
+FORM {
+ MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
+}
+DT {
+ FONT-WEIGHT: bold
+}
+H3 {
+ MARGIN-BOTTOM: 0px
+}
+H4 {
+ MARGIN-BOTTOM: 0px
+}
+.mtb {
+ BORDER-TOP: #ccc 1px solid
+}
+.colbar {
+ BACKGROUND: #ccc
+}
+.colbar {
+ PADDING-RIGHT: 5px; MARGIN-TOP: 2px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN-LEFT: 2px; MARGIN-RIGHT: 2px; PADDING-TOP: 5px
+}
+.courtesylinks {
+ MARGIN: 1.5em 0px
+}
+.docs .toc {
+ BORDER-RIGHT: #666 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: #666 1px solid; PADDING-LEFT: 0.5em; BACKGROUND: #efefef; PADDING-BOTTOM: 0.5em; BORDER-LEFT: #666 1px solid; PADDING-TOP: 0.5em; BORDER-BOTTOM: #666 1px solid
+}
+.docs .toc H3 {
+ MARGIN-TOP: 0px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
+}
+UNKNOWN {
+ MARGIN-TOP: -0.67em; TEXT-INDENT: 5%
+}
+.docs .courtesylinks P {
+ TEXT-INDENT: 0px
+}
+.docs UL {
+ PADDING-LEFT: 5%; MARGIN-LEFT: 0px
+}
+.docs OL {
+ PADDING-LEFT: 5%; MARGIN-LEFT: 0px
+}
+.docs DD {
+ PADDING-LEFT: 5%; MARGIN-LEFT: 0px
+}
+.docs H3 {
+ MARGIN-BOTTOM: 0.1em
+}
+.docs H4 {
+ MARGIN-BOTTOM: 0.1em
+}
+.docs H3 {
+ BORDER-TOP: #666 1px solid
+}
+.docs H4 {
+ BORDER-TOP: #ccc 1px solid
+}
+#banner {
+ BORDER-TOP: #369 1px solid; BORDER-BOTTOM: #003 1px solid
+}
+#helptext TH {
+ BORDER-RIGHT: #996 1px solid; BORDER-BOTTOM: #996 1px solid
+}
+#helptext TD {
+ BORDER-RIGHT: #cc9 1px solid; BORDER-BOTTOM: #cc9 1px solid
+}
+UL.tasks {
+ PADDING-LEFT: 0px; MARGIN-LEFT: 2px
+}
+UL.tasks LI {
+ DISPLAY: inline; MARGIN-RIGHT: 1.5em
+}
+.tabs {
+ MARGIN-TOP: 0.67em; MARGIN-LEFT: 2px; MARGIN-RIGHT: 2px; BORDER-BOTTOM: #999 1em solid
+}
+.tabs TH {
+ BORDER-RIGHT: #666 1px solid; BACKGROUND: url(../images/nw_min.gif) no-repeat left top
+}
+.tabs TD {
+ BORDER-RIGHT: #666 1px solid; BACKGROUND: url(../images/nw_min.gif) no-repeat left top; BORDER-BOTTOM: #ccc 1px solid
+}
+#navcolumn DIV DIV {
+ BACKGROUND-POSITION: 0.5em 0.5em; BACKGROUND-IMAGE: url(../images/strich.gif); BACKGROUND-REPEAT: no-repeat
+}
+#navcolumn DIV DIV DIV {
+ BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0.1em; BACKGROUND-COLOR: white
+}
+#navcolumn DIV.selected {
+ BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0.1em; BACKGROUND-COLOR: white
+}
+.modbar {
+ BACKGROUND: #ccc
+}
+.modbar {
+ PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #999 1px solid
+}
+.collapsebar {
+ MARGIN-BOTTOM: 0.67em
+}
+.functnbar {
+ BACKGROUND: url(../images/nw_min.gif) #999 no-repeat left top
+}
+.functnbar2 {
+ BACKGROUND: url(../images/sw_min.gif) #999 no-repeat left bottom
+}
+.functnbar3 {
+ BACKGROUND: url(../images/sw_min.gif) #ccc no-repeat left bottom
+}
+.functnbar {
+ PADDING-RIGHT: 5px; PADDING-LEFT: 5px; MARGIN-BOTTOM: 0.67em; PADDING-BOTTOM: 5px; MARGIN-LEFT: 2px; MARGIN-RIGHT: 2px; PADDING-TOP: 5px
+}
+.functnbar2 {
+ PADDING-RIGHT: 5px; PADDING-LEFT: 5px; MARGIN-BOTTOM: 0.67em; PADDING-BOTTOM: 5px; MARGIN-LEFT: 2px; MARGIN-RIGHT: 2px; PADDING-TOP: 5px
+}
+.functnbar3 {
+ PADDING-RIGHT: 5px; PADDING-LEFT: 5px; MARGIN-BOTTOM: 0.67em; PADDING-BOTTOM: 5px; MARGIN-LEFT: 2px; MARGIN-RIGHT: 2px; PADDING-TOP: 5px
+}
+.functnbar {
+ COLOR: #000
+}
+.functnbar2 {
+ COLOR: #000
+}
+.functnbar A {
+ COLOR: #000; TEXT-DECORATION: underline
+}
+.functnbar2 A {
+ COLOR: #000; TEXT-DECORATION: underline
+}
+#topmodule {
+ BORDER-RIGHT: #999 1px solid; BORDER-TOP: white 1px solid; MARGIN-TOP: -8px; BORDER-BOTTOM: #999 1px solid
+}
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/css/print.css b/tools/cents/forrest.cent/resources/skins/scarab-site/css/print.css
new file mode 100644
index 0000000000..5fb9e17c6f
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/css/print.css
@@ -0,0 +1,12 @@
+#banner {
+ DISPLAY: none
+}
+#crumbbar {
+ DISPLAY: none
+}
+#leftcol {
+ DISPLAY: none
+}
+#footer {
+ DISPLAY: none
+}
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/ant_logo_medium.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/ant_logo_medium.gif
new file mode 100644
index 0000000000..44bc07fa2e
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/ant_logo_medium.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/built-with-cocoon.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/built-with-cocoon.gif
new file mode 100644
index 0000000000..0b38f7857b
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/built-with-cocoon.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/favicon.ico b/tools/cents/forrest.cent/resources/skins/scarab-site/images/favicon.ico
new file mode 100644
index 0000000000..161bcf7841
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/favicon.ico
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/grn_alert.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/grn_alert.gif
new file mode 100644
index 0000000000..5902c2db13
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/grn_alert.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_alert.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_alert.gif
new file mode 100644
index 0000000000..4968bca45d
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_alert.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_alertsml.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_alertsml.gif
new file mode 100644
index 0000000000..641308d18f
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_alertsml.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_confirmsml.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_confirmsml.gif
new file mode 100644
index 0000000000..074046828c
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_confirmsml.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow.gif
new file mode 100644
index 0000000000..dee6ec06b7
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow_off.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow_off.gif
new file mode 100644
index 0000000000..5c2a45aa1f
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow_off.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow_on.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow_on.gif
new file mode 100644
index 0000000000..7dbfcc947f
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_downarrow_on.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_help.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_help.gif
new file mode 100644
index 0000000000..182b823c32
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_help.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_infosml.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_infosml.gif
new file mode 100644
index 0000000000..1aa2d30acb
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_infosml.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow.gif
new file mode 100644
index 0000000000..1e017365cd
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow_off.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow_off.gif
new file mode 100644
index 0000000000..1e017365cd
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow_off.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow_on.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow_on.gif
new file mode 100644
index 0000000000..fd38e863ef
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/icon_uparrow_on.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/krysalis-compatible.jpg b/tools/cents/forrest.cent/resources/skins/scarab-site/images/krysalis-compatible.jpg
new file mode 100644
index 0000000000..077f8a1179
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/krysalis-compatible.jpg
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/nw_min.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/nw_min.gif
new file mode 100644
index 0000000000..bf4bc759c4
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/nw_min.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/se_min.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/se_min.gif
new file mode 100644
index 0000000000..ff70470655
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/se_min.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator.gif
new file mode 100644
index 0000000000..8ec8e55a8e
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator2.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator2.gif
new file mode 100644
index 0000000000..467eccec06
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator2.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator3.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator3.gif
new file mode 100644
index 0000000000..6bc069a8ca
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/seperator3.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/strich.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/strich.gif
new file mode 100644
index 0000000000..a33e79d96b
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/strich.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/sw_min.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/sw_min.gif
new file mode 100644
index 0000000000..d96369d4e0
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/sw_min.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/images/up_pointer.gif b/tools/cents/forrest.cent/resources/skins/scarab-site/images/up_pointer.gif
new file mode 100644
index 0000000000..d9179de795
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/images/up_pointer.gif
Binary files differ
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/book2menu.xsl b/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/book2menu.xsl
new file mode 100644
index 0000000000..7713eb24d2
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/book2menu.xsl
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:NetUtils="org.apache.cocoon.util.NetUtils"
+ version="1.0">
+
+ <xsl:param name="resource"/>
+
+ <xsl:template match="book">
+ <menu>
+ <div id="navcolumn">
+ <xsl:apply-templates/>
+ </div>
+ <div id="helptext">
+ <table border="0" cellspacing="0" cellpadding="3" width="100%">
+ <tr>
+ <th>How do I...?</th>
+ </tr>
+ <tr>
+ <td>
+ <div>Learn more about this project? </div>
+ <div>Print this page...</div>
+ <div>Troubleshoot...</div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </menu>
+ </xsl:template>
+
+ <xsl:template match="project">
+ </xsl:template>
+
+ <xsl:template match="menu[position()=1]">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="menu">
+ <!-- Encode label to escape any reserved characters such as space -->
+ <xsl:variable name="encLabel" select="NetUtils:encodePath(@label)"/>
+ <div>
+ <small><strong><xsl:value-of select="@label"/></strong></small>
+ <xsl:apply-templates/>
+ </div>
+ </xsl:template>
+
+
+ <xsl:template match="menu-item">
+ <xsl:if test="not(@type) or @type!='hidden'">
+ <xsl:variable name="encLabel" select="NetUtils:encodePath(@label)"/>
+ <xsl:choose>
+ <xsl:when test="@href=$resource"><!-- selected -->
+ <div><small><xsl:value-of select="@label"/></small></div>
+ </xsl:when>
+ <xsl:otherwise>
+ <div><small><a href="{@href}"><xsl:value-of select="@label"/></a></small></div>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="external">
+ <xsl:if test="not(@type) or @type!='hidden'">
+ <xsl:variable name="encLabel" select="NetUtils:encodePath(@label)"/>
+ <div><small><a href="{@href}" target="new" ><xsl:value-of select="@label"/></a></small></div>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="node()|@*" priority="-1"/>
+</xsl:stylesheet>
+
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/document2html.xsl b/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/document2html.xsl
new file mode 100644
index 0000000000..7a81647c83
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/document2html.xsl
@@ -0,0 +1,237 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:template match="document">
+ <body>
+ <xsl:if test="normalize-space(header/title)!=''">
+
+ <h2><xsl:value-of select="header/title"/></h2>
+
+ </xsl:if>
+
+ <xsl:if test="header/subtitle">
+ <font color="#525D76"><i><xsl:value-of select="header/subtitle"/></i></font><br/>
+ </xsl:if>
+
+ <font color="#000000" size="-2">
+ <p>
+ <xsl:for-each select="header/person">
+ <xsl:choose>
+ <xsl:when test="position()=1">by</xsl:when>
+ <xsl:otherwise>, </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ <a href="mailto:{@email}">
+ <xsl:value-of select="@name"/>
+ </a>
+ </p>
+ </font>
+
+ <xsl:apply-templates select="body"/>
+
+ </body>
+ </xsl:template>
+
+ <xsl:template match="changes"/>
+
+ <xsl:template match="action"/>
+
+ <xsl:template match="body">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+
+ <xsl:template name="section" match="section">
+ <xsl:param name="level"/>
+
+ <div align="right">
+ <table border="0" cellpadding="2" cellspacing="0">
+ <xsl:attribute name="width"><xsl:value-of select="number(100)-(1*(number($level)-1))"/>%</xsl:attribute>
+ <tr>
+ <td bgcolor="#003063">
+ <font color="#ffffff">
+ <xsl:attribute name="size">
+ <xsl:choose>
+ <xsl:when test="number($level)=1">+1</xsl:when>
+ <xsl:when test="number($level)=2">+0</xsl:when>
+ <xsl:otherwise>-<xsl:value-of select="number($level)-2"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ <font face="Arial,sans-serif"><b><xsl:value-of select="@title"/></b></font>
+ </font>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <br/>
+ <xsl:apply-templates>
+ <xsl:with-param name="level" select="number($level)+1"/>
+ </xsl:apply-templates>
+ </td>
+ </tr>
+ </table>
+ </div><br/>
+
+ </xsl:template>
+
+ <xsl:template match="s1">
+ <xsl:call-template name="section">
+ <xsl:with-param name="level">1</xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="s2">
+ <xsl:call-template name="section">
+ <xsl:with-param name="level">2</xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="s3">
+ <h4><xsl:value-of select="@title"/></h4>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="s4">
+ <h5><xsl:value-of select="@title"/></h5>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="br">
+ <br/>
+ </xsl:template>
+
+ <xsl:template match="strong">
+ <strong><xsl:apply-templates/></strong>
+ </xsl:template>
+
+ <xsl:template match="em">
+ <em><xsl:apply-templates/></em>
+ </xsl:template>
+
+ <xsl:template match="ul">
+ <ul><xsl:apply-templates/></ul>
+ </xsl:template>
+
+ <xsl:template match="li">
+ <li><xsl:apply-templates/></li>
+ </xsl:template>
+
+ <xsl:template match="ol">
+ <ol><xsl:apply-templates/></ol>
+ </xsl:template>
+
+ <xsl:template match="link">
+ <a href="{@href}"><xsl:apply-templates/></a>
+ </xsl:template>
+
+ <xsl:template match="figure">
+ <xsl:choose>
+ <xsl:when test="@src">
+ <div align="center">
+ <table border="0" cellpadding="2" cellspacing="2">
+ <tr>
+ <td bgcolor="#525D76"><font color="#ffffff" size="0"><xsl:value-of select="@alt"/></font></td>
+ </tr>
+ <tr>
+ <td><img border="0" alt="{@alt}" src="{@src}"/></td>
+ </tr>
+ <xsl:if test="@alt">
+ <tr>
+ <td><font size="-1"><ul><li><xsl:value-of select="@alt"/></li></ul></font></td>
+ </tr>
+ </xsl:if>
+
+ </table>
+ </div>
+
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="fixme">
+ <div align="center">
+ <table border="1" cellpadding="2" cellspacing="2">
+ <xsl:if test="title">
+ <tr>
+ <td bgcolor="#800000">
+ <font color="#ffffff"><xsl:value-of select="title"/></font>
+ </td>
+ </tr>
+ </xsl:if>
+ <tr>
+ <td bgcolor="#c0c0c0">
+ <font color="#023264" size="-1"><xsl:apply-templates/></font>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="note">
+ <note><xsl:apply-templates/></note>
+ </xsl:template>
+
+ <xsl:template match="warn">
+ <div align="center">
+ <table border="1" cellpadding="2" cellspacing="2">
+ <xsl:if test="title">
+ <tr>
+ <td bgcolor="#800000">
+ <font color="#ffffff"><xsl:value-of select="title"/></font>
+ </td>
+ </tr>
+ </xsl:if>
+ <tr>
+ <td bgcolor="#c0c0c0">
+ <font color="#023264" size="-1"><xsl:apply-templates/></font>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="code">
+ <code><xsl:apply-templates/><xsl:if test="name(.)='function'"><xsl:text>()</xsl:text></xsl:if></code>
+ </xsl:template>
+
+ <xsl:template match="source">
+ <div align="center">
+ <table border="1" cellpadding="2" cellspacing="2">
+ <tr>
+ <td>
+ <pre>
+ <xsl:apply-templates/>
+ </pre>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="table">
+ <table border="0" cellpadding="2" cellspacing="2" width="100%">
+ <xsl:apply-templates/>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="th">
+ <th><xsl:apply-templates/></th>
+ </xsl:template>
+
+ <xsl:template match="tr">
+ <tr><xsl:apply-templates/></tr>
+ </xsl:template>
+
+ <xsl:template match="td">
+ <td><xsl:apply-templates/></td>
+ </xsl:template>
+
+ <xsl:template match="node()|@*" priority="-1">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*"/>
+ </xsl:copy>
+ </xsl:template>
+</xsl:stylesheet>
+
diff --git a/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/site2xhtml.xsl b/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/site2xhtml.xsl
new file mode 100644
index 0000000000..315e217264
--- /dev/null
+++ b/tools/cents/forrest.cent/resources/skins/scarab-site/xslt/html/site2xhtml.xsl
@@ -0,0 +1,110 @@
+<?xml version="1.0"?>
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:NetUtils="org.apache.cocoon.util.NetUtils"
+ version="1.0">
+
+<xsl:template match="/">
+<html>
+ <head>
+
+ <title><xsl:value-of select="/site/document/title"/></title>
+
+ <link rel="stylesheet" type="text/css" href="ns4_toxins.css" />
+ <link rel="stylesheet" type="text/css" href="main.css" />
+ <link rel="stylesheet" type="text/css" href="print.css" media="print" />
+ <link rel="alternate stylesheet" title="compact" type="text/css" href="compact.css" />
+
+ </head>
+
+
+ <body marginwidth="0" marginheight="0">
+
+ <div id="banner">
+ <table border="0" cellspacing="0" cellpadding="8" width="100%">
+ <tr>
+ <td>
+ <a href="http://www.apache.org/"><img src="common/images/group-logo.gif" border="0" vspace="0" hspace="0"/></a>
+ </td>
+
+ <td>
+ <div align="right"><a href="http://www.apache.org/"><img src="common/images/project-logo.gif" border="0" vspace="0" hspace="0"/></a></div>
+
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div class="modbar">
+ <small><strong>
+ <a href="http://www.apache.org/">www.apache.org</a>&#160;&gt;&#160;
+ <a href="http://www.apache.org/">jakarta.apache.org</a>&#160;&gt;&#160;
+ <a href="#"><xsl:value-of select="/site/document/title"/></a>
+ </strong></small>
+ </div>
+
+
+
+<table border="0" cellspacing="0" cellpadding="8" width="98%" id="main">
+ <tr valign="top">
+
+
+
+ <td id="leftcol" width="20%">
+ <xsl:copy-of select="/site/menu/node()|@*"/>
+ </td>
+
+<td width="100%" id="bodycol">
+
+<div id="topmodule">
+
+ <table border="0" cellspacing="0" cellpadding="3" width="100%">
+ <tr>
+ <td nowrap="nowrap">
+
+ <form onsubmit="q.value = query.value + ' site:jakarta.apache.org'" action="http://www.google.com/search" method="get">
+ <input name="q" type="hidden"/>
+ <input type="text" id="query" name="id" size="35" maxlength="255" />&#160;&#160;
+ <input name="Search" value="Search" type="button"/>&#160;
+ <img src="images/seperator2.gif" width="2" height="15" alt="" border="0" />&#160;
+ <input value="web" name="web" type="radio"/>web site&#160;<input value="mail" name="mail" type="radio"/>mail lists
+ </form>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+
+ <xsl:copy-of select="/site/body/node()|@*"/>
+</td>
+</tr>
+</table>
+
+
+<div id="footer">
+ <table border="0" cellspacing="0" cellpadding="4">
+ <tr><td>
+ <a href="http://www.apache.org/">Copyright &#169; 1999-2002 The Apache Software Foundation. All Rights Reserved.</a>
+ </td></tr>
+ <tr>
+ <td width="100%" align="right">
+ <br/>
+ </td>
+ </tr>
+ <tr>
+ <td width="100%" align="right">
+ <a href="http://krysalis.org/"><img src="images/krysalis-compatible.jpg" alt="Krysalis Logo"/></a>
+ <a href="http://xml.apache.org/cocoon/"><img src="images/built-with-cocoon.gif" alt="Cocoon Logo"/></a>
+ <a href="http://jakarta.apache.org/ant/"><img src="images/ant_logo_medium.gif" alt="Ant Logo"/></a>
+ </td>
+ </tr>
+ </table>
+</div>
+
+ </body>
+</html>
+
+</xsl:template>
+</xsl:stylesheet>
+
diff --git a/tools/cents/jtidy.cent/lib/jtidy.jar b/tools/cents/jtidy.cent/lib/jtidy.jar
new file mode 100644
index 0000000000..a11dfe58ac
--- /dev/null
+++ b/tools/cents/jtidy.cent/lib/jtidy.jar
Binary files differ