<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="Apache Forrest" name="Generator">
<meta name="Forrest-version" content="0.8-dev">
<meta name="Forrest-skin-name" content="pelt">
<title>Default skins (v0.6)</title>
<link type="text/css" href="../skin/basic.css" rel="stylesheet">
<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
<link type="text/css" href="../skin/profile.css" rel="stylesheet">
<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
<link rel="shortcut icon" href="../favicon.ico">
</head>
<body onload="init()">
<script type="text/javascript">ndeSetTextSize();</script>
<div id="top">
<!--+
    |breadtrail
    +-->
<div class="breadtrail">
<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
</div>
<!--+
    |header
    +-->
<div class="header">
<!--+
    |start group logo
    +-->
<div class="grouplogo">
<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="../images/apache-forrest.png" title="The Apache Software Foundation"></a>
</div>
<!--+
    |end group logo
    +-->
<!--+
    |start Project Logo
    +-->
<div class="projectlogo">
<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="../images/project-logo.gif" title="Apache Forrest"></a>
</div>
<!--+
    |end Project Logo
    +-->
<!--+
    |start Search
    +-->
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
                    <input name="Search" value="Search" type="submit">
</form>
</div>
<!--+
    |end search
    +-->
<!--+
    |start Tabs
    +-->
<ul id="tabs">
<li>
<a class="unselected" href="../index.html">Welcome</a>
</li>
<li>
<a class="unselected" href="../contrib.html">Developers</a>
</li>
<li class="current">
<a class="selected" href="../versions/index.html">Versioned Docs</a>
</li>
<li>
<a class="unselected" href="../pluginDocs/index.html">Plugins</a>
</li>
<li>
<a class="unselected" href="../tools/index.html">Tools</a>
</li>
</ul>
<!--+
    |end Tabs
    +-->
</div>
</div>
<div id="main">
<div id="publishedStrip">
<!--+
    |start Subtabs
    +-->
<div id="level2tabs">
<a class="unselected" href="../docs_0_70/index.html">0.70 (current)</a><a class="unselected" href="../docs_0_80/index.html">0.80-dev (under development)</a><a class="selected" href="../docs_0_60/index.html">0.60 (past)</a>
</div>
<!--+
    |end Endtabs
    +-->
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<!--+
    |breadtrail
    +-->
<div class="breadtrail">
             
             &nbsp;
           </div>
<!--+
    |start Menu, mainarea
    +-->
<!--+
    |start Menu
    +-->
<div id="menu">
<div onclick="SwitchMenu('menu_selected_1.1', '../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">0.60</div>
<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
<div class="menuitem">
<a href="../docs_0_60/index.html">Overview</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/faq.html">FAQs</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/changes.html">Changes</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/todo.html">Todo</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/upgrading_06.html">Upgrading to 0.6</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/validation.html">XML Validation</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/linking.html">Menus and Linking</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/searching.html">Searching</a>
</div>
<div class="menupage">
<div class="menupagetitle">Default Skins</div>
</div>
<div class="menuitem">
<a href="../docs_0_60/skin-package.html">Skin Packages</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/forrest-contract.html">Our Contract</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/compliance.html">Standards Compliance</a>
</div>
<div onclick="SwitchMenu('menu_1.1.14', '../skin/')" id="menu_1.1.14Title" class="menutitle">How-To</div>
<div id="menu_1.1.14" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_60/howto/index.html">Overview</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/howto/howto-howto.html">Single Page</a>
</div>
<div onclick="SwitchMenu('menu_1.1.14.3', '../skin/')" id="menu_1.1.14.3Title" class="menutitle">Multi-Page</div>
<div id="menu_1.1.14.3" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_60/howto/multi/howto-multi.html">Intro</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/howto/multi/step1.html">Step 1</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/howto/multi/step2.html">Step 2</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/howto/multi/step3.html">Step 3</a>
</div>
</div>
<div class="menuitem">
<a href="../docs_0_60/howto/bugzilla-patch/howto-bugzilla-patch.html">With Images</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/howto/howto-howto.html">Write a How-to</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/howto/howto-asf-mirror.html">Download mirror</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/howto/howto-pdf-tab.html">Create tab PDF</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.15', '../skin/')" id="menu_1.1.15Title" class="menutitle">Advanced Topics</div>
<div id="menu_1.1.15" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_60/build.html">Building Forrest</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/catalog.html">Using DTD Catalogs</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/sitemap-ref.html">Sitemap Reference</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/project-sitemap.html">Project sitemap</a>
</div>
<div class="menuitem">
<a href="../docs_0_60/cap.html">Sourcetype Action</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.16', '../skin/')" id="menu_1.1.16Title" class="menutitle">Reference docs</div>
<div id="menu_1.1.16" class="menuitemgroup">
<div onclick="SwitchMenu('menu_1.1.16.1', '../skin/')" id="menu_1.1.16.1Title" class="menutitle">DTD documentation</div>
<div id="menu_1.1.16.1" class="menuitemgroup">
<div class="menuitem">
<a href="../dtdx/dtd-docs.html">Overview</a>
</div>
<div class="menuitem">
<a href="../dtdx/document-v20.dtdx.html">document-v20</a>
</div>
<div class="menuitem">
<a href="../dtdx/howto-v20.dtdx.html">howto-v20</a>
</div>
<div class="menuitem">
<a href="../dtdx/faq-v20.dtdx.html">faq-v20</a>
</div>
<div class="menuitem">
<a href="../dtdx/document-v13.dtdx.html">document-v13</a>
</div>
<div class="menuitem">
<a href="../dtdx/howto-v13.dtdx.html">howto-v13</a>
</div>
<div class="menuitem">
<a href="../dtdx/faq-v13.dtdx.html">faq-v13</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.16.2', '../skin/')" id="menu_1.1.16.2Title" class="menutitle">Doc samples</div>
<div id="menu_1.1.16.2" class="menuitemgroup">
<div class="menuitem">
<a href="../dtdx/document-v13.html">document-v13</a>
</div>
<div class="menuitem">
<a href="../dtdx/document-v20.html">document-v20</a>
</div>
</div>
</div>
</div>
<div id="credit">
<hr>
        This is documentation for past version v0.6
       (<a href="http://forrest.apache.org/versions/">More</a>)</div>
<div id="roundbottom">
<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
<!--+
  |alternative credits
  +-->
<div id="credit2">
<a href="http://apachecon.com/2007/EU/"><img border="0" title="ApacheCon Europe 2007" alt="ApacheCon Europe 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-europe-125x125.png" style="width: 125px;height: 125px;"></a><a href="http://people.apache.org/calendar.html#200711"><img border="0" title="ApacheCon US 2007" alt="ApacheCon US 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-usa-125x125.png" style="width: 125px;height: 125px;"></a>
</div>
</div>
<!--+
    |end Menu
    +-->
<!--+
    |start content
    +-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="skins.pdf"><img alt="PDF -icon" src="../skin/images/pdfdoc.gif" class="skin"><br>
        PDF</a>
</div>
<div class="trail">Font size: 
	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
</div>
<h1>Default skins</h1>
<div id="motd-area">
        This is documentation for past version v0.6
       (<a href="http://forrest.apache.org/versions/">More</a>)</div>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#introduction">Introduction</a>
</li>
<li>
<a href="#names">Convention for choosing skin names</a>
</li>
<li>
<a href="#skins">Skin descriptions</a>
<ul class="minitoc">
<li>
<a href="#pelt">pelt</a>
</li>
<li>
<a href="#leather-dev">leather-dev</a>
</li>
<li>
<a href="#tigris">tigris</a>
</li>
<li>
<a href="#plain-dev">plain-dev</a>
</li>
</ul>
</li>
<li>
<a href="#old">Old and deprecated skins</a>
<ul class="minitoc">
<li>
<a href="#forrest-site">forrest-site</a>
</li>
<li>
<a href="#krysalis-site">krysalis-site</a>
</li>
</ul>
</li>
</ul>
</div>
    
<a name="N1000D"></a><a name="introduction"></a>
<h2 class="underlined_10">Introduction</h2>
<div class="section">
<p>
        Forrest supplies a collection of default skins which are configurable
        and so should meet the needs of most projects. The aim is to provide
        many capabilities so that extra skins are not needed.
      </p>
</div>

    
<a name="N10017"></a><a name="names"></a>
<h2 class="underlined_10">Convention for choosing skin names</h2>
<div class="section">
<p>
        The skin names are based on playing with the word "skin". See our
        technique for
        <a href="http://svn.apache.org/repos/asf/forrest/trunk/src/core/context/skins/new-skin-names.txt">choosing skin names</a>.
        A name with "-dev" extension signifies that it is under development.
        There is no concept of versions of default skins.
        New skins have new names.
      </p>
</div>

    
<a name="N10025"></a><a name="skins"></a>
<h2 class="underlined_10">Skin descriptions</h2>
<div class="section">
<a name="N1002B"></a><a name="pelt"></a>
<h3 class="underlined_5">pelt</h3>
<p>
          Uses CSS "div" and no HTML tables.
          During its earlier development, this skin used to be called "css-style-dev".
        </p>
<a name="N10035"></a><a name="leather-dev"></a>
<h3 class="underlined_5">leather-dev</h3>
<p>
          This is the evolution of the "pelt" skin, to have naming
          conventions for css elements. It is still in development.
        </p>
<a name="N1003F"></a><a name="tigris"></a>
<h3 class="underlined_5">tigris</h3>
<p>
          This skin is based on version 1.1 of the 
          <a href="http://style.tigris.org/">style.tigris.org</a> project.
          (It deliberately contravenes our skin naming convention.)
        </p>
<a name="N1004D"></a><a name="plain-dev"></a>
<h3 class="underlined_5">plain-dev</h3>
<p>
          This is a very minimal skin to produce plain HTML documents.
          Such capability might be useful to generate a collection of
          documents for some off-line product's user help system.
        </p>
</div>

    
<a name="N10058"></a><a name="old"></a>
<h2 class="underlined_10">Old and deprecated skins</h2>
<div class="section">
<p>
        The following skins are retained for a little while longer, but are
        deprecated, so please move to one of the other skins.
      </p>
<a name="N10061"></a><a name="forrest-site"></a>
<h3 class="underlined_5">forrest-site</h3>
<p>
          This is the old skin that we have been dragging around since early
          days. Uses HTML tables.
        </p>
<a name="N1006B"></a><a name="krysalis-site"></a>
<h3 class="underlined_5">krysalis-site</h3>
<p>
          Uses HTML tables.
        </p>
</div>
  
</div>
<!--+
    |end content
    +-->
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<!--+
    |start bottomstrip
    +-->
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<div class="copyright">
        Copyright &copy;
         2002-2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
    |end bottomstrip
    +-->
</div>
</body>
</html>
