You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/10/27 11:37:53 UTC

[10/10] tinkerpop git commit: Moved /site under /docs

Moved /site under /docs


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/98869bca
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/98869bca
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/98869bca

Branch: refs/heads/TINKERPOP-1485
Commit: 98869bca8172041e362501b45e3c98a12369795c
Parents: f083f83
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Oct 27 07:36:59 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:36:59 2016 -0400

----------------------------------------------------------------------
 bin/generate-home.sh                            |    43 +
 bin/publish-home.sh                             |    70 +
 docs/site/home/css/bootstrap-mods.css           |   140 +
 docs/site/home/css/carousel.css                 |   417 +
 docs/site/home/css/prism.css                    |   145 +
 docs/site/home/downloads.html                   |   307 +
 docs/site/home/gremlin.html                     |   396 +
 docs/site/home/images/apache-tinkerpop-logo.png |   Bin 0 -> 118637 bytes
 docs/site/home/images/blueprints-handdrawn.png  |   Bin 0 -> 39838 bytes
 docs/site/home/images/cityscape-button.png      |   Bin 0 -> 54260 bytes
 docs/site/home/images/egg-logo.png              |   Bin 0 -> 7241 bytes
 docs/site/home/images/favicon.ico               |   Bin 0 -> 1406 bytes
 docs/site/home/images/furnace-handdrawn.png     |   Bin 0 -> 27598 bytes
 docs/site/home/images/goutte-blue.png           |   Bin 0 -> 13400 bytes
 docs/site/home/images/graph-globe.png           |   Bin 0 -> 97146 bytes
 docs/site/home/images/graph-vs-table.png        |   Bin 0 -> 35982 bytes
 docs/site/home/images/gremlin-apache.png        |   Bin 0 -> 184276 bytes
 docs/site/home/images/gremlin-download.png      |   Bin 0 -> 35666 bytes
 docs/site/home/images/gremlin-github.png        |   Bin 0 -> 25806 bytes
 docs/site/home/images/gremlin-gym-mini.png      |   Bin 0 -> 128185 bytes
 docs/site/home/images/gremlin-handdrawn.png     |   Bin 0 -> 24985 bytes
 docs/site/home/images/gremlin-head.png          |   Bin 0 -> 47157 bytes
 .../home/images/gremlin-language-variants.png   |   Bin 0 -> 157258 bytes
 docs/site/home/images/gremlin-quill.png         |   Bin 0 -> 200459 bytes
 docs/site/home/images/homepage.graffle          | 63974 +++++++++++++++++
 docs/site/home/images/logos/blazegraph-logo.png |   Bin 0 -> 58946 bytes
 docs/site/home/images/logos/datastax-logo.png   |   Bin 0 -> 38630 bytes
 .../home/images/logos/gremlin-groovy-logo.png   |   Bin 0 -> 126622 bytes
 .../home/images/logos/gremlin-java-logo.png     |   Bin 0 -> 106573 bytes
 .../home/images/logos/gremlin-python-logo.png   |   Bin 0 -> 100190 bytes
 .../home/images/logos/gremlin-scala-logo.png    |   Bin 0 -> 83255 bytes
 docs/site/home/images/logos/ibmgraph-logo.png   |   Bin 0 -> 70338 bytes
 docs/site/home/images/logos/keylines-logo.png   |   Bin 0 -> 38740 bytes
 docs/site/home/images/logos/linkurious-logo.png |   Bin 0 -> 58124 bytes
 docs/site/home/images/logos/neo4j-logo.png      |   Bin 0 -> 48361 bytes
 docs/site/home/images/logos/ogre-logo.png       |   Bin 0 -> 119692 bytes
 docs/site/home/images/logos/orientdb-logo.png   |   Bin 0 -> 38721 bytes
 .../home/images/logos/sparql-gremlin-logo.png   |   Bin 0 -> 102985 bytes
 .../site/home/images/logos/sql-gremlin-logo.png |   Bin 0 -> 94816 bytes
 docs/site/home/images/logos/stardog-logo.png    |   Bin 0 -> 78711 bytes
 docs/site/home/images/logos/titan-logo.png      |   Bin 0 -> 76305 bytes
 docs/site/home/images/logos/tomsawyer-logo.png  |   Bin 0 -> 68634 bytes
 docs/site/home/images/meeting-room-button.png   |   Bin 0 -> 46717 bytes
 docs/site/home/images/oltp-and-olap.png         |   Bin 0 -> 400257 bytes
 docs/site/home/images/peon-head.png             |   Bin 0 -> 11761 bytes
 docs/site/home/images/policy/adjacency-list.png |   Bin 0 -> 36192 bytes
 .../home/images/policy/blueprints-character.png |   Bin 0 -> 18474 bytes
 .../home/images/policy/business-gremlin.png     |   Bin 0 -> 412520 bytes
 .../site/home/images/policy/cyclicpath-step.png |   Bin 0 -> 133628 bytes
 .../site/home/images/policy/flat-map-lambda.png |   Bin 0 -> 26423 bytes
 .../home/images/policy/frames-character.png     |   Bin 0 -> 17482 bytes
 .../home/images/policy/furnace-character.png    |   Bin 0 -> 14118 bytes
 .../home/images/policy/gremlin-character.png    |   Bin 0 -> 16473 bytes
 .../home/images/policy/gremlin-chickenwing.png  |   Bin 0 -> 34307 bytes
 .../home/images/policy/gremlin-gremopoly.png    |   Bin 0 -> 28803 bytes
 .../home/images/policy/gremlin-gremreaper.png   |   Bin 0 -> 33275 bytes
 .../home/images/policy/gremlin-gremstefani.png  |   Bin 0 -> 32122 bytes
 .../policy/gremlin-new-sheriff-in-town.png      |   Bin 0 -> 30381 bytes
 .../policy/gremlin-no-more-mr-nice-guy.png      |   Bin 0 -> 27941 bytes
 docs/site/home/images/policy/gremlintron.png    |   Bin 0 -> 219686 bytes
 docs/site/home/images/policy/olap-traversal.png |   Bin 0 -> 315037 bytes
 .../site/home/images/policy/pipes-character.png |   Bin 0 -> 19807 bytes
 .../home/images/policy/rexster-character.png    |   Bin 0 -> 18100 bytes
 .../home/images/policy/tinkerpop-reading.png    |   Bin 0 -> 195749 bytes
 .../home/images/policy/tinkerpop3-splash.png    |   Bin 0 -> 643257 bytes
 .../images/resources/arxiv-article-resource.png |   Bin 0 -> 306821 bytes
 .../benefits-gremlin-machine-resource.png       |   Bin 0 -> 159622 bytes
 .../resources/graph-databases-101-resource.png  |   Bin 0 -> 139229 bytes
 .../resources/on-graph-computing-resource.png   |   Bin 0 -> 159091 bytes
 .../resources/property-graph-resource.png       |   Bin 0 -> 162245 bytes
 .../images/resources/sql-2-gremlin-resource.png |   Bin 0 -> 210892 bytes
 .../resources/tables-and-graphs-resource.png    |   Bin 0 -> 344091 bytes
 .../resources/why-graph-databases-resource.png  |   Bin 0 -> 243807 bytes
 docs/site/home/images/rexster-handdrawn.png     |   Bin 0 -> 30247 bytes
 docs/site/home/images/tinkerblocks.png          |   Bin 0 -> 802732 bytes
 docs/site/home/images/tinkerpop-book.png        |   Bin 0 -> 195749 bytes
 docs/site/home/images/tinkerpop-cityscape.png   |   Bin 0 -> 801856 bytes
 docs/site/home/images/tinkerpop-conference.png  |   Bin 0 -> 719950 bytes
 docs/site/home/images/tinkerpop-logo-small.png  |   Bin 0 -> 30662 bytes
 .../site/home/images/tinkerpop-meeting-room.png |   Bin 0 -> 703938 bytes
 docs/site/home/images/tinkerpop-reading-2.png   |   Bin 0 -> 211187 bytes
 docs/site/home/images/tinkerpop-reading.png     |   Bin 0 -> 195749 bytes
 docs/site/home/images/tinkerpop-splash.png      |   Bin 0 -> 653463 bytes
 docs/site/home/images/tinkerpop3-splash.png     |   Bin 0 -> 643257 bytes
 docs/site/home/index.html                       |   316 +
 docs/site/home/js/bootstrap-3.3.5.min.js        |     7 +
 docs/site/home/js/jquery-1.11.0.min.js          |     4 +
 docs/site/home/js/prism.js                      |   423 +
 docs/site/home/policy.html                      |    72 +
 docs/site/home/providers.html                   |   359 +
 docs/site/home/template/header-footer.html      |   148 +
 site/bin/generate-home.sh                       |    39 -
 site/bin/publish-home.sh                        |    71 -
 site/home/css/bootstrap-mods.css                |   140 -
 site/home/css/carousel.css                      |   417 -
 site/home/css/prism.css                         |   145 -
 site/home/downloads.html                        |   307 -
 site/home/gremlin.html                          |   396 -
 site/home/images/apache-tinkerpop-logo.png      |   Bin 118637 -> 0 bytes
 site/home/images/blueprints-handdrawn.png       |   Bin 39838 -> 0 bytes
 site/home/images/cityscape-button.png           |   Bin 54260 -> 0 bytes
 site/home/images/egg-logo.png                   |   Bin 7241 -> 0 bytes
 site/home/images/favicon.ico                    |   Bin 1406 -> 0 bytes
 site/home/images/furnace-handdrawn.png          |   Bin 27598 -> 0 bytes
 site/home/images/goutte-blue.png                |   Bin 13400 -> 0 bytes
 site/home/images/graph-globe.png                |   Bin 97146 -> 0 bytes
 site/home/images/graph-vs-table.png             |   Bin 35982 -> 0 bytes
 site/home/images/gremlin-apache.png             |   Bin 184276 -> 0 bytes
 site/home/images/gremlin-download.png           |   Bin 35666 -> 0 bytes
 site/home/images/gremlin-github.png             |   Bin 25806 -> 0 bytes
 site/home/images/gremlin-gym-mini.png           |   Bin 128185 -> 0 bytes
 site/home/images/gremlin-handdrawn.png          |   Bin 24985 -> 0 bytes
 site/home/images/gremlin-head.png               |   Bin 47157 -> 0 bytes
 site/home/images/gremlin-language-variants.png  |   Bin 157258 -> 0 bytes
 site/home/images/gremlin-quill.png              |   Bin 200459 -> 0 bytes
 site/home/images/homepage.graffle               | 63974 -----------------
 site/home/images/logos/blazegraph-logo.png      |   Bin 58946 -> 0 bytes
 site/home/images/logos/datastax-logo.png        |   Bin 38630 -> 0 bytes
 site/home/images/logos/gremlin-groovy-logo.png  |   Bin 126622 -> 0 bytes
 site/home/images/logos/gremlin-java-logo.png    |   Bin 106573 -> 0 bytes
 site/home/images/logos/gremlin-python-logo.png  |   Bin 100190 -> 0 bytes
 site/home/images/logos/gremlin-scala-logo.png   |   Bin 83255 -> 0 bytes
 site/home/images/logos/ibmgraph-logo.png        |   Bin 70338 -> 0 bytes
 site/home/images/logos/keylines-logo.png        |   Bin 38740 -> 0 bytes
 site/home/images/logos/linkurious-logo.png      |   Bin 58124 -> 0 bytes
 site/home/images/logos/neo4j-logo.png           |   Bin 48361 -> 0 bytes
 site/home/images/logos/ogre-logo.png            |   Bin 119692 -> 0 bytes
 site/home/images/logos/orientdb-logo.png        |   Bin 38721 -> 0 bytes
 site/home/images/logos/sparql-gremlin-logo.png  |   Bin 102985 -> 0 bytes
 site/home/images/logos/sql-gremlin-logo.png     |   Bin 94816 -> 0 bytes
 site/home/images/logos/stardog-logo.png         |   Bin 78711 -> 0 bytes
 site/home/images/logos/titan-logo.png           |   Bin 76305 -> 0 bytes
 site/home/images/logos/tomsawyer-logo.png       |   Bin 68634 -> 0 bytes
 site/home/images/meeting-room-button.png        |   Bin 46717 -> 0 bytes
 site/home/images/oltp-and-olap.png              |   Bin 400257 -> 0 bytes
 site/home/images/peon-head.png                  |   Bin 11761 -> 0 bytes
 site/home/images/policy/adjacency-list.png      |   Bin 36192 -> 0 bytes
 .../home/images/policy/blueprints-character.png |   Bin 18474 -> 0 bytes
 site/home/images/policy/business-gremlin.png    |   Bin 412520 -> 0 bytes
 site/home/images/policy/cyclicpath-step.png     |   Bin 133628 -> 0 bytes
 site/home/images/policy/flat-map-lambda.png     |   Bin 26423 -> 0 bytes
 site/home/images/policy/frames-character.png    |   Bin 17482 -> 0 bytes
 site/home/images/policy/furnace-character.png   |   Bin 14118 -> 0 bytes
 site/home/images/policy/gremlin-character.png   |   Bin 16473 -> 0 bytes
 site/home/images/policy/gremlin-chickenwing.png |   Bin 34307 -> 0 bytes
 site/home/images/policy/gremlin-gremopoly.png   |   Bin 28803 -> 0 bytes
 site/home/images/policy/gremlin-gremreaper.png  |   Bin 33275 -> 0 bytes
 site/home/images/policy/gremlin-gremstefani.png |   Bin 32122 -> 0 bytes
 .../policy/gremlin-new-sheriff-in-town.png      |   Bin 30381 -> 0 bytes
 .../policy/gremlin-no-more-mr-nice-guy.png      |   Bin 27941 -> 0 bytes
 site/home/images/policy/gremlintron.png         |   Bin 219686 -> 0 bytes
 site/home/images/policy/olap-traversal.png      |   Bin 315037 -> 0 bytes
 site/home/images/policy/pipes-character.png     |   Bin 19807 -> 0 bytes
 site/home/images/policy/rexster-character.png   |   Bin 18100 -> 0 bytes
 site/home/images/policy/tinkerpop-reading.png   |   Bin 195749 -> 0 bytes
 site/home/images/policy/tinkerpop3-splash.png   |   Bin 643257 -> 0 bytes
 .../images/resources/arxiv-article-resource.png |   Bin 306821 -> 0 bytes
 .../benefits-gremlin-machine-resource.png       |   Bin 159622 -> 0 bytes
 .../resources/graph-databases-101-resource.png  |   Bin 139229 -> 0 bytes
 .../resources/on-graph-computing-resource.png   |   Bin 159091 -> 0 bytes
 .../resources/property-graph-resource.png       |   Bin 162245 -> 0 bytes
 .../images/resources/sql-2-gremlin-resource.png |   Bin 210892 -> 0 bytes
 .../resources/tables-and-graphs-resource.png    |   Bin 344091 -> 0 bytes
 .../resources/why-graph-databases-resource.png  |   Bin 243807 -> 0 bytes
 site/home/images/rexster-handdrawn.png          |   Bin 30247 -> 0 bytes
 site/home/images/tinkerblocks.png               |   Bin 802732 -> 0 bytes
 site/home/images/tinkerpop-book.png             |   Bin 195749 -> 0 bytes
 site/home/images/tinkerpop-cityscape.png        |   Bin 801856 -> 0 bytes
 site/home/images/tinkerpop-conference.png       |   Bin 719950 -> 0 bytes
 site/home/images/tinkerpop-logo-small.png       |   Bin 30662 -> 0 bytes
 site/home/images/tinkerpop-meeting-room.png     |   Bin 703938 -> 0 bytes
 site/home/images/tinkerpop-reading-2.png        |   Bin 211187 -> 0 bytes
 site/home/images/tinkerpop-reading.png          |   Bin 195749 -> 0 bytes
 site/home/images/tinkerpop-splash.png           |   Bin 653463 -> 0 bytes
 site/home/images/tinkerpop3-splash.png          |   Bin 643257 -> 0 bytes
 site/home/index.html                            |   316 -
 site/home/js/bootstrap-3.3.5.min.js             |     7 -
 site/home/js/jquery-1.11.0.min.js               |     4 -
 site/home/js/prism.js                           |   423 -
 site/home/policy.html                           |    72 -
 site/home/providers.html                        |   359 -
 site/home/template/header-footer.html           |   148 -
 182 files changed, 66821 insertions(+), 66818 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/bin/generate-home.sh
----------------------------------------------------------------------
diff --git a/bin/generate-home.sh b/bin/generate-home.sh
new file mode 100755
index 0000000..d2077dd
--- /dev/null
+++ b/bin/generate-home.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+#
+# 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.
+#
+cd `dirname $0`/..
+
+rm -rf target/site/home
+mkdir -p target/site/
+
+hash rsync 2> /dev/null
+
+if [ $? -eq 0 ]; then
+  rsync -avq docs/site/home target/site --exclude template
+else
+  cp -R docs/site/home target/site
+  rm -rf target/site/home/template
+fi
+
+pushd docs/site/
+
+for filename in home/*.html; do
+  sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e /!!!!!BODY!!!!!/d > "../../target/site/${filename}"
+done
+
+popd
+
+echo "Home page site generated to $(cd target/site/home ; pwd)"

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/bin/publish-home.sh
----------------------------------------------------------------------
diff --git a/bin/publish-home.sh b/bin/publish-home.sh
new file mode 100755
index 0000000..1543c42
--- /dev/null
+++ b/bin/publish-home.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+#
+#
+# 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.
+#
+
+cd `dirname $0`/..
+
+USERNAME=$1
+
+if [ "${USERNAME}" == "" ]; then
+  echo "Please provide a SVN username."
+  echo -e "\nUsage:\n\t$0 <username>\n"
+  exit 1
+fi
+
+if [ ! -d target/site/home ]; then
+  bin/generate-home.sh || exit 1
+  echo
+fi
+
+read -s -p "Password for SVN user ${USERNAME}: " PASSWORD
+echo
+
+SVN_CMD="svn --no-auth-cache --username=${USERNAME} --password=${PASSWORD}"
+
+rm -rf target/svn
+mkdir -p target/svn
+
+${SVN_CMD} co --depth files https://svn.apache.org/repos/asf/tinkerpop/site target/svn
+
+cd target/svn
+
+find ../site/home -mindepth 1 -maxdepth 1 -type d | xargs -n1 basename | xargs -r ${SVN_CMD} update
+
+diff -rq ./ ../site/home/ | awk -f ../../bin/publish-docs.awk | sed 's/^\(.\) \//\1 /g' > ../publish-home.files
+
+for file in $(cat ../publish-home.files | awk '/^[AU]/ {print $2}')
+do
+  if [ -d "../site/home/${file}" ]; then
+    mkdir -p "${file}" && cp -r "../site/home/${file}"/* "$_"
+  else
+    mkdir -p "`dirname ${file}`" && cp "../site/home/${file}" "$_"
+  fi
+done
+
+cat ../publish-home.files | awk '/^A/ {print $2}' | xargs -r svn add --parents
+cat ../publish-home.files | awk '/^D/ {print $2}' | xargs -r svn delete
+
+CHANGES=$(cat ../publish-home.files | wc -l)
+
+if [ ${CHANGES} -gt 0 ]; then
+    ${SVN_CMD} commit -m "Deploy TinkerPop homepage"
+fi
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/css/bootstrap-mods.css
----------------------------------------------------------------------
diff --git a/docs/site/home/css/bootstrap-mods.css b/docs/site/home/css/bootstrap-mods.css
new file mode 100644
index 0000000..68a6c31
--- /dev/null
+++ b/docs/site/home/css/bootstrap-mods.css
@@ -0,0 +1,140 @@
+.nav-icon {
+    width: 24px;
+    height: 24px;
+    margin-right: 5px;
+}
+.hero-unit {
+    background-color: #f5f5f5;
+    margin-bottom: 2px;
+    padding: 20px;
+    -webkit-border-radius: 6px;
+    -moz-border-radius: 6px;
+    border-radius: 6px;
+    margin-top: 20px;
+}
+.hero-unit h1 {
+    margin-bottom: 0;
+    font-size: 50px;
+    line-height: 1;
+    letter-spacing: -1px;
+}
+.hero-unit p {
+    font-size: 18px;
+    font-weight: 200;
+    line-height: 27px;
+}
+.carousel-indicators-numbers li {
+    font-size: 12px;
+    text-indent: 0px;
+    margin: -2px 2px;
+    width: 25px;
+    height: 25px;
+    border: none;
+    border-radius: 100%;
+    line-height: 26px;
+    color: #fff;
+    background-color: #999;
+}
+.carousel-indicators-numbers li.active {
+    margin: -2px 2px;
+    width: 25px;
+    height: 25px;
+    background-color: #337ab7;
+}
+.carousel-indicators {
+    bottom: -39px;
+}
+.carousel-inner {
+    margin-bottom: 50px;
+}
+#footer {
+    background-color: #f5f5f5;
+}
+.container .credit {
+    margin: 20px 0;
+}
+.navbar {
+    margin-bottom: 0;
+}
+
+.hovereffect {
+width:100%;
+height:100%;
+float:left;
+overflow:hidden;
+position:relative;
+text-align:center;
+cursor:default;
+border-radius:5px;
+}
+
+.hovereffect .overlay {
+width:100%;
+height:100%;
+position:absolute;
+overflow:hidden;
+top:0;
+left:0;
+opacity:0;
+background-color:rgba(0,0,0,0.5);
+-webkit-transition:all .4s ease-in-out;
+transition:all .4s ease-in-out;
+border-radius:5px;
+}
+
+.hovereffect img {
+display:block;
+position:relative;
+-webkit-transition:all .4s linear;
+transition:all .4s linear;
+border-radius:5px;
+}
+
+
+.hovereffect a.info {
+text-decoration:none;
+display:inline-block;
+border-radius:5px;
+color:#fff;
+border:1px solid #fff;
+background-color:transparent;
+opacity:0;
+filter:alpha(opacity=0);
+-webkit-transition:all .2s ease-in-out;
+transition:all .2s ease-in-out;
+margin:25px 0 0;
+padding:5px 5px;
+}
+
+.hovereffect a.info:hover {
+box-shadow:0 0 5px #fff;
+border-radius:5px;
+}
+
+.hovereffect:hover img {
+-ms-transform:scale(1.2);
+-webkit-transform:scale(1.2);
+transform:scale(1.2);
+border-radius:5px;
+}
+
+.hovereffect:hover .overlay {
+opacity:1;
+filter:alpha(opacity=100);
+border-radius:5px;
+}
+
+.hovereffect:hover h2,.hovereffect:hover a.info {
+opacity:1;
+filter:alpha(opacity=100);
+-ms-transform:translatey(0);
+-webkit-transform:translatey(0);
+transform:translatey(0);
+border-radius:5px;
+}
+
+.hovereffect:hover a.info {
+-webkit-transition-delay:.2s;
+transition-delay:.2s;
+border-radius:5px;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/css/carousel.css
----------------------------------------------------------------------
diff --git a/docs/site/home/css/carousel.css b/docs/site/home/css/carousel.css
new file mode 100644
index 0000000..a4eef64
--- /dev/null
+++ b/docs/site/home/css/carousel.css
@@ -0,0 +1,417 @@
+/* Bootstrap items to overWrite */
+
+.carouselGrid-inner > .item > img,
+.carouselGrid-inner > .item > a > img {
+  display: block;
+  max-width: 100%;
+  height: auto;
+}
+
+.carouselGrid-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+
+.carouselGrid-inner > .item {
+  position: relative;
+  display: none;
+  -webkit-transition: 1s ease-in-out left;
+       -o-transition: 1s ease-in-out left;
+          transition: 1s ease-in-out left;
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+}
+
+.carouselGrid-inner > .item > img,
+.carouselGrid-inner > .item > a > img {
+  line-height: 1;
+}
+
+
+
+@media all and (transform-3d), (-webkit-transform-3d) {
+ .carouselGrid-inner > .item {
+    -webkit-transition: -webkit-transform 1s ease-in-out;
+         -o-transition:      -o-transform 1s ease-in-out;
+            transition:         transform 1s ease-in-out;
+
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+    -webkit-perspective: 1000px;
+            perspective: 1000px;
+  }
+
+
+  @media (max-width: 767px) { /* xs */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(50%, 0, 0);
+              transform: translate3d(50%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-50%, 0, 0);
+              transform: translate3d(-50%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 767px) and (max-width: 992px ) { /* sm */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(33%, 0, 0);
+              transform: translate3d(33%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-33%, 0, 0);
+              transform: translate3d(-33%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 992px ) and (max-width: 1200px) { /* md */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(25%, 0, 0);
+              transform: translate3d(25%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-25%, 0, 0);
+              transform: translate3d(-25%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 1200px ) { /* lg */
+
+    .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(20%, 0, 0);
+              transform: translate3d(20%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-20%, 0, 0);
+              transform: translate3d(-20%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+
+}
+
+  .carouselGrid-inner > .active,
+  .carouselGrid-inner > .next,
+  .carouselGrid-inner > .prev {
+    display: block;
+  }
+  .carouselGrid-inner > .active {
+    left: 0;
+  }
+  .carouselGrid-inner > .next,
+  .carouselGrid-inner > .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+  .carouselGrid-inner > .next {
+    left: 100%;
+  }
+  .carouselGrid-inner > .prev {
+    left: -100%;
+  }
+  .carouselGrid-inner > .next.left,
+  .carouselGrid-inner > .prev.right {
+    left: 0;
+  }
+
+
+  @media (max-width: 767px) { /* xs */
+    .carouselGrid-inner > .active.left {
+      left: -50%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 50%;
+    }
+  }
+  @media (min-width: 767px) and (max-width: 992px ) { /* sm */
+        .carouselGrid-inner > .active.left {
+      left: -33%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 33%;
+    }
+  }
+  @media (min-width: 992px ) and (max-width: 1200px) { /* md */
+        .carouselGrid-inner > .active.left {
+      left: -25%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 25%;
+    }
+  }
+  @media (min-width: 1200px ) { /* lg */
+    .carouselGrid-inner > .active.left {
+      left: -20%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 20%;
+    }
+  }
+
+
+.carouselGrid-control {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 15%;
+  font-size: 20px;
+  color: #fff;
+  text-align: center;
+  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+  filter: alpha(opacity=50);
+  opacity: .5;
+}
+.carouselGrid-control.left {
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
+  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+  background-repeat: repeat-x;
+}
+.carouselGrid-control.right {
+  right: 0;
+  left: auto;
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
+  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+  background-repeat: repeat-x;
+}
+.carouselGrid-control:hover,
+.carouselGrid-control:focus {
+  color: #fff;
+  text-decoration: none;
+  filter: alpha(opacity=90);
+  outline: 0;
+  opacity: .9;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .icon-next,
+.carouselGrid-control .glyphicon-chevron-left,
+.carouselGrid-control .glyphicon-chevron-right {
+  position: absolute;
+  top: 50%;
+  z-index: 5;
+  display: inline-block;
+  margin-top: -10px;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .glyphicon-chevron-left {
+  left: 50%;
+  margin-left: -10px;
+}
+.carouselGrid-control .icon-next,
+.carouselGrid-control .glyphicon-chevron-right {
+  right: 50%;
+  margin-right: -10px;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .icon-next {
+  width: 20px;
+  height: 20px;
+  font-family: serif;
+  line-height: 1;
+}
+.carouselGrid-control .icon-prev:before {
+  content: '\2039';
+}
+.carouselGrid-control .icon-next:before {
+  content: '\203a';
+}
+.carouselGrid-indicators {
+  position: absolute;
+  bottom: 10px;
+  left: 50%;
+  z-index: 15;
+  width: 60%;
+  padding-left: 0;
+  margin-left: -30%;
+  text-align: center;
+  list-style: none;
+}
+.carouselGrid-indicators li {
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  margin: 1px;
+  text-indent: -999px;
+  cursor: pointer;
+  background-color: #000 \9;
+  background-color: rgba(0, 0, 0, 0);
+  border: 1px solid #fff;
+  border-radius: 10px;
+}
+.carouselGrid-indicators .active {
+  width: 12px;
+  height: 12px;
+  margin: 0;
+  background-color: #fff;
+}
+.carouselGrid-caption {
+  position: absolute;
+  right: 15%;
+  bottom: 20px;
+  left: 15%;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: #fff;
+  text-align: center;
+  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+}
+.carouselGrid-caption .btn {
+  text-shadow: none;
+}
+@media screen and (min-width: 768px) {
+  .carouselGrid-control .glyphicon-chevron-left,
+  .carouselGrid-control .glyphicon-chevron-right,
+  .carouselGrid-control .icon-prev,
+  .carouselGrid-control .icon-next {
+    width: 30px;
+    height: 30px;
+    margin-top: -15px;
+    font-size: 30px;
+  }
+  .carouselGrid-control .glyphicon-chevron-left,
+  .carouselGrid-control .icon-prev {
+    margin-left: -15px;
+  }
+  .carouselGrid-control .glyphicon-chevron-right,
+  .carouselGrid-control .icon-next {
+    margin-right: -15px;
+  }
+  .carouselGrid-caption {
+    right: 20%;
+    left: 20%;
+    padding-bottom: 30px;
+  }
+  .carouselGrid-indicators {
+    bottom: 20px;
+  }
+}
+
+.carouselGrid-control        { width:  4%; }
+.carouselGrid-control.left,.carouselGrid-control.right {margin-left:15px;background-image:none;}
+@media (max-width: 767px) { /* xs */
+  .carouselGrid-inner .active.left { left: -50%; }
+  .carouselGrid-inner .next        { left:  50%;}
+  .carouselGrid-inner .prev    { left: -50%; }
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:none; }
+  .active > div:first-child + div + div + div { display:none; }
+
+
+}
+@media (min-width: 767px) and (max-width: 992px ) { /* sm */
+  .carouselGrid-inner .active.left { left: -33%; }
+  .carouselGrid-inner .next        { left:  33%; }
+  .carouselGrid-inner .prev    { left: -33%; }
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:block; }
+  .active > div:first-child + div + div + div { display:none; }
+}
+
+
+
+@media (min-width: 992px ) and (max-width: 1200px) { /* md  */
+  .carouselGrid-inner .active.left { left: -25%;  }
+  .carouselGrid-inner .next        { left:  25%; }
+  .carouselGrid-inner .prev   { left: -25%;  }  
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:block; }
+  .active > div:first-child + div + div + div { display:block; }
+
+}
+
+@media (min-width: 1200px ) { /* lg */
+  .carouselGrid-inner .active.left { left: -20%; }
+  .carouselGrid-inner .next        { left:  20%;}
+  .carouselGrid-inner .prev   {left: -20%; }
+
+}
+
+
+/* NECESSARY FOR FIVE ITEMS (Extends Bootstrap to 5 columns) */
+/*http://www.wearesicc.com/quick-tips-5-column-layout-with-twitter-bootstrap/ */
+.col-xs-15,
+.col-sm-15,
+.col-md-15,
+.col-lg-15 {
+    position: relative;
+    min-height: 1px;
+    padding-right: 15px;
+    padding-left: 15px;
+}
+.col-xs-15 {
+    width: 33%;
+    float: left;
+}
+@media (min-width: 768px) {
+.col-sm-15 {
+        width: 33%;
+        float: left;
+    }
+}
+@media (min-width: 992px) {
+    .col-md-15 {
+        width: 33%;
+        float: left;
+    }
+}
+@media (min-width: 1200px) {
+    .col-lg-15 {
+        width: 33%;
+        float: left;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/css/prism.css
----------------------------------------------------------------------
diff --git a/docs/site/home/css/prism.css b/docs/site/home/css/prism.css
new file mode 100644
index 0000000..e25f79d
--- /dev/null
+++ b/docs/site/home/css/prism.css
@@ -0,0 +1,145 @@
+/* http://prismjs.com/download.html?themes=prism&languages=clike+javascript+groovy+jade */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+
+code[class*="language-"],
+pre[class*="language-"] {
+	color: #337ab7;
+	background: none;
+	text-shadow: 0 0px white;
+	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+	text-align: left;
+	white-space: pre;
+	word-spacing: normal;
+	word-break: normal;
+	word-wrap: normal;
+	line-height: 1.5;
+
+	-moz-tab-size: 4;
+	-o-tab-size: 4;
+	tab-size: 4;
+
+	-webkit-hyphens: none;
+	-moz-hyphens: none;
+	-ms-hyphens: none;
+	hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
+	text-shadow: none;
+	background: #f5f5f5;
+}
+
+pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
+code[class*="language-"]::selection, code[class*="language-"] ::selection {
+	text-shadow: none;
+	background: #f5f5f5;
+}
+
+@media print {
+	code[class*="language-"],
+	pre[class*="language-"] {
+		text-shadow: none;
+	}
+}
+
+.carousel-control.left, .carousel-control.right {
+    background-image: none
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+	padding: 0em;
+	margin: 0em 0;
+	overflow: auto;
+}
+
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+	background: #f5f5f5;
+}
+
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+	padding: 0em;
+	border-radius: 0em;
+	white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+	color: gray;
+}
+
+.token.punctuation {
+	color: black;
+}
+
+.namespace {
+	opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+	color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+	color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+	color: #a67f59;
+	background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword,
+.token.traversalSource {
+	color: #800080;
+}
+
+.token.function {
+	color: #337ab7;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+	color: #337ab7;
+}
+
+.token.important,
+.token.bold {
+	font-weight: bold;
+}
+.token.italic {
+	font-style: italic;
+}
+
+.token.entity {
+	cursor: help;
+	color: #337ab7;
+}
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/downloads.html
----------------------------------------------------------------------
diff --git a/docs/site/home/downloads.html b/docs/site/home/downloads.html
new file mode 100644
index 0000000..c7b27fa
--- /dev/null
+++ b/docs/site/home/downloads.html
@@ -0,0 +1,307 @@
+<!--
+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.
+-->
+<div class="container">
+ <div class="row">
+    <h3>Download Apache TinkerPop&trade;</h3>
+    <p><img src="images/gremlin-download.png"  style="float:right;width:150px;padding:10px;"/>Apache TinkerPop provides three packaged downloads per release version. The
+       <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a> and <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a>
+       downloads are binary distributions, which contain pre-packaged versions of these important TinkerPop applications that are designed to work out-of-the-box
+       when unpackaged. The source distribution is a snapshot of the source code and files used in the building of those  binary distributions.</p>
+    <p>TinkerPop also deploys artifacts to <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.tinkerpop%22">Maven Central</a>, which is helpful to
+       developers who wish to depend on the various libraries that TinkerPop provides.
+    <br/>
+    <h4>Current Releases</h4>
+    <table class="table">
+        <tr>
+            <td>
+                <strong>3.2.3</strong> (latest, stable)
+            </td>
+            <td>
+                17-Oct-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.3/CHANGELOG.asciidoc#release-3-2-3">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.3/upgrade/#_tinkerpop_3_2_3">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.3/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.3/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-console-3.2.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-server-3.2.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-3.2.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.5</strong> (maintenance)
+            </td>
+            <td>
+                17-Oct-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.5/CHANGELOG.asciidoc#release-3-1-5">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.5/upgrade/#_tinkerpop_3_1_5">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.5/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.5/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-gremlin-console-3.1.5-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-gremlin-server-3.1.5-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-3.1.5-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+    </table>
+    <h4>Archived Releases</small></h4>
+    <table class="table">
+        <tr>
+            <td>
+                <strong>3.2.2</strong>
+            </td>
+            <td>
+                6-Sep-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.2/CHANGELOG.asciidoc#release-3-2-2">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.2/upgrade/#_tinkerpop_3_2_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.2/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.2/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-gremlin-console-3.2.2-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-gremlin-server-3.2.2-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-3.2.2-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.4</strong>
+            </td>
+            <td>
+                6-Sep-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.4/CHANGELOG.asciidoc#release-3-1-4">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.4/upgrade/#_tinkerpop_3_1_4">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.4/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.4/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-gremlin-console-3.1.4-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-gremlin-server-3.1.4-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-3.1.4-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.2.1</strong>
+            </td>
+            <td>
+                18-Jul-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.1/CHANGELOG.asciidoc#tinkerpop-321-release-date-july-18-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.1/upgrade/#_tinkerpop_3_2_1">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.1/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.1/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-gremlin-console-3.2.1-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-gremlin-server-3.2.1-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-tinkerpop-3.2.1-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.3</strong>
+            </td>
+            <td>
+                18-Jul-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.3/CHANGELOG.asciidoc#tinkerpop-313-release-date-july-18-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.3/upgrade/#_tinkerpop_3_1_3">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.3/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.3/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-gremlin-console-3.1.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-gremlin-server-3.1.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-tinkerpop-3.1.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.2.0-incubating</strong>
+            </td>
+            <td>
+                8-Apr-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.0-incubating/CHANGELOG.asciidoc#tinkerpop-320-release-date-april-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.0-incubating/upgrade/#_tinkerpop_3_2_0_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.0-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-gremlin-console-3.2.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-gremlin-server-3.2.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-tinkerpop-3.2.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.2-incubating</strong>
+            </td>
+            <td>
+                8-Apr-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.2-incubating/CHANGELOG.asciidoc#tinkerpop-312-release-date-april-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.2-incubating/upgrade/#_tinkerpop_3_1_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.2-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.2-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-gremlin-console-3.1.2-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-gremlin-server-3.1.2-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-tinkerpop-3.1.2-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.1-incubating</strong>
+            </td>
+            <td>
+                8-Feb-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.1-incubating/CHANGELOG.asciidoc#tinkerpop-311-release-date-february-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.1-incubating/upgrade/#_tinkerpop_3_1_1">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.1-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.1-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-gremlin-console-3.1.1-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-gremlin-server-3.1.1-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-tinkerpop-3.1.1-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.0-incubating</strong>
+            </td>
+            <td>
+                16-Nov-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.0-incubating/CHANGELOG.asciidoc#tinkerpop-310-release-date-november-16-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.0-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-gremlin-console-3.1.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-gremlin-server-3.1.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-tinkerpop-3.1.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.2-incubating</strong>
+            </td>
+            <td>
+                19-Oct-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.2-incubating/CHANGELOG.asciidoc#tinkerpop-302-release-date-october-19-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.2-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.2-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-gremlin-console-3.0.2-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-gremlin-server-3.0.2-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-tinkerpop-3.0.2-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.1-incubating</strong>
+            </td>
+            <td>
+                2-Sep-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.1-incubating/CHANGELOG.asciidoc#tinkerpop-301-release-date-september-2-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.1-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.1-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-gremlin-console-3.0.1-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-gremlin-server-3.0.1-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-tinkerpop-3.0.1-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.0-incubating</strong>
+            </td>
+            <td>
+                9-Jul-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.0-incubating/CHANGELOG.asciidoc#tinkerpop-300-release-date-july-9-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.0-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-gremlin-console-3.0.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-gremlin-server-3.0.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-tinkerpop-3.0.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+    </table>
+    <p><strong>Note</strong> that upgrade documentation was only introduced at 3.1.1-incubating which is why there are no links "upgrade" links in versions prior to that one.
+    <h4>Verifying Downloads</h4>
+    <p>All downloads have associated PGP and MD5 signatures to help verify a distribution provided by a mirror. To verify a distribution via PGP or GPG first download the
+       <a href="https://www.apache.org/dist/tinkerpop/KEYS">KEYS</a> file (it is important to use the linked file which is from the main distribution directory and not a
+       mirror. Next download the appropriate "asc" signature file for the relevant distribution (again, this file should come from the <a href="https://www.apache.org/dist/tinkerpop/">main
+       distribution directory</a> - note that older releases will have such files in the <a href="https://archive.apache.org/dist/tinkerpop/">archives</a> or if released under Apache
+       Incubator then they will be found in the <a href="https://archive.apache.org/dist/incubator/tinkerpop/">Incubator archives</a>).</p>
+    <p>Then verify the signatures as follows:</p>
+    <p>
+      <pre><code>
+      pgpk -a KEYS
+      pgpv apache-gremlin-console-x.y.z-bin.zip.asc
+      </code></pre>
+    </p>
+    <p>or</p>
+    <p>
+      <pre><code>
+      pgpk -ka KEYS
+      pgp apache-gremlin-console-x.y.z-bin.zip.asc
+      </code></pre>
+    </p>
+    <p>or</p>
+    <p>
+      <pre><code>
+      gpg --import KEYS
+      gpg --verify apache-gremlin-console-x.y.z-bin.zip.asc apache-gremlin-console-x.y.z-bin.zip
+      </code></pre>
+    </p>
+    <p>Alternatively, consider verifying the MD5 signature on the files. An MD5 signature consists of 32 hex characters, and a SHA1 signature consists of 40 hex characters.
+       Ensure that the generated signature string matches the signature string published in the files above.</p>
+ </div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/gremlin.html
----------------------------------------------------------------------
diff --git a/docs/site/home/gremlin.html b/docs/site/home/gremlin.html
new file mode 100644
index 0000000..4a626ca
--- /dev/null
+++ b/docs/site/home/gremlin.html
@@ -0,0 +1,396 @@
+<!--
+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.
+-->
+<img src="images/tinkerpop-cityscape.png" class="img-responsive" />
+<div class="container">
+ <div class="hero-unit" style="padding:10px">
+    <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
+    <p><font size="5">The Gremlin Graph Traversal Machine and Language</font></p>
+ </div>
+</div>
+<br/>
+<div class="container-fluid">
+ <div class="container">
+    <div class="row">
+       <div class="col-sm-10 col-md-10">
+          <a href="http://arxiv.org/abs/1508.03843">Gremlin</a> is the graph traversal language of <a href="http://tinkerpop.apache.org/">Apache TinkerPop</a>.
+          Gremlin is a <a href="https://en.wikipedia.org/wiki/Functional_programming">functional</a>, <a href="https://en.wikipedia.org/wiki/Dataflow_programming">data-flow</a>
+          language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Every Gremlin traversal is composed of a sequence of (potentially nested) steps. A step
+          performs an atomic operation on the data stream. Every step is either a <em>map</em>-step (transforming the objects in the stream), a <em>filter</em>-step (removing objects
+          from the stream), or a <em>sideEffect</em>-step (computing statistics about the stream). The Gremlin step library extends on these 3-fundamental operations to provide
+          users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data for Gremlin is <a href="http://arxiv.org/abs/1508.03843">Turing Complete</a>.
+       </div>
+       <div class="col-sm-2 col-md-2">
+          <img src="images/gremlin-head.png" width="100%">
+       </div>
+    </div>
+    <br/>
+    <div style="border-radius:3px;border:1px solid black;padding:10px;padding-left:10px;height:170px" id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000">
+       <!-- Indicators -->
+       <ol class="carousel-indicators carousel-indicators-numbers">
+          <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
+          <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
+          <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
+          <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
+          <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
+          <li data-target="#gremlinCarousel" data-slide-to="5">6</li>
+       </ol>
+       <div class="carousel-inner" role="listbox">
+          <div class="item active">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  out("knows").
+  out("knows").
+  values("name")
+
+  </code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>What are the names of Gremlin's friends' friends?</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with name "gremlin."</li>
+                      <li>Traverse to the people that Gremlin knows.</li>
+                      <li>Traverse to the people those people know.</li>
+                      <li>Get those people's names.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().match(
+  as("a").out("knows").as("b"),
+  as("a").out("created").as("c"),
+  as("b").out("created").as("c"),
+  as("c").in("created").count().is(2)).
+    select("c").by("name")</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>What are the names of the projects created by two friends?</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>...there exists some "a" who knows "b".</li>
+                      <li>...there exists some "a" who created "c".</li>
+                      <li>...there exists some "b" who created "c".</li>
+                      <li>...there exists some "c" created by 2 people.</li>
+                      <li>Get the name of all matching "c" projects.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  repeat(in("manages")).
+    until(has("title","ceo")).
+  path().by("name")
+
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the managers from Gremlin to the CEO in the hiearchy.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin."</li>
+                      <li>Traverse up the management chain...</li>
+                      <li>...until a person with the title of CEO is reached.</li>
+                      <li>Get name of the managers in the path traversed.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").as("a").
+  out("created").in("created").
+    where(neq("a")).
+  groupCount().by("title")
+
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the distribution of titles amongst Gremlin's collaborators.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin" and label it "a."</li>
+                      <li>Get Gremlin's created projects and then who created them...</li>
+                      <li>...that are not Gremlin.</li>
+                      <li>Group count those collaborators by their titles.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  out("bought").aggregate("stash").
+  in("bought").out("bought").
+    where(not(within("stash"))).
+  groupCount().order(local).by(values,decr)
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get a ranked list of relevant products for Gremlin to purchase.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin."</li>
+                      <li>Get the products Gremlin has purchased and save as "stash."</li>
+                      <li>Who else bought those products and what else did they buy...</li>
+                      <li>...that Gremlin has not already purchased.</li>
+                      <li>Group count the products and order by their relevance.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().hasLabel("person").
+  pageRank().
+    by("friendRank").
+    by(outE("knows")).
+  order().by("friendRank",decr).
+  limit(10)</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the 10 most central people in the knows-graph.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get all people vertices.</li>
+                      <li>Calculate their PageRank using knows-edges.</li>
+                      <li>Order the people by their friendRank score.</li>
+                      <li>Get the top 10 ranked people.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+       </div>
+    </div>
+ </div>
+ <br/>
+ <div class="container">
+    <a name="oltp-and-olap-traversals"></a>
+    <h3>OLTP and OLAP Traversals</h3>
+    <br/>
+    Gremlin was designed according to the "write once, run anywhere"-philosophy. This means that not only can all TinkerPop-enabled
+    graph systems execute Gremlin traversals, but also, every Gremlin traversal can be evaluated as either a real-time database query
+    or as a batch analytics query. The former is known as an <em>online transactional process</em> (<a href="https://en.wikipedia.org/wiki/Online_transaction_processing">OLTP</a>) and the latter as an <em>online analytics
+    process</em> (<a href="https://en.wikipedia.org/wiki/Online_analytical_processing">OLAP</a>). This universality is made possible by the Gremlin traversal machine. This distributed, graph-based <a href="https://en.wikipedia.org/wiki/Virtual_machine#Abstract_virtual_machine_techniques">virtual machine</a>
+    understands how to coordinate the execution of a multi-machine graph traversal. Moreover, not only can the execution either be OLTP or
+    OLAP, it is also possible for certain subsets of a traversal to execute OLTP while others via OLAP. The benefit is that the user does
+    not need to learn both a database query language and a domain-specific BigData analytics language (e.g. Spark DSL, MapReduce, etc.).
+    Gremlin is all that is required to build a graph-based application because the Gremlin traversal machine will handle the rest.
+    <br/><br/>
+    <center><img src="images/oltp-and-olap.png" style="width:80%;" class="img-responsive"></center>
+ </div>
+ <br/>
+ <div class="container">
+    <a name="imperative-and-declarative-traversals"></a>
+    <h3>Imperative and Declarative Traversals</h3>
+    <br/>
+    <div class="row">
+       <div class="col-sm-7 col-md-8">
+          A Gremlin traversal can be written in either an <em>imperative</em> (<a href="https://en.wikipedia.org/wiki/Imperative_programming">procedural</a>) manner, a <em>declarative</em> (<a href="https://en.wikipedia.org/wiki/Declarative_programming">descriptive</a>) manner,
+          or in a hybrid manner containing both imperative and declarative aspects. An imperative Gremlin traversal tells the traversers how to proceed at each step in the traversal. For instance,
+          the imperative traversal on the right first places a traverser at the vertex denoting Gremlin. That traverser then splits itself across all of Gremlin's collaborators that are not Gremlin
+          himself. Next, the traversers walk to the managers of those collaborators to ultimately be grouped into a manager name count distribution. This traversal is imperative in that it tells the
+          traversers to "go here and then go there" in an explicit, procedural manner.
+       </div>
+       <div class="col-sm-5 col-md-4">
+          <pre style="padding:10px;">
+<code class="language-gremlin">g.V().has("name","gremlin").as("a").
+out("created").in("created").
+where(neq("a")).
+in("manages").
+groupCount().by("name")</code>
+</pre>
+       </div>
+    </div>
+    <p/>
+    <div class="row">
+       <div class="col-sm-5 col-md-4">
+          <pre style="padding:10px;">
+<code class="language-gremlin">g.V().match(
+as("a").has("name","gremlin"),
+as("a").out("created").as("b"),
+as("b").in("created").as("c"),
+as("c").in("manages").as("d"),
+where("a",neq("c"))).
+select("d").
+groupCount().by("name")</code>
+</pre>
+       </div>
+       <div class="col-sm-7 col-md-8">
+          A declarative Gremlin traversal does not tell the traversers the order in which to execute their walk, but instead, allows each traverser to select a pattern to execute from a collection
+          of (potentially nested) patterns. The <a href="http://tinkerpop.apache.org/docs/current/reference/#match-step">declarative traversal</a> on the left yields the same result as the imperative traversal above. However, the declarative traversal has the added benefit
+          that it leverages not only a compile-time query planner (like imperative traversals), but also a runtime query planner that chooses which traversal pattern to execute next based on the
+          historic statistics of each pattern -- favoring those patterns which tend to reduce/filter the most data.
+       </div>
+    </div>
+    <br/>
+    The user can write their traversals in any way they choose. However, ultimately when their traversal is compiled, and depending on the underlying execution engine
+    (i.e. an OLTP graph database or an OLAP graph processor), the user's traversal is rewritten by a set of <em><a href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy">traversal strategies</a></em> which do their best to determine the most optimal execution
+    plan based on an understanding of graph data access costs as well as the underlying data systems's unique capabilities (e.g. fetch the Gremlin vertex from the graph database's "name"-index).
+    Gremlin has been designed to give users flexibility in how they express their queries and graph system providers flexibility in how to efficiently evaluate traversals against their TinkerPop-enabled data system.
+ </div>
+ <br/>
+ <div class="container">
+    <a name="host-language-embedding"></a>
+    <h3>Host Language Embedding</h3>
+    <br/>
+    <div class="row">
+       <div class="col-sm-5 col-md-4">
+          <img src="images/gremlin-language-variants.png" class="img-responsive">
+       </div>
+       <div class="col-sm-7 col-md-8">
+          Classic database query languages, like <a href="https://en.wikipedia.org/wiki/SQL">SQL</a>, were conceived as being fundamentally different from the programming languages that would
+          ultimately use them in a production setting. For this reason, classical databases require the developer to code both in their native programming
+          language as well as in the database's respective query language. An argument can be made that the difference between "query languages" and
+          "programming languages" are not as great as we are taught to believe. Gremlin unifies this divide because traversals can be written in any
+          programming language that supports function <a href="https://en.wikipedia.org/wiki/Function_composition">composition</a> and <a href="https://en.wikipedia.org/wiki/Nested_function">nesting</a> (which every major programming language supports). In this way, the user's
+          Gremlin traversals are written along side their application code and benefit from the advantages afforded by the host language and its tooling
+          (e.g. type checking, syntax highlighting, dot completion, etc.). Various <a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin language variants</a> exist including: Gremlin-Java, Gremlin-Groovy, <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a>,
+          <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a>, etc.
+       </div>
+       <div class="col-md-12">
+          <p><br/>The first example below shows a simple Java class. Note that the Gremlin traversal is expressed in Gremlin-Java and thus, is part of the user's application code. There is no need for the
+             developer to create a <code>String</code> representation of their query in (yet) another language to ultimately pass that <code>String</code> to the graph computing system and be returned a result set. Instead,
+             traversals are embedded in the user's host programming language and are on equal footing with all other application code. With Gremlin, users <strong>do not</strong> have to deal with the awkwardness exemplified
+             in the second example below which is a common anti-pattern found throughout the industry.
+          </p>
+       </div>
+       <br/><br/>
+       <div class="col-md-5">
+          <pre style="padding:10px;"><code class="language-gremlin">public class GremlinTinkerPopExample {
+public void run(String name, String property) {
+
+Graph graph = GraphFactory.open(...);
+GraphTraversalSource g = graph.traversal();
+
+double avg = g.V().has("name",name).
+           out("knows").out("created").
+           values(property).mean().next();
+
+System.out.println("Average rating: " + avg);
+}
+}
+
+
+</code>
+</pre>
+       </div>
+       <div class="col-md-7">
+          <pre style="padding:10px;"><code class="language-gremlin">public class SqlJdbcExample {
+public void run(String name, String property) {
+
+Connection connection = DriverManager.getConnection(...)
+Statement statement = connection.createStatement();
+ResultSet result = statement.executeQuery(
+"SELECT AVG(pr." + property + ") as AVERAGE FROM PERSONS p1" +
+"INNER JOIN KNOWS k ON k.person1 = p1.id " +
+"INNER JOIN PERSONS p2 ON p2.id = k.person2 " +
+"INNER JOIN CREATED c ON c.person = p2.id " +
+"INNER JOIN PROJECTS pr ON pr.id = c.project " +
+  "WHERE p.name = '" + name + "');
+
+System.out.println("Average rating: " + result.next().getDouble("AVERAGE")
+}
+}</code>
+</pre>
+       </div>
+       <div class="col-md-12">
+          <p><br/>Behind the scenes, a Gremlin traversal will evaluate locally against an embedded graph database, serialize itself across the network to a remote
+             graph database, or send itself to an OLAP processor for cluster-wide distributed execution. The traversal source definition determines where the traversal executes. Once a traversal source is
+             defined it can be used over and over again in a manner analogous to a database connection. The ultimate effect is that the user "feels" that their data and their traversals are all
+             co-located in their application and accessible via their application's native programming language. The "query language/programming language"-divide is bridged by Gremlin.
+          </p>
+          <br/>
+       </div>
+       <div class="col-md-12">
+          <pre style="padding:10px;"><code class="language-gremlin">Graph graph = GraphFactory.open(...);
+GraphTraversalSource g;
+g = graph.traversal();                                                         // local OLTP
+g = graph.traversal().withRemote(DriverRemoteConnection.using("server.yaml"))  // remote OLTP
+g = graph.traversal().withComputer(SparkGraphComputer.class);                  // distributed OLAP
+g = graph.traversal().withComputer(GiraphGraphComputer.class);                 // distributed OLAP</code>
+</pre>
+       </div>
+       <br/>
+    </div>
+    <div class="container">
+       <hr/>
+       <h4>Related Resources</h4>
+       <br/>
+       <div class="carousel slide" data-ride="carousel" data-type="multi" data-interval="7000" id="relatedResources">
+          <div class="carouselGrid-inner">
+             <div class="item active">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://academy.datastax.com/resources/getting-started-graph-databases"><img src="images/resources/graph-databases-101-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://datastax.com/dev/blog/the-benefits-of-the-gremlin-graph-traversal-machine"><img src="images/resources/benefits-gremlin-machine-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://arxiv.org/abs/1508.03843"><img src="images/resources/arxiv-article-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://sql2gremlin.com/"><img src="images/resources/sql-2-gremlin-resource.png" width="100%" /></a></div>
+             </div>
+          </div>
+          <a class="left carouselGrid-control" href="#relatedResources" data-slide="prev">
+          <span class="icon-prev" aria-hidden="true"></span>
+          <span class="sr-only">Previous</span>
+          </a>
+          <a class="right carouselGrid-control" href="#relatedResources" data-slide="next">
+          <span class="icon-next" aria-hidden="true"></span>
+          <span class="sr-only">Next</span>
+          </a>
+       </div>
+       <script>
+          $('.carousel[data-type="multi"] .item').each(function(){
+            var next = $(this).next();
+            if (!next.length) { // if ther isn't a next
+              next = $(this).siblings(':first'); // this is the first
+            }
+            next.children(':first-child').clone().appendTo($(this)); // put the next ones on the array
+
+            for (var i=0;i<2;i++) { // THIS LOOP SPITS OUT EXTRA ITEMS TO THE CAROUSEL
+              next=next.next();
+              if (!next.length) {
+                next = $(this).siblings(':first');
+              }
+              next.children(':first-child').clone().appendTo($(this));
+            }
+
+          });
+       </script>
+    </div>
+ </div>
+</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/apache-tinkerpop-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/apache-tinkerpop-logo.png b/docs/site/home/images/apache-tinkerpop-logo.png
new file mode 100644
index 0000000..8d222ed
Binary files /dev/null and b/docs/site/home/images/apache-tinkerpop-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/blueprints-handdrawn.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/blueprints-handdrawn.png b/docs/site/home/images/blueprints-handdrawn.png
new file mode 100644
index 0000000..8a7aba6
Binary files /dev/null and b/docs/site/home/images/blueprints-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/cityscape-button.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/cityscape-button.png b/docs/site/home/images/cityscape-button.png
new file mode 100644
index 0000000..85f986d
Binary files /dev/null and b/docs/site/home/images/cityscape-button.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/egg-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/egg-logo.png b/docs/site/home/images/egg-logo.png
new file mode 100644
index 0000000..9d25899
Binary files /dev/null and b/docs/site/home/images/egg-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/favicon.ico
----------------------------------------------------------------------
diff --git a/docs/site/home/images/favicon.ico b/docs/site/home/images/favicon.ico
new file mode 100644
index 0000000..79782c4
Binary files /dev/null and b/docs/site/home/images/favicon.ico differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/furnace-handdrawn.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/furnace-handdrawn.png b/docs/site/home/images/furnace-handdrawn.png
new file mode 100644
index 0000000..53fa34b
Binary files /dev/null and b/docs/site/home/images/furnace-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/goutte-blue.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/goutte-blue.png b/docs/site/home/images/goutte-blue.png
new file mode 100644
index 0000000..224dd38
Binary files /dev/null and b/docs/site/home/images/goutte-blue.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/graph-globe.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/graph-globe.png b/docs/site/home/images/graph-globe.png
new file mode 100644
index 0000000..9f37885
Binary files /dev/null and b/docs/site/home/images/graph-globe.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/graph-vs-table.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/graph-vs-table.png b/docs/site/home/images/graph-vs-table.png
new file mode 100644
index 0000000..04945ca
Binary files /dev/null and b/docs/site/home/images/graph-vs-table.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/gremlin-apache.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-apache.png b/docs/site/home/images/gremlin-apache.png
new file mode 100644
index 0000000..e2d3bce
Binary files /dev/null and b/docs/site/home/images/gremlin-apache.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/gremlin-download.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-download.png b/docs/site/home/images/gremlin-download.png
new file mode 100644
index 0000000..d9e1efd
Binary files /dev/null and b/docs/site/home/images/gremlin-download.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/gremlin-github.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-github.png b/docs/site/home/images/gremlin-github.png
new file mode 100644
index 0000000..923bf43
Binary files /dev/null and b/docs/site/home/images/gremlin-github.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/gremlin-gym-mini.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-gym-mini.png b/docs/site/home/images/gremlin-gym-mini.png
new file mode 100644
index 0000000..5c3d023
Binary files /dev/null and b/docs/site/home/images/gremlin-gym-mini.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/gremlin-handdrawn.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-handdrawn.png b/docs/site/home/images/gremlin-handdrawn.png
new file mode 100644
index 0000000..ff3e9d3
Binary files /dev/null and b/docs/site/home/images/gremlin-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/gremlin-head.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-head.png b/docs/site/home/images/gremlin-head.png
new file mode 100644
index 0000000..ec54d65
Binary files /dev/null and b/docs/site/home/images/gremlin-head.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/gremlin-language-variants.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-language-variants.png b/docs/site/home/images/gremlin-language-variants.png
new file mode 100644
index 0000000..2c6ee8b
Binary files /dev/null and b/docs/site/home/images/gremlin-language-variants.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98869bca/docs/site/home/images/gremlin-quill.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-quill.png b/docs/site/home/images/gremlin-quill.png
new file mode 100644
index 0000000..bafcd63
Binary files /dev/null and b/docs/site/home/images/gremlin-quill.png differ