You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/04/18 03:12:52 UTC
cvs commit: avalon/maven-plugins/site/etc maven.css site.jsl stylesheet.css tigris.css
mcconnell 2004/04/17 18:12:52
Modified: maven-plugins maven.xml
maven-plugins/merlin project.properties
maven-plugins/versioning project.properties
Added: maven-plugins .cvsignore project.properties project.xml
maven-plugins/site/etc maven.css site.jsl stylesheet.css
tigris.css
Log:
Updates to turn the site generation into something closer to the avalon model.
Revision Changes Path
1.2 +33 -1 avalon/maven-plugins/maven.xml
Index: maven.xml
===================================================================
RCS file: /home/cvs/avalon/maven-plugins/maven.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- maven.xml 17 Apr 2004 10:22:49 -0000 1.1
+++ maven.xml 18 Apr 2004 01:12:52 -0000 1.2
@@ -16,6 +16,38 @@
limitations under the License.
-->
-<project default="multiproject:install">
+<project default="multiproject:install" xmlns:util="jelly:util" xmlns:j="jelly:core" xmlns:ant="jelly:ant">
+
+ <postGoal name="multiproject:site-init">
+ <ant:mkdir dir="${maven.build.dir}/docs/style"/>
+ <ant:copy toDir="${maven.build.dir}/docs/style">
+ <fileset dir="${basedir}/site/etc">
+ <include name="maven.css"/>
+ <include name="tigris.css"/>
+ </fileset>
+ </ant:copy>
+ </postGoal>
+
+ <preGoal name="xdoc:transform">
+ <ant:mkdir dir="${maven.build.dir}/docs/style"/>
+ <util:file var="etcDir" name="${basedir}/site/etc"/>
+ <j:if test="${etcDir.exists()}">
+ <ant:copy toDir="${maven.build.dir}/docs/style">
+ <fileset dir="${basedir}/site/etc">
+ <include name="maven.css"/>
+ <include name="tigris.css"/>
+ </fileset>
+ </ant:copy>
+ </j:if>
+ <util:file var="etcDir" name="${basedir}/../site/etc"/>
+ <j:if test="${etcDir.exists()}">
+ <ant:copy toDir="${maven.build.dir}/docs/style">
+ <fileset dir="${basedir}/../site/etc">
+ <include name="maven.css"/>
+ <include name="tigris.css"/>
+ </fileset>
+ </ant:copy>
+ </j:if>
+ </preGoal>
</project>
1.1 avalon/maven-plugins/.cvsignore
Index: .cvsignore
===================================================================
maven.log
velocity.log
build.properties
target
logs
build.xml
TODO.TXT
bin
config
lib
NOTES.TXT
1.1 avalon/maven-plugins/project.properties
Index: project.properties
===================================================================
# Copyright 2001-2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Banner background and foreground colors.
#
maven.ui.banner.background = #fff
maven.ui.banner.foreground = #000
maven.xdoc.jsl = ./site/etc/site.jsl
maven.javadoc.stylesheet =${basedir}/site/etc/stylesheet.css
maven.xdoc.poweredby.image=
maven.xdoc.date=left
1.3 +28 -121 avalon/maven-plugins/project.xml
1.3 +4 -1 avalon/maven-plugins/merlin/project.properties
Index: project.properties
===================================================================
RCS file: /home/cvs/avalon/maven-plugins/merlin/project.properties,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- project.properties 17 Apr 2004 14:20:26 -0000 1.2
+++ project.properties 18 Apr 2004 01:12:52 -0000 1.3
@@ -21,8 +21,11 @@
maven.xdoc.date=left
maven.xdoc.version=${pom.currentVersion}
-maven.license.licenseFile=${basedir}/../../LICENSE.txt
+maven.xdoc.jsl = file:///${basedir}/../site/etc/site.jsl
maven.checkstyle.header.file=${basedir}/../../LICENSE.txt
maven.checkstyle.format = avalon
+maven.javadoc.stylesheet =${basedir}/../site/etc/stylesheet.css
+maven.license.licenseFile=${basedir}/../../LICENSE.txt
+maven.xdoc.poweredby.image=
maven.artifact.type=plugin
1.3 +13 -10 avalon/maven-plugins/versioning/project.properties
Index: project.properties
===================================================================
RCS file: /home/cvs/avalon/maven-plugins/versioning/project.properties,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- project.properties 17 Apr 2004 10:22:50 -0000 1.2
+++ project.properties 18 Apr 2004 01:12:52 -0000 1.3
@@ -1,4 +1,3 @@
-# -------------------------------------------------------------------
# Copyright 2001-2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -6,23 +5,27 @@
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-# -------------------------------------------------------------------
-# -------------------------------------------------------------------
-# P R O J E C T P R O P E R T I E S
-# -------------------------------------------------------------------
+
+#
+# Gump integration
+#
+project.name = avalon-versioning-plugin
+avalon.buildsystem = ${basedir}/../../buildsystem
+
maven.xdoc.date=left
maven.xdoc.version=${pom.currentVersion}
-maven.license.licenseFile=${basedir}/../../LICENSE.txt
+maven.xdoc.jsl = file:///${basedir}/../site/etc/site.jsl
+maven.xdoc.poweredby.image=
maven.checkstyle.header.file=${basedir}/../../LICENSE.txt
-maven.checkstyle.format = turbine
-
-maven.junit.fork=yes
+maven.checkstyle.format = avalon
+maven.javadoc.stylesheet =${basedir}/../site/etc/stylesheet.css
+maven.license.licenseFile=${basedir}/../../LICENSE.txt
maven.artifact.type=plugin
1.1 avalon/maven-plugins/site/etc/maven.css
Index: maven.css
===================================================================
body {
background: #fff;
color: #000;
}
.app h3 {
color: #fff;
background-color: #036;
}
.app h4 {
color: #fff;
background-color: #888;
}
.a td {
background: #ddd;
color: #000;
}
.b td {
background: #efefef;
color: #000;
}
.app th {
background-color: #bbb;
color: #fff;
}
div#banner {
border-top: 1px solid #369;
border-bottom: 1px solid #003;
}
#banner, #banner td {
background: #fff;
color: #000;
}
#leftcol {
background: #eee;
color: #000;
border-right: 1px solid #aaa;
border-bottom: 1px solid #aaa;
border-top: 1px solid #fff;
}
#navcolumn {
background: #eee;
color: #000;
border-right: none;
border-bottom: none;
border-top: none;
}
#breadcrumbs {
background-color: #ddd;
color: #000;
border-top: 1px solid #fff;
border-bottom: 1px solid #aaa;
}
#source {
background-color: #fff;
color: #000;
border-right: 1px solid #888;
border-left: 1px solid #888;
border-top: 1px solid #888;
border-bottom: 1px solid #888;
margin-right: 7px;
margin-left: 7px;
margin-top: 1em;
}
#source pre {
margin-right: 7px;
margin-left: 7px;
}
a[name]:hover, #leftcol a[name]:hover {
color: inherit !important;
}
a:link, #breadcrumbs a:visited, #navcolumn a:visited, .app a:visited, .tasknav a:visited {
color: blue;
}
a:active, a:hover, #leftcol a:active, #leftcol a:hover {
color: #f30 !important;
}
a:link.selfref, a:visited.selfref {
color: #555 !important;
}
h3, h4 {
margin-top: 1em;
margin-bottom: 0;
}
1.1 avalon/maven-plugins/site/etc/site.jsl
Index: site.jsl
===================================================================
<?xml version="1.0"?>
<!-- stylesheet to be used -->
<jsl:stylesheet select="$doc"
xmlns:define="jelly:define"
xmlns:j="jelly:core"
xmlns:jsl="jelly:jsl"
xmlns:log="jelly:log"
xmlns:util="jelly:util"
xmlns:x="jelly:xml"
xmlns:doc="doc"
xmlns="dummy" trim="false">
<jsl:template match="document" trim="false">
<j:useBean var="navbean" class="org.apache.maven.NavBean"/>
<j:set var="location" value="${outFile.substring(destdir.length())}"/>
<util:replace var="location" oldChar="\" newChar="/" value="${location}"/>
<!-- Stores location for publish date / version -->
<j:set var="date">${maven.xdoc.date}</j:set>
<j:setProperties
object="${navbean}"
document="${doc}"
location="${location}"/>
<x:doctype name="html"
publicId="-//W3C//DTD XHTML 1.0 Transitional//EN"
systemId="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<html>
<head>
<j:set var="docTitle">
<x:expr select="./properties/title"/>
</j:set>
<x:if select="$nav/title">
<title>
<x:expr select="$nav/title"/> - ${docTitle}
</title>
</x:if>
<x:if select="not($nav/title)">
<title>${pom.name} - ${docTitle}</title>
</x:if>
<style type="text/css"><![CDATA[
@import url("${relativePath}/style/tigris.css");
@import url("${relativePath}/style/maven.css");
]]></style>
<util:file var="projectCssFile" name="${maven.docs.src}/style/project.css"/>
<j:if test="${projectCssFile.exists()}">
<style type="text/css"><![CDATA[
@import url("${relativePath}/style/project.css");
]]></style>
</j:if>
<!-- FIXME: once someone works out how to stop this breaking
<x:element name="script"><x:attribute name="type">text/javascript</x:attribute>
if (document.layers) {
document.writeln(''+
'<link rel="stylesheet" type="text/css" href="${relativePath}/style/ns4_only.css" media="screen" /><link rel="stylesheet" type="text/css" href="${relativePath}/style/maven_ns4_only.css" media="screen"/>');
}
</x:element>
-->
<link rel="stylesheet" type="text/css" href="${relativePath}/style/print.css" media="print"/>
<meta http-equiv="Content-Type" content="text/html; charset=${outputencoding}"></meta>
<x:forEach var="author" select="./properties/author">
<meta name="author" content="${author.text}"/>
<meta name="email" content="${author.attribute('email').value}"/>
</x:forEach>
<jsl:applyTemplates select="$doc/document/head/*"/>
</head>
<x:element name="body"><j:whitespace trim="true">
<x:attribute name="class">composite</x:attribute>
<x:forEach var="attr" select="$doc/document/body/@*">
<x:attribute name="${attr.name}">${attr.value}</x:attribute>
</x:forEach>
</j:whitespace>
<div id="banner">
<table border="0" cellspacing="0" cellpadding="8" width="100%" height="103">
<tr>
<!-- organization logo -->
<td>
<j:set var="logo" value="${pom.organization.logo}"/>
<j:if test="${!empty(logo)}">
<!-- set url to org or project url -->
<j:set var="url" value="${pom.organization.url}"/>
<j:if test="${!empty(url)}">
<j:set var="home" value="${pom.organization.url}"/>
</j:if>
<j:if test="${empty(url)}">
<j:set var="home" value="${pom.url}"/>
</j:if>
<!-- set image to relative or complete -->
<j:set var="image" value="${pom.organization.logo}"/>
<j:if test="${!image.startsWith('http://')}">
<j:set var="image" value="${relativePath}${image}"/>
</j:if>
<a href="${home}">
<img src="${image}" align="left" alt="${pom.organization.name}" border="0"/>
</a>
</j:if>
</td>
<td></td>
<!--
<td>
<div align="right" id="login">
<j:set var="logo" value="${pom.logo}"/>
<j:if test="${logo != null and logo != ''}">
<j:set var="image" value="${pom.logo}"/>
<j:if test="${!image.startsWith('http://')}">
<j:set var="image" value="${relativePath}${image}"/>
</j:if>
<a href="${pom.url}">
<img src="${image}" align="right" alt="${pom.name}" border="0"/>
</a>
</j:if>
</div>
</td>
-->
</tr>
</table>
</div>
<div id="breadcrumbs">
<table border="0" cellspacing="0" cellpadding="4" width="100%">
<tr>
<j:if test="${date == 'left'}">
<j:set var="version" value="${maven.xdoc.version}"/>
<td>Last published: ${build.date}
<j:if test="${!empty(version)}">| Doc for ${version}</j:if>
</td>
</j:if>
<td>
<div align="right">
<j:if test="${date == 'right'}">
Last published: ${build.date}
<x:if select="$nav/body/links">|</x:if>
</j:if>
<!-- render links -->
<x:if select="$nav/body/links">
<jsl:applyTemplates select="$nav/body/links"/>
</x:if>
<x:if select="not($nav/body/links)">
<!-- FIXME -->
</x:if>
</div>
</td>
</tr>
</table>
</div>
<!-- Body of the page -->
<table border="0" cellspacing="0" cellpadding="8" width="100%"> <!--id="main" -->
<tr valign="top">
<td id="leftcol" width="20%">
<div id="navcolumn">
<j:if test="${date == 'navigation-top'}">
<div>
<small>Last published: ${build.date}</small>
</div>
</j:if>
<x:if select="$nav">
<jsl:applyTemplates select="$nav/body/menu[not(@type) | @type='header'] | $nav/body/search"/>
</x:if>
<!-- Standard Maven Navigation -->
<j:set var="fileName">${file}</j:set>
<!--
! Check to see if the user wishes to include the
! maven-generated docs on their site.
!-->
<j:if test="${includeProjectDocumentation.equals('yes')}">
<div>
<strong>Project Documentation</strong>
<!--
<div>
<small>
<a href="${relativePath}/index.html">About ${pom.name}</a>
</small>
</div>
-->
<div>
<small>
<a href="${relativePath}/project-info.html">Project Info</a>
</small>
<util:tokenize var="projectInfoFiles" delim=",">${maven.xdoc.projectInfo}</util:tokenize>
<j:forEach var="infoFile" items="${projectInfoFiles}">
<j:if test="${relativePath == '.' and fileName.endsWith(infoFile)}">
<div>
<small>
<a href="${relativePath}/mail-lists.html">Mailing Lists</a>
</small>
</div>
<div>
<small>
<a href="${relativePath}/team-list.html">Project Team</a>
</small>
</div>
<div>
<small>
<a href="${relativePath}/dependencies.html">Dependencies</a>
</small>
</div>
<j:if test="${!empty(pom.repository.url)}">
<div>
<small>
<a href="${relativePath}/cvs-usage.html">Source Repository</a>
</small>
</div>
</j:if>
<j:if test="${!empty(pom.issueTrackingUrl)}">
<div>
<small>
<a href="${relativePath}/issue-tracking.html">Issue Tracking</a>
</small>
</div>
</j:if>
</j:if>
</j:forEach>
</div>
<div>
<small>
<a href="${relativePath}/maven-reports.html">Project Reports</a>
</small>
<!--
| Check to see if we need to include the report
| links in this document. The only time we
| need to do this is when the current document
| either the maven-reports.xml doc (the page
| is displayed when clicking on Project
| Reports) or when the current document is one
| of the actual reports (in which case we want
| to leave the project report links expanded.
|-->
<j:set var="includeReportLinks" value="false"/>
<j:forEach var="report" items="${reports}">
<j:set var="linkWithXmlExt" value="${report.link}.xml"/>
<j:if test="${relativePath == '.' and (fileName.endsWith('maven-reports.xml') or fileName.endsWith(linkWithXmlExt))}">
<j:set var="includeReportLinks" value="true"/>
</j:if>
</j:forEach>
<!--
| If we need to include the report links, then
| do so. This is determined by the above
| block.
|-->
<j:if test="${includeReportLinks == 'true'}">
<j:forEach var="report" items="${reports}">
<div>
<small>
<a href="${relativePath}/${report.link}.html">
${report.name}
</a>
</small>
</div>
</j:forEach>
</j:if>
</div>
<j:if test="${pom.reports.isEmpty()}">
<j:if test="${sourcesPresent}">
<div>
<small>
<a href="${relativePath}/apidocs/index.html">JavaDocs</a>
</small>
</div>
<div>
<small>
<a href="${relativePath}/xref/index.html">Source XReference</a>
</small>
</div>
<j:if test="${unitTestSourcesPresent == 'true'}">
<div>
<small>
<a href="${relativePath}/xref-test/index.html">Test XReference</a>
</small>
</div>
</j:if>
</j:if>
</j:if>
<!--
<j:set var="devProcess" value="false"/>
<util:available file="${maven.docs.src}/development-process.xml">
<j:set var="devProcess" value="true"/>
</util:available>
<j:if test="${devProcess}">
<div>
<small>
<a href="${relativePath}/development-process.html">Development Process</a>
</small>
</div>
</j:if>
<j:if test="${!devProcess}">
<div>
<small>
<j:set var="devProcess">${maven.xdoc.developmentProcessUrl}</j:set>
<a href="${devProcess}">Development Process</a>
</small>
</div>
</j:if>
-->
</div>
</j:if>
<j:set var="poweredbyimage">${maven.xdoc.poweredby.image}</j:set>
<j:set var="poweredbytitle">${maven.xdoc.poweredby.title}</j:set>
<j:set var="poweredbyurl">${maven.xdoc.poweredby.url}</j:set>
<j:if test="${!empty(poweredbyimage)}">
<div style="margin-top: 20px; width: 100%; text-align: center;">
<a href="${poweredbyurl}" title="${poweredbytitle}"><img alt="${maven.xdoc.poweredby.title}" style="border: 1px solid black" src="${relativePath}/images/logos/${poweredbyimage}"/></a>
</div>
</j:if>
<j:if test="${date == 'navigation-bottom'}">
<div>
<small>Last published: ${build.date}</small>
</div>
</j:if>
</div>
</td>
<td rowspan="2">
<div id="bodycol">
<!-- Insert MAIN body here -->
<div class="app">
<!-- FIXME really shouldn't use $doc, but jelly loses it's context again -->
<jsl:applyTemplates select="$doc/document/body/section"/>
<jsl:applyTemplates select="$doc/document/body/glossary" />
<jsl:applyTemplates select="$doc/document/body/release" />
<jsl:applyTemplates select="$doc/document/body/changelog" />
<jsl:applyTemplates select="$doc/document/body/taskList" />
<jsl:applyTemplates select="$doc/document/body/goals" />
</div>
</div>
</td>
</tr>
</table>
<div id="footer">
<table style='width:100%' border="0" cellspacing="0" cellpadding="4">
<jsl:applyTemplates select="$nav/body/footer"/>
<tr>
<td>
<j:if test="${!empty(pom.organization.name)}">
<j:if test="${!empty(pom.inceptionYear)}">
<j:if test="${pom.inceptionYear == mavenCurrentYear}">
© ${mavenCurrentYear}, ${pom.organization.name}
</j:if>
<j:if test="${pom.inceptionYear != mavenCurrentYear}">
© ${pom.inceptionYear}-${mavenCurrentYear}, ${pom.organization.name}
</j:if>
</j:if>
<j:if test="${empty(pom.inceptionYear)}">
© ${mavenCurrentYear}, ${pom.organization.name}
</j:if>
</j:if>
<j:if test="${date == 'bottom'}">
- Last published: ${build.date}
</j:if>
</td>
<j:if test="${date == 'bottom-right'}">
<td style='width: auto; text-align:right'>Last published: ${build.date}</td>
</j:if>
</tr>
</table>
</div>
</x:element>
</html>
</jsl:template>
<!-- process the properties of the doc -->
<jsl:template match="properties" trim="false">
<!-- stick head block here later -->
</jsl:template>
<!-- Process a menu for the navigation bar -->
<jsl:template match="menu" trim="false">
<div>
<strong><x:expr select="@name"/></strong>
<jsl:applyTemplates select="item"/>
</div>
</jsl:template>
<jsl:template match="item" trim="false">
<x:set var="item" select="."/>
<x:set var="_name" select="string(@name)"/>
<x:set var="_link" select="string(@href)"/>
<x:set var="_img" select="string(@img)"/>
<div>
<small>
<j:if test="${navbean.isSelected(item.get(0))}">
<b><doc:itemLink name="${_name}" link="${_link}" img="${_img}"/></b>
</j:if>
<j:if test="${!navbean.isSelected(item.get(0))}">
<doc:itemLink name="${_name}" link="${_link}" img="${_img}"/>
</j:if>
</small>
<j:if test="${!navbean.isCollapsed(item.get(0))}">
<jsl:applyTemplates select="item"/>
</j:if>
</div>
</jsl:template>
<!-- Process the breadcrumb navbar -->
<jsl:template match="links" trim="false">
<j:set var="linkCount" value="1"/>
<x:forEach var="link" select="item">
<j:if test="${linkCount != 1}">|</j:if>
<j:set var="_name"><x:expr select="@name"/></j:set>
<j:set var="_link"><x:expr select="@href"/></j:set>
<doc:itemLink name="${_name}" link="${_link}"/>
<j:set var="linkCount" value="${1+linkCount}"/>
</x:forEach>
</jsl:template>
<!-- Google site search -->
<jsl:template match="search" trim="false">
<!-- Search code: http://www.google.com/searchcode.html -->
<!-- Google logos: http://www.google.com/stickers.html -->
<!-- Terms: http://www.google.com./services/terms_free.html -->
<div>
<strong>Search ${pom.name}</strong>
<form method="get" action="http://www.google.com/search">
<a class="navlink" href="http://www.google.com">
<img src="http://www.google.com/logos/Logo_25wht.gif"
alt="Google" border="0" />
</a><p/>
<j:set var="siteURL" value="${pom.url}"/>
<!-- google fails on urls that end with / -->
<j:if test="${siteURL.endsWith('/')}">
<j:set var="URLLength" value="${siteURL.length() - 1}"/>
<j:set var="siteURL" value="${siteURL.substring(0, URLLength.intValue())}"/>
</j:if>
<input type="text" size="15" name="q" maxlength="255" value=""/>
<input type="submit" value="Go" name="btnG"/>
<input type="hidden" name="domains" value="${siteURL}"/>
<input type="hidden" id="search" name="sitesearch" value="${siteURL}"/>
</form>
</div>
</jsl:template>
<!-- process a documentation section -->
<jsl:template match="section" trim="false">
<div class="h3">
<j:set var="_sectionName"><x:expr select="@name"/></j:set>
<j:if test="${!empty(_sectionName)}">
<h3>
<a name="${_sectionName}">${_sectionName}</a>
</h3>
</j:if>
<jsl:applyTemplates select="*"/>
</div>
</jsl:template>
<jsl:template match="subsection" trim="false">
<div class="h4">
<j:set var="_sectionName"><x:expr select="@name"/></j:set>
<j:if test="${!empty(_sectionName)}">
<h4>
<a name="${_sectionName}">${_sectionName}</a>
</h4>
</j:if>
<jsl:applyTemplates select="*"/>
</div>
</jsl:template>
<jsl:template match="source" trim="false">
<div id="source">
<pre><x:expr select="."/></pre>
</div>
</jsl:template>
<jsl:template match="footer" trim="false">
<tr>
<td>
<jsl:applyTemplates select="*"/>
</td>
</tr>
</jsl:template>
<jsl:template match="table" trim="false">
<j:set var="rowcount" value="0"/>
<table cellpadding="3" cellspacing="2" border="1" width="100%">
<jsl:applyTemplates select="*"/>
</table>
</jsl:template>
<jsl:template match="tr" trim="false">
<j:choose>
<j:when test="${rowMode == 'a'}">
<j:set var="rowMode" value="b"/>
</j:when>
<j:otherwise>
<j:set var="rowMode" value="a"/>
</j:otherwise>
</j:choose>
<!-- copy attributes FIXME: Shouldn't this only be colspan|rowspan? -->
<x:element name="tr"><j:whitespace trim="true">
<x:attribute name="class">${rowMode}</x:attribute>
<x:forEach var="attr" select="@*">
<x:attribute name="${attr.name}">${attr.value}</x:attribute>
</x:forEach>
<jsl:applyTemplates select="*"/>
</j:whitespace></x:element>
</jsl:template>
<!--************************-->
<!-- glossary documentation -->
<!--************************-->
<jsl:template match="glossary" trim="false">
<jsl:applyTemplates select="glossary-entries/glossary-entry" />
</jsl:template>
<jsl:template match="glossary-entry" trim="false">
<strong><x:expr select="name" /></strong>
<br/>
<x:expr select="definition" />
<p/>
</jsl:template>
<!--************************-->
<!-- goals documentation -->
<!--************************-->
<jsl:template match="goals" trim="false">
<!-- reset row alternation -->
<j:set var="rowMode" value="" />
<div class="h3">
<h3><a name="Goals">Goals</a></h3>
<table>
<tr width='100%'><th>Goal</th><th>Description</th></tr>
<jsl:applyTemplates select="goal"/>
</table>
</div>
</jsl:template>
<!-- a goal -->
<!-- FIXME: this is copied from tr - there must be a way of
calling templates in jsl? -->
<jsl:template match="goal" trim="false">
<j:choose>
<j:when test="${rowMode == 'a'}">
<j:set var="rowMode" value="b"/>
</j:when>
<j:otherwise>
<j:set var="rowMode" value="a"/>
</j:otherwise>
</j:choose>
<x:element name="tr"><j:whitespace trim="true">
<x:attribute name="class">${rowMode}</x:attribute>
<j:set var="_goalName"><x:expr select="./name" /></j:set>
<td width='20%'><a name="${_goalName}">${_goalName}</a></td>
<td width='80%'><jsl:applyTemplates select="description" /></td>
</j:whitespace></x:element>
</jsl:template>
<jsl:template match="description">
<jsl:copy trim="false">
<jsl:applyTemplates trim="false"/>
</jsl:copy>
</jsl:template>
<!--************************-->
<!-- changelog documentation-->
<!--************************-->
<jsl:template match="changelog" trim="false">
<j:set var="rowMode" value="" />
<table width="100%">
<tr>
<th>Date</th><th>Author</th><th>Files/Message</th>
</tr>
<jsl:applyTemplates select="changelog-entry" />
</table>
</jsl:template>
<!-- transform a changelog entry -->
<!-- FIXME: tr code copied from above -->
<jsl:template match="changelog-entry" trim="false">
<j:choose>
<j:when test="${rowMode == 'a'}">
<j:set var="rowMode" value="b"/>
</j:when>
<j:otherwise>
<j:set var="rowMode" value="a"/>
</j:otherwise>
</j:choose>
<x:element name="tr"><j:whitespace trim="true">
<x:attribute name="class">${rowMode}</x:attribute>
<td><x:expr select="date" /> <x:expr select="time" /></td>
<td><x:expr select="author"/></td>
<td><jsl:applyTemplates select="*" />
<pre><x:expr select="msg"/></pre>
</td>
</j:whitespace></x:element>
</jsl:template>
<jsl:template match="file">
<j:set var="url">${pom.repository.url}<x:expr select="name"/></j:set>
<j:set var="revUrl">${url}?<x:expr select="revision"/>&content-type=text/vnd.viewcvs-markup</j:set>
<a href="${url}"><x:expr select="name"/></a> -
<a href="${revUrl}">v<x:expr select="revision"/></a>
<br/>
</jsl:template>
<!-- remove the space at the end of parsed "a" anchors -->
<jsl:template match="a" trim="false">
<jsl:copy trim="true">
<jsl:applyTemplates trim="true"/>
</jsl:copy>
</jsl:template>
<!-- copy any other elements through -->
<jsl:template match="*" trim="false">
<jsl:copy trim="false">
<jsl:applyTemplates trim="false"/>
</jsl:copy>
</jsl:template>
<!-- element values don't pass through as text -->
<jsl:template match="@*"/>
</jsl:stylesheet>
1.1 avalon/maven-plugins/site/etc/stylesheet.css
Index: stylesheet.css
===================================================================
/* Javadoc style sheet */
/* Define colors, fonts and other style attributes here to override the defaults */
/* Page background color */
body { background-color: #FFFFFF }
/* Table colors */
.TableHeadingColor { background: #CCCCFF } /* Dark mauve */
.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */
.TableRowColor { background: #FFFFFF } /* White */
/* Font used in left-hand frame lists */
.FrameTitleFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
.FrameItemFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
/* Example of smaller, sans-serif font in frames */
/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
/* Navigation bar fonts and colors */
.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */
.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
1.1 avalon/maven-plugins/site/etc/tigris.css
Index: tigris.css
===================================================================
/* contains rules unsuitable for Netscape 4.x; simpler rules are in ns4_only.css. see <http://style.tigris.org/> */
/* colors, backgrounds, borders, link indication */
body {
background: #fff;
color: #000;
}
.app h3, .app h4, .app th, .tabs td, .tabs th, .functnbar {
background-image: url(../images/nw_min.gif);
background-repeat: no-repeat;
}
#navcolumn div div, body.docs #toc li li {
background-image: url(../images/strich.gif);
background-repeat: no-repeat;
background-position: .5em .5em;
}
#navcolumn div div.heading {
background-image: none;
}
.app h3, .app h4 {
color: #fff;
}
.app h3 {
background-color: #036;
}
.app h4 {
background-color: #888;
}
.a td {
background: #ddd;
}
.b td {
background: #efefef;
}
table, th, td {
border: none
}
.mtb {
border-top: solid 1px #ddd;
}
div.colbar {
background: #bbb;
}
div#banner {
border-top: 1px solid #369;
border-bottom: 1px solid #003;
}
div#helptext th {
border-bottom: 1px solid #996;
border-right: 1px solid #996;
}
div#helptext td {
border-bottom: 1px solid #cc9;
border-right: 1px solid #cc9;
}
.tabs {
border-bottom: .75em #888 solid;
}
.tabs th, .tabs td {
border-right: 1px solid #333;
}
.tabs td {
border-bottom: 1px solid #ddd;
}
#navcolumn {
background: #eee;
border-right: 1px solid #aaa;
border-bottom: 1px solid #aaa;
}
#breadcrumbs {
border-bottom: 1px solid #aaa;
background-color: #ddd;
}
#navcolumn, #breadcrumbs {
border-top: 1px solid #fff;
}
#rightcol div.www, #rightcol div.help {
border: 1px solid #ddd;
}
div#navcolumn div.focus {
border-top: 1px solid #aaa;
border-left: 1px solid #aaa;
background-color: #fff;
}
body.docs div.docs {
background: #fff;
border-left: 1px solid #ddd;
border-top: 1px solid #ddd;
}
body.docs {
background: #eee url(../images/help_logo.gif) top right no-repeat !important;
}
.docs h3, .docs h4 {
border-top: solid 1px #000;
}
#alerterrormessage {
background: url(../images/icon_alert.gif) top left no-repeat !important;
}
.functnbar {
background-color: #aaa;
}
.functnbar2, .functnbar3 {
background: #aaa url(../images/sw_min.gif) no-repeat bottom left;
}
.functnbar3 {
background-color: #ddd;
}
.functnbar, .functnbar2, .functnbar3 {
color: #000;
}
.functnbar a, .functnbar2 a, .functnbar3 a {
color: #000;
text-decoration: underline;
}
#topmodule {
background: #ddd;
border-top: 1px solid #fff;
border-bottom: 1px solid #aaa;
border-right: 1px solid #aaa;
}
#topmodule #issueid {
border-right: 1px solid #aaa;
}
a:link, #navcolumn a:visited, .app a:visited, .tasknav a:visited {
color: blue;
}
a:active, a:hover, #leftcol a:active, #leftcol a:hover {
color: #f30 !important;
}
#login a:link, #login a:visited {
color: white;
text-decoration: underline;
}
#banner a:active, #banner a:hover {
color: #f90 !important;
}
#leftcol a, #breadcrumbs a {
text-decoration: none;
}
a:link.selfref, a:visited.selfref {
color: #555 !important;
text-decoration: none;
}
h2 .lastchild {
color: #777
}
.tabs td, .tabs th {
background-color: #ddd;
}
.app th {
background-color: #bbb;
}
.tabs th {
background-color: #888;
color: #fff;
}
.axial th {
background-color: #ddd;
color: black
}
.tabs td {
background-color: #ddd;
}
.alert {
color: #c00;
}
.confirm {
color: green;
}
.info {
color: blue;
}
.selection {
background: #ffc;
}
#login {
color: #fff;
}
#helptext th {
background: #cc9;
}
#helptext td {
background: #ffc;
}
.tabs a {
text-decoration: none;
}
#navcolumn div strong {
color: #000;
}
#banner, #banner td {
background: #036;
color: #fff;
}
body #banner #login a {
color: #fff;
}
/* font and text properties, exclusive of link indication, alignment, text-indent */
body, th, td, input, select, textarea, h2 small {
font-family: Verdana, Helvetica, Arial, sans-serif;
}
code, pre {
font-family: 'Andale Mono', Courier, monospace;
}
html body, body th, body td, textarea, h2 small, .app h3, .app h4, #rightcol h3, #bodycol pre, #bodycol code {
font-size: x-small;
voice-family: "\"}\"";
voice-family: inherit;
font-size: small
}
html>body, html>body th, html>body td, html>body input, html>body select, html>body textarea, html>body h2 small, html>body .app h3, html>body .app h4, html>body #rightcol h3, html>body #bodycol pre, html>body #bodycol code {
font-size: small
}
small, div#footer td, div#login, div#helptext th, div#helptext td, div.tabs th, div.tabs td, input, select, .paginate, .functnbar, .functnbar2, .functnbar3, #breadcrumbs td, .courtesylinks, #rightcol div.help, .colbar, .tasknav, body.docs div#toc {
font-size: xx-small;
voice-family: "\"}\"";
voice-family: inherit;
font-size: x-small
}
html>body small, html>body div#footer td, html>body div#login, html>body div#helptext td, html>body div#helptext th, html>body div.tabs th, html>body div.tabs td, html>body input, html>body select, html>body .paginate, html>body .functnbar, html>body .functnbar2, html>body .functnbar3, html>body #breadcrumbs td, html>body .courtesylinks, html>body #rightcol div.help, html>body .colbar, html>body .tasknav, html>body.docs #toc {
font-size: x-small
}
#bodycol h2 {
font-family: Tahoma, Verdana, Helvetica, Arial, sans-serif;
font-size: 1.5em;
font-weight: normal;
}
h2 small {
font-weight: bold;
letter-spacing: .06em;
}
dt {
font-weight: bold
}
#login .username {
font-weight: bold;
}
h4 {
font-size: 1em;
}
#breadcrumbs td {
font-weight: bold;
}
.selection {
font-weight: bold
}
/* box properties (exclusive of borders), positioning, alignments, list types, text-indent */
#bodycol h2 {
margin-top: .3em;
margin-bottom: .5em;
}
p, ul, ol, dl {
margin-top: .67em;
margin-bottom: .67em;
}
h3, h4 {
margin-bottom: 0;
}
form {
margin-top: 0;
margin-bottom: 0;
}
#bodycol {
padding-left: 12px;
padding-right: 12px;
width: 100%;
voice-family: "\"}\"";
voice-family: inherit;
width: auto;
}
html>body #bodycol {
width: auto;
}
.docs {
line-height: 1.4;
}
.app h3, .app h4 {
padding: 5px;
margin-right: 2px;
margin-left: 2px;
}
.h3 p, .h4 p, .h3 dt, .h4 dt {
margin-right: 7px;
margin-left: 7px;
}
.tasknav {
margin-bottom: 1.33em
}
div.colbar {
padding: 4px;
margin: 2px 2px 0;
}
.tabs {
margin-top: .67em;
margin-right: 2px;
margin-left: 2px;
}
#leftcol {
padding-bottom: .5em;
}
#breadcrumbs td {
vertical-align: middle;
padding: 2px 8px;
}
#rightcol div.www, #rightcol div.help {
padding: 0 .5em
}
#navcolumn {
margin: -8px -8px 0 -8px;
padding: 4px;
}
#navcolumn div {
padding-left: 5px
}
div#navcolumn div div {
margin-top: .3em;
margin-bottom: .3em;
}
div#navcolumn div.focus {
margin-top: -.1em;
padding: .2em 4px;
}
body.docs #toc {
position: absolute;
top: 15px;
left: 0px;
width: 120px;
padding: 0 20px 0 0
}
body.docs #toc ul, #toc ol {
margin-left: 0;
padding-left: 0;
}
body.docs #toc li {
margin-top: 7px;
padding-left: 10px;
list-style-type: none;
}
body.docs div.docs {
margin: 61px 0 0 150px;
padding: 1em 2em 1em 1em !important;
}
.docs p+p {
text-indent: 5%;
margin-top: -.67em
}
.docs h3, .docs h4 {
margin-bottom: .1em;
padding-top: .3em;
}
#alerterrormessage {
padding-left: 100px;
}
.functnbar, .functnbar2, .functnbar3 {
padding: 5px;
margin: .67em 2px;
}
#topmodule td {
vertical-align: middle;
padding: 2px 8px
}
body {
padding: 1em;
}
body.composite, body.docs {
margin: 0;
padding: 0;
}
th, td {
text-align: left;
vertical-align: top
}
.right {
text-align: right !important;
}
.center {
text-align: center !important;
}
.tabs td, .tabs th {
padding-left: 7px;
padding-right: 7px;
}
.axial th {
text-align: right;
}
.app .axial td th {
text-align: left;
}
body td .stb {
margin-top: 1em;
text-indent: 0;
}
body td .mtb {
margin-top: 2em;
text-indent: 0;
}
dd {
margin-bottom: .67em;
}
#footer {
margin: 4px
}
#helptext {
margin-top: 1em
}
#helptext td div {
margin: .5em
}
.courtesylinks {
margin-top: 1em;
padding-top: 1em
}
#navcolumn div {
margin-bottom: .5em;
}
#navcolumn div div {
margin-top: .3em
}
#navcolumn div div {
padding-left: 1em;
}
#banner, #banner td {
vertical-align: middle;
}
body.docs, body.nonav {
margin: 1em
}
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org