HBASE-12688 Update site with a bootstrap-based UI

This commit is contained in:
Nick Dimiduk 2014-12-16 18:50:49 -08:00
parent 5b5c981d95
commit 13970bfa5a
3 changed files with 39 additions and 565 deletions

13
pom.xml
View File

@ -957,12 +957,23 @@
<artifactId>wagon-ssh</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<!-- required for reflow skin (http://andriusvelykis.github.io/reflow-maven-skin/) -->
<groupId>lt.velykis.maven.skins</groupId>
<artifactId>reflow-velocity-tools</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<!-- velocity explicitly required by reflow-maven-skin -->
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
<configuration>
<siteDirectory>${basedir}/src/main/site</siteDirectory>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
<templateFile>${basedir}/src/main/site/site.vm</templateFile>
</configuration>
</plugin>
<plugin>

View File

@ -1,545 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
#*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*#
<!-- 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") ) )
#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") ) )
#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 )
<a href="$banner.href" 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") ) )
#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 )
#set ( $counter = 0 )
#foreach( $item in $breadcrumbs )
#set ( $counter = $counter + 1 )
#set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
#set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
##
#if ( $currentItemHref == $alignedFileName || $currentItemHref == "" )
$item.name
#else
#link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height )
#end
#if ( $breadcrumbs.size() > $counter )
&gt;
#end
#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 )
#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") ) )
#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") ) )
#set ( $img = $PathTool.calculateLink( $img, $relativePath ) )
#set ( $img = $src.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
##
<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" />
<link rel="shortcut icon" href="/images/favicon.ico" />
#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\"?>" )
#set ( $documentHeader = $documentHeader.replaceAll( "\\", "" ) )
#if ( $item.name == "script" )
$StringUtils.replace( $item.toUnescapedString(), $documentHeader, "" )
#else
$StringUtils.replace( $item.toString(), $documentHeader, "" )
#end
#end
#end
## $headContent
<!--Google Analytics-->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-30210968-1']);
_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>
</head>
<body class="composite">
<div id="banner">
#banner( $decoration.bannerLeft "bannerLeft" )
#banner( $decoration.bannerRight "bannerRight" )
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xright" style="padding-left: 8px; margin-top: -4px;">
<form method="GET" action="http://search-hadoop.com/">
<input type="text" style="width: 192px; height: 15px; font-size: inherit; border: 1px solid darkgray" name="q" value="Search wiki, mailing lists & more" onfocus="this.value=''"/>
<input type="hidden" name="fc_project" value="HBase"/>
<button style="height: 20px; width: 60px;">Search</button>
</form>
</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">#publishDate( "right" $decoration.publishDate $decoration.version )&nbsp;
</div>
<div class="xright">Copyright &#169;<a href="http://www.apache.org">#copyright()</a>All Rights Reserved. Apache Hadoop, Hadoop, HDFS, HBase and the HBase project logo are trademarks of the Apache Software Foundation.
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -19,10 +19,24 @@
*/
-->
<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
<skin>
<groupId>lt.velykis.maven.skins</groupId>
<artifactId>reflow-maven-skin</artifactId>
<version>1.1.1</version>
</skin>
<custom>
<reflowSkin>
<theme>bootswatch-spacelab</theme>
<bottomNav maxSpan="9">
<column>Apache HBase Project</column>
<column>^Documentation</column>
<column>0.94 Documentation|ASF</column>
</bottomNav>
</reflowSkin>
</custom>
<bannerLeft>
<name>Apache HBase</name>
<src>images/hbase_logo.png</src>
@ -33,8 +47,6 @@
<src>images/jumping-orca_rotated_25percent.png</src>
<href>http://hbase.apache.org/</href>
</bannerRight>
<version position="right" />
<publishDate position="right" />
<body>
<menu name="Apache HBase Project">
<item name="Overview" href="index.html"/>
@ -51,35 +63,31 @@
<item name="Other resources" href="resources.html" />
</menu>
<menu name="Documentation">
<item name="Getting Started" href="book/quickstart.html" />
<item name="Getting Started" href="book/quickstart.html" />
<item name="User API" href="apidocs/index.html" />
<item name="Developer API" href="devapidocs/index.html" />
<item name="X-Ref" href="xref/index.html" />
<item name="Ref Guide (multi-page)" href="book/book.html" />
<item name="Ref Guide (single-page)" href="book.html" />
<item name="Ref Guide (multi-page)" href="book/book.html" />
<item name="Ref Guide (single-page)" href="book.html" />
<item name="中文参考指南(单页)" href="http://abloz.com/hbase/book.html" />
<item name="FAQ" href="book/faq.html" />
<item name="Videos/Presentations" href="book.html#other.info" />
<item name="Wiki" href="http://wiki.apache.org/hadoop/Hbase" />
<item name="ACID Semantics" href="acid-semantics.html" />
<item name="Bulk Loads" href="book.html#arch.bulk.load" />
<item name="Metrics" href="metrics.html" />
<item name="HBase on Windows" href="cygwin.html" />
<item name="Cluster replication" href="replication.html" />
<item name="Metrics" href="metrics.html" />
<item name="HBase on Windows" href="cygwin.html" />
<item name="Cluster replication" href="replication.html" />
</menu>
<menu name="0.94 Documentation">
<item name="API" href="0.94/apidocs/index.html" />
<item name="X-Ref" href="0.94/xref/index.html" />
<item name="Ref Guide (single-page)" href="0.94/book.html" />
<item name="API" href="0.94/apidocs/index.html" />
<item name="X-Ref" href="0.94/xref/index.html" />
<item name="Ref Guide (single-page)" href="0.94/book.html" />
</menu>
<menu name="ASF">
<item name="Apache Software Foundation" href="http://www.apache.org/foundation/" />
<item name="How Apache Works" href="http://www.apache.org/foundation/how-it-works.html" />
<item name="Sponsoring Apache" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Apache Software Foundation" href="http://www.apache.org/foundation/" />
<item name="How Apache Works" href="http://www.apache.org/foundation/how-it-works.html" />
<item name="Sponsoring Apache" href="http://www.apache.org/foundation/sponsorship.html" />
</menu>
</body>
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-stylus-skin</artifactId>
</skin>
</project>