| <!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 ™</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 ©#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> |