blob: 838155ee8e88de22e0fdf8469a89d59ec19be12b [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia#if( $doxiaVersion ) $doxiaVersion#end at $dateFormat.format( $currentDate )
| Rendered using Apache Maven Fluido Skin 1.3.0
-->
##
##
## Special processing:
## - allows relative URLs to be processed by the template by removing http://dummy.invalid/ from the start of any URL
## - resolves $relativePath in banner and head elements
## - allows absolute URLs in banner elements by removing '.remove.invalid' from hrefs
## - adds <custom><footer> content after Copyright, replacing @project.name@ with current ${project.name}
## i.e. delays resolution of the Maven variable so it is processed in the current site context, not wherever
## site.xml is located.
## - add trademark overlay if the POM property banner[Left|Right]TradePos is defined - should be a style value.
##Following is currently disabled:
## - add trademark overlay if <custom><bannerLeft|Right><tradePos> is defined, using the value as the style
##
## Resolve relativePath in context of current project
#set ( $dummy = 'http://dummy.invalid/' )
#set ( $dummylen = $dummy.length() )
#macro ( relreplace $text )
## Workround to allow site.xml to use $relativePath in URLs
#if ( $text.startsWith($dummy) )#set ( $text = $text.substring($dummylen) )#end
$StringUtils.replace( $text, '$relativePath', $relativePath )##
#end
##
## Remove extraneous header from custom entries
## See DOXIA-150
#set ( $documentHeader = '<?xml version="1.0" encoding="UTF-8"?>' )
#macro ( removeheader $text )
#set ( $text = $StringUtils.replace( $text, $documentHeader, '' ) )
#end
##
#macro ( removeDuplicateApacheName $text )
#set ( $text = $StringUtils.replace( $text, 'Apache Apache', 'Apache' ) )
#end
##
#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 $class )
#if ( $banner )
#if( $banner.href )
#set ( $hrf = $banner.href.replace('.remove.invalid' ,'') )
#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 = ' alt="' + $banner.alt + '"' )
#elseif ( $banner.name )
#set ( $alt = ' alt="' + $banner.name + '"' )
#else
#set ( $alt = "" )
#end
#if( $banner.border )
#set ( $imgBorder = ' border="' + $banner.border + '"' )
#else
#set ( $imgBorder = "" )
#end
#if( $banner.width )
#set ( $imgWidth = ' width="' + $banner.width + '"' )
#else
#set ( $imgWidth = "" )
#end
#if( $banner.height )
#set ( $imgHeight = ' height="' + $banner.height + '"' )
#else
#set ( $imgHeight = "" )
#end
<img class="$class" src="#relreplace($src)" $alt$imgBorder$imgWidth$imgHeight/>
#else
<h2>$banner.name</h2>
#end
##
#if( $banner.href )
</a>
#else
</div>
#end
#end
#end
##
#macro ( links $links )
<ul class="nav">
#set ( $counter = 0 )
#foreach( $item in $links )
#set ( $counter = $counter + 1 )
#set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
#set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
#set ( $activeClass = "" )
#if ( $alignedFileName == $currentItemHref)
#set ( $activeClass = ' class="active"' )
#end
<li$activeClass>
#link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
</li>
#end
</ul>
#end
##
#macro ( breadcrumbs $breadcrumbs $cssClass )
#foreach( $item in $breadcrumbs )
#set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
#set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
#if ( ( $currentItemHref == '' ) )
#set ( $currentItemHref = './' )
#end
##
<li class="$cssClass">
#link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
</li>
<li class="divider $cssClass">/</li>
#end
#if ( $shortTitle )
<li class="$cssClass">$shortTitle</li>
#else
<li class="$cssClass">$title</li>
#end
#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 $isComponentDocumentation )
#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
#set ( $active = "" )
#if ( $alignedFileName == $currentItemHref )
#set ($active = " active")
#end
#set ( $thisProjectDir = "../${project.artifactId}" )
#if ($thisProjectDir == $PathTool.getDirectoryComponent( $item.href ))
#set ($active = " active")
#end
#if (${project.artifactId} != "log4j" && $isComponentDocumentation &&
($item.href == "team-list.html" || $item.href == "mail-lists.html"
|| $item.href == "issue-tracking.html" || $item.href == "license.html"
|| $item.href == "source-repository.html"))
<!-- Removing overall project item $item.name from component-specific menu -->
#else
<li class="$collapse$active">
#link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
#if ( $item && $item.items && $item.items.size() > 0 )
#if ( $collapse == "expanded" )
<ul>
#foreach( $subitem in $item.items )
#menuItem( $subitem $isComponentDocumentation )
#end
</ul>
#end
#end
</li>
#end
#end
##
#macro ( mainMenu $menus )
#foreach( $menu in $menus )
<ul class="nav nav-list">
#set ($isComponentDocumentation = false)
#if ( $menu.name )
#set ( $menuName = $menu.name )
#if ( $menuName == $title )
#set ( $menu.img = "icon-home" )
#elseif ( $menuName == "Project Documentation" )
#set ( $menu.img = "icon-info-sign" )
#elseif ( $menuName == "Development" )
#set ( $menu.img = "icon-cog" )
#elseif ( $menuName == "User Guide" )
#set ( $menu.img = "icon-book" )
#end
#if ( $menu.img )
<li class="nav-header"><i class="$menu.img"></i>$menuName</li>
#else
<li class="nav-header">$menuName</li>
#end
#end
#if ( $menu.items && $menu.items.size() > 0 )
#foreach( $item in $menu.items )
#menuItem( $item $isComponentDocumentation )
#end
#end
</ul>
#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 $decorationPublishDate $version )
#if ( $decorationPublishDate && $decorationPublishDate.format )
#set ( $format = $decorationPublishDate.format )
#else
#set ( $format = "yyyy-MM-dd" )
#end
##
$dateFormat.applyPattern( $format )
##
#if ( $publishDate )
#set ( $dateValue = $dateFormat.format( $publishDate ) )
#elseif ( $decoration.custom.getChild( 'publishDate' ) )
#set ( $dateValue = $decoration.custom.getChild( 'publishDate' ).getValue() )
#else
#set ( $dateValue = $dateFormat.format( $currentDate ) )
#end
##
#if ( $decorationPublishDate && $decorationPublishDate.position )
#set ( $datePosition = $decorationPublishDate.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" ) && $versionPosition.equalsIgnoreCase( "right" ) )
#set ( $prefix = '<li class="divider pull-right">|</li>' )
#else
#set ( $prefix = "" )
#end
##
#if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( $datePosition.equalsIgnoreCase( "bottom" ) ) )
<li id="publishDate" class="pull-right">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</li> $prefix
<li id="projectVersion" class="pull-right">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</li>
#elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $datePosition.equalsIgnoreCase( "navigation-top" ) ) )
<div id="lastPublished">
<span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</span>
<span class="divider">|</span> <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
</div>
#elseif ( $datePosition.equalsIgnoreCase("left") )
<li id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</li>
<li class="divider">|</li> <li id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</li>
#end
#end
##
#macro ( builtByLogo $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="builtBy">
<img class="builtBy" $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="builtBy" 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="builtBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" />
</a>
#end
#end
##
#macro ( forkMeOnGitHub )
#if ( $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'gitHub' )
&& $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'gitHub' ).getChild( 'projectId' ) )
#set ( $gitHubProjectId = $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'gitHub' ).getChild( 'projectId' ).getValue() )
#set ( $leftRibbon = { "red" : "forkme_left_red_aa0000.png", "green" : "forkme_left_green_007200.png", "black" : "forkme_left_darkblue_121621.png", "darkblue" : "forkme_left_darkblue_121621.png", "orange" : "forkme_left_orange_ff7600.png", "gray" : "forkme_left_gray_6d6d6d.png" } )
#set ( $rightRibbon = { "red" : "forkme_right_red_aa0000.png", "green" : "forkme_right_green_007200.png", "black" : "forkme_right_darkblue_121621.png", "darkblue" : "forkme_right_darkblue_121621.png", "orange" : "forkme_right_orange_ff7600.png", "gray" : "forkme_right_gray_6d6d6d.png" } )
#set ( $ribbon = $leftRibbon )
#set ( $ribbonOrientation = 'left' )
#set ( $definedRibbonOrientation = $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'gitHub' ).getChild( 'ribbonOrientation' ) )
#if ( $definedRibbonOrientation && $definedRibbonOrientation.getValue().equalsIgnoreCase( "right" ) )
#set ( $ribbonOrientation = 'right' )
#set ( $ribbon = $rightRibbon )
#end
#set ( $ribbonColor = 'red' )
#set ( $definedRibbonColor = $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'gitHub' ).getChild( 'ribbonColor' ) )
#if ( $definedRibbonColor
&& ( $definedRibbonColor.getValue().equalsIgnoreCase( "red" )
|| $definedRibbonColor.getValue().equalsIgnoreCase( "green" )
|| $definedRibbonColor.getValue().equalsIgnoreCase( "black" )
|| $definedRibbonColor.getValue().equalsIgnoreCase( "orange" )
|| $definedRibbonColor.getValue().equalsIgnoreCase( "gray" ) ) )
#set ( $ribbonColor = $definedRibbonColor.getValue().toLowerCase() )
#end
<a href="http://github.com/$gitHubProjectId">
<img style="position: absolute; top: 0; $ribbonOrientation: 0; border: 0; z-index: 10000;"
src="https://s3.amazonaws.com/github/ribbons/$ribbon.get( $ribbonColor )"
alt="Fork me on GitHub">
</a>
#end
#end
##
<html xmlns="http://www.w3.org/1999/xhtml"#if ( $locale ) xml:lang="$locale.language" lang="$locale.language"#end>
<head>
<meta charset="${outputEncoding}" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
## put meta together
#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
<title>$title</title>
<link rel="stylesheet" href="$relativePath/css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="$relativePath/css/site.css" type="text/css" />
<link rel="stylesheet" href="$relativePath/css/print.css" media="print" />
<script type="text/javascript" src="$relativePath/js/jquery.min.js"></script>
<script type="text/javascript" src="$relativePath/js/bootstrap.min.js"></script>
<script type="text/javascript" src="$relativePath/js/prettify.min.js"></script>
<script type="text/javascript" src="$relativePath/js/site.js"></script>
#if ( $decoration.body.head )
#foreach( $item in $decoration.body.head.getChildren() )
#set ( $head = $item.toString().trim() )
#set ( $documentHeader = '<?xml version="1.0" encoding="UTF-8"?>' )
#if ( $item.name == "script" )
#relreplace( $StringUtils.replace( $item.toUnescapedString(), $documentHeader, "" ) )
#else
#relreplace( $StringUtils.replace( $item.toString(), $documentHeader, "" ) )
#end
#end
#end
#if( $headContent )$headContent#end
</head>
<body class="composite">
#banner( $decoration.bannerLeft "bannerLeft" "logo-left" )
#banner( $decoration.bannerRight "bannerRight" "logo-right" )
<div class="clear"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand" href="$project.url">$project.name &trade;</a>
<ul class="nav">#publishDate( "navigation-top" $decoration.publishDate $decoration.version )</ul>
<div class="pull-right">#links( $decoration.body.links )</div>
</div>
</div>
</div>
<div class="container-fluid">
<table class="layout-table">
<tr>
<td class="sidebar">
<div class="well sidebar-nav">
#mainMenu( $decoration.body.menus )
</div>
<div id="poweredBy">
#builtByLogo( $decoration.poweredBy )
</div>
</td>
<td class="content">
$bodyContent
</td>
</tr>
</table>
</div>
<div class="footer">
<p>Copyright &copy;#copyright()All Rights Reserved.</p>
#if ( $decoration.custom.getChild("footer") )
#foreach( $item in $decoration.custom.getChild("footer").getChildren() )
#set ( $foot = $item.toString().trim() )
#removeheader ( $foot )
#set ( $foot = $StringUtils.replace( $foot, '@project.name@', ${project.name} ) )
#removeDuplicateApacheName ( $foot )
$foot
#end
#end
</div>
</body>
</html>