site.vm 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <!-- Generated by Apache Maven Doxia at $dateFormat.format( $currentDate ) -->
  3. #macro ( link $href $name $target $img $position $alt $border $width $height )
  4. #set ( $linkTitle = ' title="' + $name + '"' )
  5. #if( $target )
  6. #set ( $linkTarget = ' target="' + $target + '"' )
  7. #else
  8. #set ( $linkTarget = "" )
  9. #end
  10. #if ( $href.toLowerCase().startsWith("http:/") || $href.toLowerCase().startsWith("https:/") ||
  11. $href.toLowerCase().startsWith("ftp:/") || $href.toLowerCase().startsWith("mailto:/") ||
  12. $href.toLowerCase().startsWith("file:/") || ($href.toLowerCase().indexOf("://") != -1) )
  13. #set ( $linkClass = ' class="externalLink"' )
  14. #else
  15. #set ( $linkClass = "" )
  16. #end
  17. #if ( $img )
  18. #if ( $position == "left" )
  19. <a href="$href"$linkClass$linkTarget$linkTitle>#image($img $alt $border $width $height)$name</a>
  20. #else
  21. <a href="$href"$linkClass$linkTarget$linkTitle>$name #image($img $alt $border $width $height)</a>
  22. #end
  23. #else
  24. <a href="$href"$linkClass$linkTarget$linkTitle>$name</a>
  25. #end
  26. #end
  27. ##
  28. #macro ( image $img $alt $border $width $height )
  29. #if( $img )
  30. #if ( ! ( $img.toLowerCase().startsWith("http:/") || $img.toLowerCase().startsWith("https:/") ||
  31. $img.toLowerCase().startsWith("ftp:/") || $img.toLowerCase().startsWith("mailto:/") ||
  32. $img.toLowerCase().startsWith("file:/") || ($img.toLowerCase().indexOf("://") != -1) ) )
  33. #set ( $imgSrc = $PathTool.calculateLink( $img, $relativePath ) )
  34. #set ( $imgSrc = $imgSrc.replaceAll( '\\', '/' ) )
  35. #set ( $imgSrc = ' src="' + $imgSrc + '"' )
  36. #else
  37. #set ( $imgSrc = ' src="' + $img + '"' )
  38. #end
  39. #if( $alt )
  40. #set ( $imgAlt = ' alt="' + $alt + '"' )
  41. #else
  42. #set ( $imgAlt = ' alt=""' )
  43. #end
  44. #if( $border )
  45. #set ( $imgBorder = ' border="' + $border + '"' )
  46. #else
  47. #set ( $imgBorder = "" )
  48. #end
  49. #if( $width )
  50. #set ( $imgWidth = ' width="' + $width + '"' )
  51. #else
  52. #set ( $imgWidth = "" )
  53. #end
  54. #if( $height )
  55. #set ( $imgHeight = ' height="' + $height + '"' )
  56. #else
  57. #set ( $imgHeight = "" )
  58. #end
  59. <img class="imageLink"$imgSrc$imgAlt$imgBorder$imgWidth$imgHeight/>
  60. #end
  61. #end
  62. #macro ( banner $banner $id )
  63. #if ( $banner )
  64. #if( $banner.href )
  65. #set ( $hrf = $banner.href )
  66. #if ( ! ( $hrf.toLowerCase().startsWith("http:/") || $hrf.toLowerCase().startsWith("https:/") ||
  67. $hrf.toLowerCase().startsWith("ftp:/") || $hrf.toLowerCase().startsWith("mailto:/") ||
  68. $hrf.toLowerCase().startsWith("file:/") || ($hrf.toLowerCase().indexOf("://") != -1) ) )
  69. #set ( $hrf = $PathTool.calculateLink( $hrf, $relativePath ) )
  70. #set ( $hrf = $hrf.replaceAll( '\\', '/' ) )
  71. #if ( ( $hrf == '' ) )
  72. #set ( $hrf = './' )
  73. #end
  74. #end
  75. <a href="$hrf" id="$id"#if( $banner.alt ) title="$banner.alt"#end>
  76. #else
  77. <div id="$id">
  78. #end
  79. ##
  80. #if( $banner.src )
  81. #set ( $src = $banner.src )
  82. #if ( ! ( $src.toLowerCase().startsWith("http:/") || $src.toLowerCase().startsWith("https:/") ||
  83. $src.toLowerCase().startsWith("ftp:/") || $src.toLowerCase().startsWith("mailto:/") ||
  84. $src.toLowerCase().startsWith("file:/") || ($src.toLowerCase().indexOf("://") != -1) ) )
  85. #set ( $src = $PathTool.calculateLink( $src, $relativePath ) )
  86. #set ( $src = $src.replaceAll( '\\', '/' ) )
  87. #end
  88. #if ( $banner.alt )
  89. #set ( $alt = $banner.alt )
  90. #else
  91. #set ( $alt = $banner.name )
  92. #end
  93. <img src="$src" alt="$alt" />
  94. #else
  95. $banner.name
  96. #end
  97. ##
  98. #if( $banner.href )
  99. </a>
  100. #else
  101. </div>
  102. #end
  103. #end
  104. #end
  105. ##
  106. #macro ( links $links )
  107. #set ( $counter = 0 )
  108. #foreach( $item in $links )
  109. #set ( $counter = $counter + 1 )
  110. #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
  111. #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
  112. #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
  113. #if ( $links.size() > $counter )
  114. |
  115. #end
  116. #end
  117. #end
  118. ##
  119. #macro ( breadcrumbs $breadcrumbs )
  120. #foreach( $item in $breadcrumbs )
  121. #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
  122. #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
  123. #if ( ( $currentItemHref == '' ) )
  124. #set ( $currentItemHref = './' )
  125. #end
  126. ##
  127. #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
  128. &gt;
  129. #end
  130. $title
  131. #end
  132. ##
  133. #macro ( displayTree $display $item )
  134. #if ( $item && $item.items && $item.items.size() > 0 )
  135. #foreach( $subitem in $item.items )
  136. #set ( $subitemHref = $PathTool.calculateLink( $subitem.href, $relativePath ) )
  137. #set ( $subitemHref = $subitemHref.replaceAll( '\\', '/' ) )
  138. ##
  139. #if ( $alignedFileName == $subitemHref )
  140. #set ( $display = true )
  141. #end
  142. ##
  143. #displayTree( $display $subitem )
  144. #end
  145. #end
  146. #end
  147. ##
  148. #macro ( menuItem $item )
  149. #set ( $collapse = "none" )
  150. #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
  151. #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
  152. ##
  153. #if ( $item && $item.items && $item.items.size() > 0 )
  154. #if ( $item.collapse == false )
  155. #set ( $collapse = "expanded" )
  156. #else
  157. ## By default collapsed
  158. #set ( $collapse = "collapsed" )
  159. #end
  160. ##
  161. #set ( $display = false )
  162. #displayTree( $display $item )
  163. ##
  164. #if ( $alignedFileName == $currentItemHref || $display )
  165. #set ( $collapse = "expanded" )
  166. #end
  167. #end
  168. <li class="$collapse">
  169. #if ( $item.img )
  170. #if ( $item.position == "left" )
  171. #if ( $alignedFileName == $currentItemHref )
  172. <strong>#image($item.img $item.alt $item.border $item.width $item.height) $item.name</strong>
  173. #else
  174. #link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height)
  175. #end
  176. #else
  177. #if ( $alignedFileName == $currentItemHref )
  178. <strong>$item.name #image($item.img $item.alt $item.border $item.width $item.height)</strong>
  179. #else
  180. #link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height)
  181. #end
  182. #end
  183. #else
  184. #if ( $alignedFileName == $currentItemHref )
  185. <strong>$item.name</strong>
  186. #else
  187. #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
  188. #end
  189. #end
  190. #if ( $item && $item.items && $item.items.size() > 0 )
  191. #if ( $collapse == "expanded" )
  192. <ul>
  193. #foreach( $subitem in $item.items )
  194. #menuItem( $subitem )
  195. #end
  196. </ul>
  197. #end
  198. #end
  199. </li>
  200. #end
  201. ##
  202. #macro ( mainMenu $menus )
  203. #foreach( $menu in $menus )
  204. #if ( $menu.name )
  205. #if ( $menu.img )
  206. #if( $menu.position )
  207. #set ( $position = $menu.position )
  208. #else
  209. #set ( $position = "left" )
  210. #end
  211. ##
  212. #if ( ! ( $menu.img.toLowerCase().startsWith("http:/") || $menu.img.toLowerCase().startsWith("https:/") ||
  213. $menu.img.toLowerCase().startsWith("ftp:/") || $menu.img.toLowerCase().startsWith("mailto:/") ||
  214. $menu.img.toLowerCase().startsWith("file:/") || ($menu.img.toLowerCase().indexOf("://") != -1) ) )
  215. #set ( $src = $PathTool.calculateLink( $menu.img, $relativePath ) )
  216. #set ( $src = $src.replaceAll( '\\', '/' ) )
  217. #set ( $src = ' src="' + $src + '"' )
  218. #else
  219. #set ( $src = ' src="' + $menu.img + '"' )
  220. #end
  221. ##
  222. #if( $menu.alt )
  223. #set ( $alt = ' alt="' + $menu.alt + '"' )
  224. #else
  225. #set ( $alt = ' alt="' + $menu.name + '"' )
  226. #end
  227. ##
  228. #if( $menu.border )
  229. #set ( $border = ' border="' + $menu.border + '"' )
  230. #else
  231. #set ( $border = ' border="0"' )
  232. #end
  233. ##
  234. #if( $menu.width )
  235. #set ( $width = ' width="' + $menu.width + '"' )
  236. #else
  237. #set ( $width = "" )
  238. #end
  239. #if( $menu.height )
  240. #set ( $height = ' height="' + $menu.height + '"' )
  241. #else
  242. #set ( $height = "" )
  243. #end
  244. ##
  245. #set ( $img = '<img class="imageLink"' + $src + $alt + $border + $width + $height + "/>" )
  246. ##
  247. #if ( $position == "left" )
  248. <h5>$img $menu.name</h5>
  249. #else
  250. <h5>$menu.name $img</h5>
  251. #end
  252. #else
  253. <h5>$menu.name</h5>
  254. #end
  255. #end
  256. #if ( $menu.items && $menu.items.size() > 0 )
  257. <ul>
  258. #foreach( $item in $menu.items )
  259. #menuItem( $item )
  260. #end
  261. </ul>
  262. #end
  263. #end
  264. #end
  265. ##
  266. #macro ( copyright )
  267. #if ( $project )
  268. #if ( ${project.organization} && ${project.organization.name} )
  269. #set ( $period = "" )
  270. #else
  271. #set ( $period = "." )
  272. #end
  273. ##
  274. #set ( $currentYear = ${currentDate.year} + 1900 )
  275. ##
  276. #if ( ${project.inceptionYear} && ( ${project.inceptionYear} != ${currentYear.toString()} ) )
  277. ${project.inceptionYear}-${currentYear}${period}
  278. #else
  279. ${currentYear}${period}
  280. #end
  281. ##
  282. #if ( ${project.organization} )
  283. #if ( ${project.organization.name} && ${project.organization.url} )
  284. <a href="$project.organization.url">${project.organization.name}</a>.
  285. #elseif ( ${project.organization.name} )
  286. ${project.organization.name}.
  287. #end
  288. #end
  289. #end
  290. #end
  291. ##
  292. #macro ( publishDate $position $publishDate $version )
  293. #if ( $publishDate && $publishDate.format )
  294. #set ( $format = $publishDate.format )
  295. #else
  296. #set ( $format = "yyyy-MM-dd" )
  297. #end
  298. ##
  299. $dateFormat.applyPattern( $format )
  300. ##
  301. #set ( $dateToday = $dateFormat.format( $currentDate ) )
  302. ##
  303. #if ( $publishDate && $publishDate.position )
  304. #set ( $datePosition = $publishDate.position )
  305. #else
  306. #set ( $datePosition = "left" )
  307. #end
  308. ##
  309. #if ( $version )
  310. #if ( $version.position )
  311. #set ( $versionPosition = $version.position )
  312. #else
  313. #set ( $versionPosition = "left" )
  314. #end
  315. #else
  316. #set ( $version = "" )
  317. #set ( $versionPosition = "left" )
  318. #end
  319. ##
  320. #set ( $breadcrumbs = $decoration.body.breadcrumbs )
  321. #set ( $links = $decoration.body.links )
  322. #if ( $datePosition.equalsIgnoreCase( "right" ) && $links && $links.size() > 0 )
  323. #set ( $prefix = "&nbsp;|" )
  324. #else
  325. #set ( $prefix = "" )
  326. #end
  327. ##
  328. #if ( $datePosition.equalsIgnoreCase( $position ) )
  329. #if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( $datePosition.equalsIgnoreCase( "bottom" ) ) )
  330. $prefix <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
  331. #if ( $versionPosition.equalsIgnoreCase( $position ) )
  332. &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
  333. #end
  334. #elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $datePosition.equalsIgnoreCase( "navigation-top" ) ) )
  335. <div id="lastPublished">
  336. <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
  337. #if ( $versionPosition.equalsIgnoreCase( $position ) )
  338. &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
  339. #end
  340. </div>
  341. #elseif ( $datePosition.equalsIgnoreCase("left") )
  342. <div class="xleft">
  343. <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
  344. #if ( $versionPosition.equalsIgnoreCase( $position ) )
  345. &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
  346. #end
  347. #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
  348. | #breadcrumbs( $breadcrumbs )
  349. #end
  350. </div>
  351. #end
  352. #elseif ( $versionPosition.equalsIgnoreCase( $position ) )
  353. #if ( ( $versionPosition.equalsIgnoreCase( "right" ) ) || ( $versionPosition.equalsIgnoreCase( "bottom" ) ) )
  354. $prefix <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
  355. #elseif ( ( $versionPosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $versionPosition.equalsIgnoreCase( "navigation-top" ) ) )
  356. <div id="lastPublished">
  357. <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
  358. </div>
  359. #elseif ( $versionPosition.equalsIgnoreCase("left") )
  360. <div class="xleft">
  361. <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
  362. #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
  363. | #breadcrumbs( $breadcrumbs )
  364. #end
  365. </div>
  366. #end
  367. #elseif ( $position.equalsIgnoreCase( "left" ) )
  368. #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
  369. <div class="xleft">
  370. #breadcrumbs( $breadcrumbs )
  371. </div>
  372. #end
  373. #end
  374. #end
  375. ##
  376. #macro ( poweredByLogo $poweredBy )
  377. #if( $poweredBy )
  378. #foreach ($item in $poweredBy)
  379. #if( $item.href )
  380. #set ( $href = $PathTool.calculateLink( $item.href, $relativePath ) )
  381. #set ( $href = $href.replaceAll( '\\', '/' ) )
  382. #else
  383. #set ( $href="http://maven.apache.org/" )
  384. #end
  385. ##
  386. #if( $item.name )
  387. #set ( $name = $item.name )
  388. #else
  389. #set ( $name = $i18n.getString( "site-renderer", $locale, "template.builtby" ) )
  390. #set ( $name = "${name} Maven" )
  391. #end
  392. ##
  393. #if( $item.img )
  394. #set ( $img = $item.img )
  395. #else
  396. #set ( $img = "images/logos/maven-feather.png" )
  397. #end
  398. ##
  399. #if ( ! ( $img.toLowerCase().startsWith("http:/") || $img.toLowerCase().startsWith("https:/") ||
  400. $img.toLowerCase().startsWith("ftp:/") || $img.toLowerCase().startsWith("mailto:/") ||
  401. $img.toLowerCase().startsWith("file:/") || ($img.toLowerCase().indexOf("://") != -1) ) )
  402. #set ( $img = $PathTool.calculateLink( $img, $relativePath ) )
  403. #set ( $img = $img.replaceAll( '\\', '/' ) )
  404. #end
  405. ##
  406. #if( $item.alt )
  407. #set ( $alt = ' alt="' + $item.alt + '"' )
  408. #else
  409. #set ( $alt = ' alt="' + $name + '"' )
  410. #end
  411. ##
  412. #if( $item.border )
  413. #set ( $border = ' border="' + $item.border + '"' )
  414. #else
  415. #set ( $border = "" )
  416. #end
  417. ##
  418. #if( $item.width )
  419. #set ( $width = ' width="' + $item.width + '"' )
  420. #else
  421. #set ( $width = "" )
  422. #end
  423. #if( $item.height )
  424. #set ( $height = ' height="' + $item.height + '"' )
  425. #else
  426. #set ( $height = "" )
  427. #end
  428. ##
  429. <a href="$href" title="$name" class="poweredBy">
  430. <img class="poweredBy" $alt src="$img" $border $width $height />
  431. </a>
  432. #end
  433. #if( $poweredBy.isEmpty() )
  434. <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" class="poweredBy">
  435. <img class="poweredBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" />
  436. </a>
  437. #end
  438. #else
  439. <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" class="poweredBy">
  440. <img class="poweredBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" />
  441. </a>
  442. #end
  443. #end
  444. ##
  445. #macro ( googleAnalytics $accountId )
  446. #if( $accountId && $accountId != "" )
  447. <!-- Google Analytics -->
  448. <script type="text/javascript">
  449. var _gaq = _gaq || [];
  450. _gaq.push(['_setAccount', '$accountId']);
  451. _gaq.push(['_trackPageview']);
  452. (function() {
  453. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  454. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  455. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  456. })();
  457. </script>
  458. #end
  459. #end
  460. ##
  461. <html xmlns="http://www.w3.org/1999/xhtml"#if ( $locale ) xml:lang="$locale.language" lang="$locale.language"#end>
  462. <head>
  463. <meta http-equiv="Content-Type" content="text/html; charset=${outputEncoding}" />
  464. <title>$title</title>
  465. <style type="text/css" media="all">
  466. @import url("$relativePath/css/maven-base.css");
  467. @import url("$relativePath/css/maven-theme.css");
  468. @import url("$relativePath/css/site.css");
  469. </style>
  470. <link rel="stylesheet" href="$relativePath/css/print.css" type="text/css" media="print" />
  471. #foreach( $author in $authors )
  472. <meta name="author" content="$author" />
  473. #end
  474. #if ( $dateCreation )
  475. <meta name="Date-Creation-yyyymmdd" content="$dateCreation" />
  476. #end
  477. #if ( $dateRevision )
  478. <meta name="Date-Revision-yyyymmdd" content="$dateRevision" />
  479. #end
  480. #if ( $locale )
  481. <meta http-equiv="Content-Language" content="$locale.language" />
  482. #end
  483. #if ( $decoration.body.head )
  484. #foreach( $item in $decoration.body.head.getChildren() )
  485. ## Workaround for DOXIA-150 due to a non-desired behaviour in p-u
  486. ## @see org.codehaus.plexus.util.xml.Xpp3Dom#toString()
  487. ## @see org.codehaus.plexus.util.xml.Xpp3Dom#toUnescapedString()
  488. #set ( $documentHeader = '<?xml version="1.0" encoding="UTF-8"?>' )
  489. #if ( $item.name == "script" )
  490. $StringUtils.replace( $item.toUnescapedString(), $documentHeader, "" )
  491. #else
  492. $StringUtils.replace( $item.toString(), $documentHeader, "" )
  493. #end
  494. #end
  495. #end
  496. $headContent
  497. #googleAnalytics( $decoration.googleAnalyticsAccountId )
  498. </head>
  499. <body class="composite">
  500. <div id="banner">
  501. #banner( $decoration.bannerLeft "bannerLeft" )
  502. #banner( $decoration.bannerRight "bannerRight" )
  503. <div class="clear">
  504. <hr/>
  505. </div>
  506. </div>
  507. <div id="breadcrumbs">
  508. #publishDate( "left" $decoration.publishDate $decoration.version )
  509. <div class="xright">#links( $decoration.body.links )#publishDate( "right" $decoration.publishDate $decoration.version )</div>
  510. <div class="clear">
  511. <hr/>
  512. </div>
  513. </div>
  514. <div id="leftColumn">
  515. <div id="navcolumn">
  516. #publishDate( "navigation-top" $decoration.publishDate $decoration.version )
  517. #mainMenu( $decoration.body.menus )
  518. #poweredByLogo( $decoration.poweredBy )
  519. #publishDate( "navigation-bottom" $decoration.publishDate $decoration.version )
  520. </div>
  521. </div>
  522. <div id="bodyColumn">
  523. <div id="contentBox">
  524. $bodyContent
  525. </div>
  526. </div>
  527. <div class="clear">
  528. <hr/>
  529. </div>
  530. <div id="footer">
  531. <div class="xright">
  532. <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 />
  533. <div class="xright">Apache log4net, Apache, log4net, the Apache feather logo, the Apache Logging Services project logo and the Built by Maven logo are trademarks of The Apache Software Foundation.</div>
  534. <div class="clear">
  535. </div>
  536. </div>
  537. </body>
  538. </html>