Modified the site footer to include trademark attributions required by the branding...
authorIvan Habunek <ihabunek@apache.org>
Sun, 5 Jun 2011 21:30:02 +0000 (21:30 +0000)
committerIvan Habunek <ihabunek@apache.org>
Sun, 5 Jun 2011 21:30:02 +0000 (21:30 +0000)
git-svn-id: https://svn.apache.org/repos/asf/logging/log4php/trunk@1132492 13f79535-47bb-0310-9956-ffa450edef68

pom.xml
src/site/resources/css/maven-base.css [new file with mode: 0644]
src/site/resources/css/site.css
src/site/resources/images/logos/maven-feather.png [new file with mode: 0644]
src/site/site.vm [new file with mode: 0644]

diff --git a/pom.xml b/pom.xml
index 79bf201..95d2ba9 100644 (file)
--- a/pom.xml
+++ b/pom.xml
                                <version>3.0-beta-3</version>
                                <configuration>
 
+                                       <!-- Override default rendering (only required to add a custom footer) -->
+                                       <!-- This can be removed once <footer> tag is supported in site.xml.  -->
+                                       <templateFile>${basedir}/src/site/site.vm</templateFile>
+
                                        <!-- Configure additional reports on the site -->
                                        <reportPlugins>
 
diff --git a/src/site/resources/css/maven-base.css b/src/site/resources/css/maven-base.css
new file mode 100644 (file)
index 0000000..0167aa8
--- /dev/null
@@ -0,0 +1,168 @@
+/*\r
+ Licensed to the Apache Software Foundation (ASF) under one or more\r
+ contributor license agreements.  See the NOTICE file distributed with\r
+ this work for additional information regarding copyright ownership.\r
+ The ASF licenses this file to You under the Apache License, Version 2.0\r
+ (the "License"); you may not use this file except in compliance with\r
+ the License.  You may obtain a copy of the License at\r
+\r
+      http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+\r
+*/\r
+body {\r
+  margin: 0px;\r
+  padding: 0px;\r
+}\r
+img {\r
+  border:none;\r
+}\r
+table {\r
+  padding:0px;\r
+  width: 100%;\r
+  margin-left: -2px;\r
+  margin-right: -2px;\r
+}\r
+acronym {\r
+  cursor: help;\r
+  border-bottom: 1px dotted #feb;\r
+}\r
+table.bodyTable th, table.bodyTable td {\r
+  padding: 2px 4px 2px 4px;\r
+  vertical-align: top;\r
+}\r
+div.clear{\r
+  clear:both;\r
+  visibility: hidden;\r
+}\r
+div.clear hr{\r
+  display: none;\r
+}\r
+#bannerLeft, #bannerRight {\r
+  font-size: xx-large;\r
+  font-weight: bold;\r
+}\r
+#bannerLeft img, #bannerRight img {\r
+  margin: 0px;\r
+}\r
+.xleft, #bannerLeft img {\r
+  float:left;\r
+}\r
+.xright, #bannerRight {\r
+  float:right;\r
+}\r
+#banner {\r
+  padding: 0px;\r
+}\r
+#banner img {\r
+  border: none;\r
+}\r
+#breadcrumbs {\r
+  padding: 3px 10px 3px 10px;\r
+}\r
+#leftColumn {\r
+ width: 170px;\r
+ float:left;\r
+ overflow: auto;\r
+}\r
+#bodyColumn {\r
+  margin-right: 1.5em;\r
+  margin-left: 197px;\r
+}\r
+#legend {\r
+  padding: 8px 0 8px 0;\r
+}\r
+#navcolumn {\r
+  padding: 8px 4px 0 8px;\r
+}\r
+#navcolumn h5 {\r
+  margin: 0;\r
+  padding: 0;\r
+  font-size: small;\r
+}\r
+#navcolumn ul {\r
+  margin: 0;\r
+  padding: 0;\r
+  font-size: small;\r
+}\r
+#navcolumn li {\r
+  list-style-type: none;\r
+  background-image: none;\r
+  background-repeat: no-repeat;\r
+  background-position: 0 0.4em;\r
+  padding-left: 16px;\r
+  list-style-position: outside;\r
+  line-height: 1.2em;\r
+  font-size: smaller;\r
+}\r
+#navcolumn li.expanded {\r
+  background-image: url(../images/expanded.gif);\r
+}\r
+#navcolumn li.collapsed {\r
+  background-image: url(../images/collapsed.gif);\r
+}\r
+#poweredBy {\r
+  text-align: center;\r
+}\r
+#navcolumn img {\r
+  margin-top: 10px;\r
+  margin-bottom: 3px;\r
+}\r
+#poweredBy img {\r
+  display:block;\r
+  margin: 20px 0 20px 17px;\r
+}\r
+#search img {\r
+    margin: 0px;\r
+    display: block;\r
+}\r
+#search #q, #search #btnG {\r
+    border: 1px solid #999;\r
+    margin-bottom:10px;\r
+}\r
+#search form {\r
+    margin: 0px;\r
+}\r
+#lastPublished {\r
+  font-size: x-small;\r
+}\r
+.navSection {\r
+  margin-bottom: 2px;\r
+  padding: 8px;\r
+}\r
+.navSectionHead {\r
+  font-weight: bold;\r
+  font-size: x-small;\r
+}\r
+.section {\r
+  padding: 4px;\r
+}\r
+#footer {\r
+  padding: 3px 10px 3px 10px;\r
+  font-size: x-small;\r
+}\r
+#breadcrumbs {\r
+  font-size: x-small;\r
+  margin: 0pt;\r
+}\r
+.source {\r
+  padding: 12px;\r
+  margin: 1em 7px 1em 7px;\r
+}\r
+.source pre {\r
+  margin: 0px;\r
+  padding: 0px;\r
+}\r
+#navcolumn img.imageLink, .imageLink{\r
+  padding-left: 0px;\r
+  padding-bottom: 0px;\r
+  padding-top: 0px;\r
+  padding-right: 2px;\r
+  border: 0px;\r
+  margin: 0px;\r
+}\r
index cab7f25..f4d640e 100644 (file)
@@ -16,3 +16,5 @@
 
 */
 
+div.section ul li { margin-top: 4px; }
+div.section ul ul li { margin-top: 1px; }
diff --git a/src/site/resources/images/logos/maven-feather.png b/src/site/resources/images/logos/maven-feather.png
new file mode 100644 (file)
index 0000000..b5ada83
Binary files /dev/null and b/src/site/resources/images/logos/maven-feather.png differ
diff --git a/src/site/site.vm b/src/site/site.vm
new file mode 100644 (file)
index 0000000..e891dba
--- /dev/null
@@ -0,0 +1,542 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at $dateFormat.format( $currentDate ) -->
+#macro ( link $href $name $target $img $position $alt $border $width $height )
+  #set ( $linkTitle = ' title="' + $name + '"' )
+  #if( $target )
+    #set ( $linkTarget = ' target="' + $target + '"' )
+  #else
+    #set ( $linkTarget = "" )
+  #end
+  #if ( $href.toLowerCase().startsWith("http:/") || $href.toLowerCase().startsWith("https:/") ||
+    $href.toLowerCase().startsWith("ftp:/") || $href.toLowerCase().startsWith("mailto:/") ||
+    $href.toLowerCase().startsWith("file:/") || ($href.toLowerCase().indexOf("://") != -1) )
+    #set ( $linkClass = ' class="externalLink"' )
+  #else
+    #set ( $linkClass = "" )
+  #end
+  #if ( $img )
+    #if ( $position == "left" )
+      <a href="$href"$linkClass$linkTarget$linkTitle>#image($img $alt $border $width $height)$name</a>
+    #else
+      <a href="$href"$linkClass$linkTarget$linkTitle>$name #image($img $alt $border $width $height)</a>
+    #end
+  #else
+    <a href="$href"$linkClass$linkTarget$linkTitle>$name</a>
+  #end
+#end
+##
+#macro ( image $img $alt $border $width $height )
+  #if( $img )
+    #if ( ! ( $img.toLowerCase().startsWith("http:/") || $img.toLowerCase().startsWith("https:/") ||
+            $img.toLowerCase().startsWith("ftp:/") || $img.toLowerCase().startsWith("mailto:/") ||
+            $img.toLowerCase().startsWith("file:/") || ($img.toLowerCase().indexOf("://") != -1) ) )
+      #set ( $imgSrc = $PathTool.calculateLink( $img, $relativePath ) )
+      #set ( $imgSrc = $imgSrc.replaceAll( '\\', '/' ) )
+      #set ( $imgSrc = ' src="' + $imgSrc + '"' )
+    #else
+      #set ( $imgSrc = ' src="' + $img + '"' )
+    #end
+    #if( $alt )
+      #set ( $imgAlt = ' alt="' + $alt + '"' )
+    #else
+      #set ( $imgAlt = ' alt=""' )
+    #end
+    #if( $border )
+      #set ( $imgBorder = ' border="' + $border + '"' )
+    #else
+      #set ( $imgBorder = "" )
+    #end
+    #if( $width )
+      #set ( $imgWidth = ' width="' + $width + '"' )
+    #else
+      #set ( $imgWidth = "" )
+    #end
+    #if( $height )
+      #set ( $imgHeight = ' height="' + $height + '"' )
+    #else
+      #set ( $imgHeight = "" )
+    #end
+    <img class="imageLink"$imgSrc$imgAlt$imgBorder$imgWidth$imgHeight/>
+  #end
+#end
+#macro ( banner $banner $id )
+  #if ( $banner )
+    #if( $banner.href )
+      #set ( $hrf = $banner.href )
+      #if ( ! ( $hrf.toLowerCase().startsWith("http:/") || $hrf.toLowerCase().startsWith("https:/") ||
+        $hrf.toLowerCase().startsWith("ftp:/") || $hrf.toLowerCase().startsWith("mailto:/") ||
+        $hrf.toLowerCase().startsWith("file:/") || ($hrf.toLowerCase().indexOf("://") != -1) ) )
+        #set ( $hrf = $PathTool.calculateLink( $hrf, $relativePath ) )
+        #set ( $hrf = $hrf.replaceAll( '\\', '/' ) )
+        #if ( ( $hrf == '' ) )
+          #set ( $hrf = './' )
+        #end
+      #end
+      <a href="$hrf" id="$id"#if( $banner.alt ) title="$banner.alt"#end>
+    #else
+        <div id="$id">
+    #end
+##
+    #if( $banner.src )
+        #set ( $src = $banner.src )
+        #if ( ! ( $src.toLowerCase().startsWith("http:/") || $src.toLowerCase().startsWith("https:/") ||
+                $src.toLowerCase().startsWith("ftp:/") || $src.toLowerCase().startsWith("mailto:/") ||
+                $src.toLowerCase().startsWith("file:/") || ($src.toLowerCase().indexOf("://") != -1) ) )
+            #set ( $src = $PathTool.calculateLink( $src, $relativePath ) )
+            #set ( $src = $src.replaceAll( '\\', '/' ) )
+        #end
+        #if ( $banner.alt )
+            #set ( $alt = $banner.alt )
+        #else
+            #set ( $alt = $banner.name )
+        #end
+        <img src="$src" alt="$alt" />
+    #else
+        $banner.name
+    #end
+##
+    #if( $banner.href )
+        </a>
+    #else
+        </div>
+    #end
+  #end
+#end
+##
+#macro ( links $links )
+  #set ( $counter = 0 )
+  #foreach( $item in $links )
+    #set ( $counter = $counter + 1 )
+    #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+    #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+    #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
+    #if ( $links.size() > $counter )
+      |
+    #end
+  #end
+#end
+##
+#macro ( breadcrumbs $breadcrumbs )
+  #foreach( $item in $breadcrumbs )
+    #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+    #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+    #if ( ( $currentItemHref == '' ) )
+      #set ( $currentItemHref = './' )
+    #end
+##
+      #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
+      &gt;
+  #end
+  $title
+#end
+##
+#macro ( displayTree $display $item )
+  #if ( $item && $item.items && $item.items.size() > 0 )
+    #foreach( $subitem in $item.items )
+      #set ( $subitemHref = $PathTool.calculateLink( $subitem.href, $relativePath ) )
+      #set ( $subitemHref = $subitemHref.replaceAll( '\\', '/' ) )
+##
+      #if ( $alignedFileName == $subitemHref )
+        #set ( $display = true )
+      #end
+##
+      #displayTree( $display $subitem )
+    #end
+  #end
+#end
+##
+#macro ( menuItem $item )
+  #set ( $collapse = "none" )
+  #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+  #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+##
+  #if ( $item && $item.items && $item.items.size() > 0 )
+    #if ( $item.collapse == false )
+      #set ( $collapse = "expanded" )
+    #else
+      ## By default collapsed
+      #set ( $collapse = "collapsed" )
+    #end
+##
+    #set ( $display = false )
+    #displayTree( $display $item )
+##
+    #if ( $alignedFileName == $currentItemHref || $display )
+      #set ( $collapse = "expanded" )
+    #end
+  #end
+  <li class="$collapse">
+  #if ( $item.img )
+    #if ( $item.position == "left" )
+      #if ( $alignedFileName == $currentItemHref )
+        <strong>#image($item.img $item.alt $item.border $item.width $item.height) $item.name</strong>
+      #else
+        #link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height)
+      #end
+    #else
+      #if ( $alignedFileName == $currentItemHref )
+        <strong>$item.name #image($item.img $item.alt $item.border $item.width $item.height)</strong>
+      #else
+        #link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height)
+      #end
+    #end
+  #else
+    #if ( $alignedFileName == $currentItemHref )
+      <strong>$item.name</strong>
+    #else
+      #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
+    #end
+  #end
+  #if ( $item && $item.items && $item.items.size() > 0 )
+    #if ( $collapse == "expanded" )
+      <ul>
+        #foreach( $subitem in $item.items )
+          #menuItem( $subitem )
+        #end
+      </ul>
+    #end
+  #end
+  </li>
+#end
+##
+#macro ( mainMenu $menus )
+  #foreach( $menu in $menus )
+    #if ( $menu.name )
+      #if ( $menu.img )
+        #if( $menu.position )
+          #set ( $position = $menu.position )
+        #else
+          #set ( $position = "left" )
+        #end
+##
+        #if ( ! ( $menu.img.toLowerCase().startsWith("http:/") || $menu.img.toLowerCase().startsWith("https:/") ||
+                $menu.img.toLowerCase().startsWith("ftp:/") || $menu.img.toLowerCase().startsWith("mailto:/") ||
+                $menu.img.toLowerCase().startsWith("file:/") || ($menu.img.toLowerCase().indexOf("://") != -1) ) )
+          #set ( $src = $PathTool.calculateLink( $menu.img, $relativePath ) )
+          #set ( $src = $src.replaceAll( '\\', '/' ) )
+          #set ( $src = ' src="' + $src + '"' )
+        #else
+          #set ( $src = ' src="' + $menu.img + '"' )
+        #end
+##
+        #if( $menu.alt )
+          #set ( $alt = ' alt="' + $menu.alt + '"' )
+        #else
+          #set ( $alt = ' alt="' + $menu.name + '"' )
+        #end
+##
+        #if( $menu.border )
+          #set ( $border = ' border="' + $menu.border + '"' )
+        #else
+          #set ( $border = ' border="0"' )
+        #end
+##
+        #if( $menu.width )
+          #set ( $width = ' width="' + $menu.width + '"' )
+        #else
+          #set ( $width = "" )
+        #end
+        #if( $menu.height )
+          #set ( $height = ' height="' + $menu.height + '"' )
+        #else
+          #set ( $height = "" )
+        #end
+##
+        #set ( $img = '<img class="imageLink"' + $src + $alt + $border + $width + $height + "/>" )
+##
+        #if ( $position == "left" )
+        <h5>$img $menu.name</h5>
+        #else
+        <h5>$menu.name $img</h5>
+        #end
+      #else
+       <h5>$menu.name</h5>
+      #end
+    #end
+    #if ( $menu.items && $menu.items.size() > 0 )
+    <ul>
+      #foreach( $item in $menu.items )
+        #menuItem( $item )
+      #end
+    </ul>
+    #end
+  #end
+#end
+##
+#macro ( copyright )
+  #if ( $project )
+    #if ( ${project.organization} && ${project.organization.name} )
+      #set ( $period = "" )
+    #else
+      #set ( $period = "." )
+   #end
+##
+   #set ( $currentYear = ${currentDate.year} + 1900 )
+##
+    #if ( ${project.inceptionYear} && ( ${project.inceptionYear} != ${currentYear.toString()} ) )
+      ${project.inceptionYear}-${currentYear}${period}
+    #else
+      ${currentYear}${period}
+    #end
+##
+    #if ( ${project.organization} )
+      #if ( ${project.organization.name} && ${project.organization.url} )
+          <a href="$project.organization.url">${project.organization.name}</a>.
+      #elseif ( ${project.organization.name} )
+        ${project.organization.name}.
+      #end
+    #end
+  #end
+#end
+##
+#macro ( publishDate $position $publishDate $version )
+  #if ( $publishDate && $publishDate.format )
+    #set ( $format = $publishDate.format )
+  #else
+    #set ( $format = "yyyy-MM-dd" )
+  #end
+##
+  $dateFormat.applyPattern( $format )
+##
+  #set ( $dateToday = $dateFormat.format( $currentDate ) )
+##
+  #if ( $publishDate && $publishDate.position )
+    #set ( $datePosition = $publishDate.position )
+  #else
+    #set ( $datePosition = "left" )
+  #end
+##
+  #if ( $version )
+    #if ( $version.position )
+      #set ( $versionPosition = $version.position )
+    #else
+      #set ( $versionPosition = "left" )
+    #end
+  #else
+    #set ( $version = "" )
+    #set ( $versionPosition = "left" )
+  #end
+##
+  #set ( $breadcrumbs = $decoration.body.breadcrumbs )
+  #set ( $links = $decoration.body.links )
+
+  #if ( $datePosition.equalsIgnoreCase( "right" ) && $links && $links.size() > 0 )
+    #set ( $prefix = "&nbsp;|" )
+  #else
+    #set ( $prefix = "" )
+  #end
+##
+  #if ( $datePosition.equalsIgnoreCase( $position ) )
+    #if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( $datePosition.equalsIgnoreCase( "bottom" ) ) )
+      $prefix <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
+      #if ( $versionPosition.equalsIgnoreCase( $position ) )
+        &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+      #end
+    #elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $datePosition.equalsIgnoreCase( "navigation-top" ) ) )
+      <div id="lastPublished">
+        <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
+        #if ( $versionPosition.equalsIgnoreCase( $position ) )
+          &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+        #end
+      </div>
+    #elseif ( $datePosition.equalsIgnoreCase("left") )
+      <div class="xleft">
+        <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
+        #if ( $versionPosition.equalsIgnoreCase( $position ) )
+          &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+        #end
+        #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+          | #breadcrumbs( $breadcrumbs )
+        #end
+      </div>
+    #end
+  #elseif ( $versionPosition.equalsIgnoreCase( $position ) )
+    #if ( ( $versionPosition.equalsIgnoreCase( "right" ) ) || ( $versionPosition.equalsIgnoreCase( "bottom" ) ) )
+      $prefix <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+    #elseif ( ( $versionPosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $versionPosition.equalsIgnoreCase( "navigation-top" ) ) )
+      <div id="lastPublished">
+        <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+      </div>
+    #elseif ( $versionPosition.equalsIgnoreCase("left") )
+      <div class="xleft">
+        <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+        #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+          | #breadcrumbs( $breadcrumbs )
+        #end
+      </div>
+    #end
+  #elseif ( $position.equalsIgnoreCase( "left" ) )
+    #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+      <div class="xleft">
+        #breadcrumbs( $breadcrumbs )
+      </div>
+    #end
+  #end
+#end
+##
+#macro ( poweredByLogo $poweredBy )
+  #if( $poweredBy )
+    #foreach ($item in $poweredBy)
+      #if( $item.href )
+        #set ( $href = $PathTool.calculateLink( $item.href, $relativePath ) )
+        #set ( $href = $href.replaceAll( '\\', '/' ) )
+      #else
+        #set ( $href="http://maven.apache.org/" )
+      #end
+##
+      #if( $item.name )
+        #set ( $name = $item.name )
+      #else
+        #set ( $name = $i18n.getString( "site-renderer", $locale, "template.builtby" )  )
+        #set ( $name = "${name} Maven"  )
+      #end
+##
+      #if( $item.img )
+        #set ( $img = $item.img )
+      #else
+        #set ( $img = "images/logos/maven-feather.png" )
+      #end
+##
+      #if ( ! ( $img.toLowerCase().startsWith("http:/") || $img.toLowerCase().startsWith("https:/") ||
+            $img.toLowerCase().startsWith("ftp:/") || $img.toLowerCase().startsWith("mailto:/") ||
+            $img.toLowerCase().startsWith("file:/") || ($img.toLowerCase().indexOf("://") != -1) ) )
+        #set ( $img = $PathTool.calculateLink( $img, $relativePath ) )
+        #set ( $img = $img.replaceAll( '\\', '/' ) )
+      #end
+##
+      #if( $item.alt )
+        #set ( $alt = ' alt="' + $item.alt + '"' )
+      #else
+        #set ( $alt = ' alt="' + $name + '"' )
+      #end
+##
+      #if( $item.border )
+        #set ( $border = ' border="' + $item.border + '"' )
+      #else
+        #set ( $border = "" )
+      #end
+##
+      #if( $item.width )
+        #set ( $width = ' width="' + $item.width + '"' )
+      #else
+        #set ( $width = "" )
+      #end
+      #if( $item.height )
+        #set ( $height = ' height="' + $item.height + '"' )
+      #else
+        #set ( $height = "" )
+      #end
+##
+      <a href="$href" title="$name" class="poweredBy">
+        <img class="poweredBy" $alt src="$img" $border $width $height />
+      </a>
+    #end
+    #if( $poweredBy.isEmpty() )
+      <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" class="poweredBy">
+        <img class="poweredBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" />
+      </a>
+    #end
+  #else
+    <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" class="poweredBy">
+      <img class="poweredBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" />
+    </a>
+  #end
+#end
+##
+#macro ( googleAnalytics $accountId )
+  #if( $accountId && $accountId != "" )
+    <!-- Google Analytics -->
+    <script type="text/javascript">
+    
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', '$accountId']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+  #end
+#end
+##
+<html xmlns="http://www.w3.org/1999/xhtml"#if ( $locale ) xml:lang="$locale.language" lang="$locale.language"#end>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=${outputEncoding}" />
+    <title>$title</title>
+    <style type="text/css" media="all">
+      @import url("$relativePath/css/maven-base.css");
+      @import url("$relativePath/css/maven-theme.css");
+      @import url("$relativePath/css/site.css");
+    </style>
+    <link rel="stylesheet" href="$relativePath/css/print.css" type="text/css" media="print" />
+#foreach( $author in $authors )
+      <meta name="author" content="$author" />
+#end
+#if ( $dateCreation )
+    <meta name="Date-Creation-yyyymmdd" content="$dateCreation" />
+#end
+#if ( $dateRevision )
+    <meta name="Date-Revision-yyyymmdd" content="$dateRevision" />
+#end
+#if ( $locale )
+    <meta http-equiv="Content-Language" content="$locale.language" />
+#end
+    #if ( $decoration.body.head )
+      #foreach( $item in $decoration.body.head.getChildren() )
+        ## Workaround for DOXIA-150 due to a non-desired behaviour in p-u
+        ## @see org.codehaus.plexus.util.xml.Xpp3Dom#toString()
+        ## @see org.codehaus.plexus.util.xml.Xpp3Dom#toUnescapedString()
+        #set ( $documentHeader = '<?xml version="1.0" encoding="UTF-8"?>' )
+        #if ( $item.name == "script" )
+          $StringUtils.replace( $item.toUnescapedString(), $documentHeader, "" )
+        #else
+          $StringUtils.replace( $item.toString(), $documentHeader, "" )
+        #end
+      #end
+    #end
+    $headContent
+    #googleAnalytics( $decoration.googleAnalyticsAccountId )
+  </head>
+  <body class="composite">
+    <div id="banner">
+      #banner( $decoration.bannerLeft "bannerLeft" )
+      #banner( $decoration.bannerRight "bannerRight" )
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+      #publishDate( "left" $decoration.publishDate $decoration.version )
+      <div class="xright">#links( $decoration.body.links )#publishDate( "right" $decoration.publishDate $decoration.version )</div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+       #publishDate( "navigation-top" $decoration.publishDate $decoration.version )
+       #mainMenu( $decoration.body.menus )
+       #poweredByLogo( $decoration.poweredBy )
+       #publishDate( "navigation-bottom" $decoration.publishDate $decoration.version )
+      </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        $bodyContent
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+        <div class="xright">Copyright &#169;#copyright()#publishDate( "bottom" $decoration.publishDate $decoration.version ) Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div><br />
+        <div class="xright">Apache log4php, Apache, log4php, the Apache feather logo, the Apache Logging Services project logo and the Built by Maven logo are trademarks of The Apache Software Foundation.</div>
+        <div class="clear">
+      </div>
+    </div>
+  </body>
+</html>