You are viewing a plain text version of this content. The canonical link for it is here.
Posted to distributedlog-commits@bookkeeper.apache.org by zh...@apache.org on 2017/09/16 09:55:38 UTC
[distributedlog] branch master updated: ISSUE #186:
distributedlog.incubator.apache.org should have same content as
bookkeeper.apache.org/distributedlog
This is an automated email from the ASF dual-hosted git repository.
zhaijia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/distributedlog.git
The following commit(s) were added to refs/heads/master by this push:
new 8b81caf ISSUE #186: distributedlog.incubator.apache.org should have same content as bookkeeper.apache.org/distributedlog
8b81caf is described below
commit 8b81caf6bebb0e2b4d2e5afe332d765f5b0a74b6
Author: Sijie Guo <si...@apache.org>
AuthorDate: Sat Sep 16 17:55:28 2017 +0800
ISSUE #186: distributedlog.incubator.apache.org should have same content as bookkeeper.apache.org/distributedlog
Descriptions of the changes in this PR:
- move `docs` to `website/docs/latest`
- change `header.html` to support different logo url, to support both bookkeeper.apache.org/distributedlog and distributedlog.incubator.apache.org
- add docker scripts to build website and javadoc
Author: Sijie Guo <si...@apache.org>
Reviewers: Jia Zhai <None>
This closes #190 from sijie/automate_building_website, closes #186
---
website/.gitignore | 10 +++
website/Makefile | 30 ++++++++
website/_config-apache.yml | 1 +
website/_config-production.yml | 2 +
website/_config-staging.yml | 1 +
website/_config.yml | 24 +++++--
website/_includes/header.html | 2 +-
website/{build.sh => build-javadoc.sh} | 69 +++++--------------
website/build.sh | 69 ++++++-------------
website/docker/Dockerfile | 20 ++++++
website/docker/ci.sh | 64 +++++++++++++++++
website/docker/run.sh | 76 +++++++++++++++++++++
website/docs/0.4.0-incubating/_config-apache.yml | 1 +
.../docs/0.4.0-incubating/_config-production.yml | 1 +
website/docs/0.4.0-incubating/_config.yml | 1 +
.../docs/0.4.0-incubating/_includes/header.html | 2 +-
website/docs/0.5.0/_config-apache.yml | 3 +-
website/docs/0.5.0/_config-production.yml | 1 +
website/docs/0.5.0/_config.yml | 1 +
website/docs/0.5.0/_includes/header.html | 2 +-
website/docs/0.5.0/releaseNotes.md | 1 +
website/docs/0.5.0/start/download.rst | 34 ++++++---
website/docs/latest | 1 -
{docs => website/docs/latest}/.gitignore | 0
{docs => website/docs/latest}/Gemfile | 0
{docs => website/docs/latest}/Gemfile.lock | 0
{docs => website/docs/latest}/README.md | 0
{docs => website/docs/latest}/Rakefile | 0
{docs => website/docs/latest}/_config-apache.yml | 1 +
{docs => website/docs/latest}/_config-local.yml | 0
.../docs/latest}/_config-production.yml | 1 +
{docs => website/docs/latest}/_config-staging.yml | 0
{docs => website/docs/latest}/_config.yml | 5 +-
.../docs/latest}/_includes/anchors_links.html | 0
.../docs/latest}/_includes/footer.html | 0
{docs => website/docs/latest}/_includes/head.html | 0
.../docs/latest}/_includes/header.html | 2 +-
{docs => website/docs/latest}/_layouts/base.html | 0
.../docs/latest}/_layouts/default.html | 0
{docs => website/docs/latest}/_layouts/guide.html | 0
.../docs/latest}/_plugins/jekyll-rst/.gitignore | 0
.../docs/latest}/_plugins/jekyll-rst/LICENSE.txt | 0
.../docs/latest}/_plugins/jekyll-rst/README.rst | 0
.../docs/latest}/_plugins/jekyll-rst/converter.rb | 0
.../docs/latest}/_plugins/jekyll-rst/directives.py | 0
.../docs/latest}/_plugins/jekyll-rst/rst2html.py | 0
.../docs/latest}/_plugins/jekyll-rst/transform.py | 0
{docs => website/docs/latest}/_sass/_base.scss | 0
.../docs/latest}/_sass/_bootstrap.scss | 0
{docs => website/docs/latest}/_sass/_layout.scss | 0
.../docs/latest}/_sass/_syntax-highlighting.scss | 0
.../docs/latest}/_sass/bootstrap/_alerts.scss | 0
.../docs/latest}/_sass/bootstrap/_badges.scss | 0
.../docs/latest}/_sass/bootstrap/_breadcrumbs.scss | 0
.../latest}/_sass/bootstrap/_button-groups.scss | 0
.../docs/latest}/_sass/bootstrap/_buttons.scss | 0
.../docs/latest}/_sass/bootstrap/_carousel.scss | 0
.../docs/latest}/_sass/bootstrap/_close.scss | 0
.../docs/latest}/_sass/bootstrap/_code.scss | 0
.../_sass/bootstrap/_component-animations.scss | 0
.../docs/latest}/_sass/bootstrap/_dropdowns.scss | 0
.../docs/latest}/_sass/bootstrap/_forms.scss | 0
.../docs/latest}/_sass/bootstrap/_glyphicons.scss | 0
.../docs/latest}/_sass/bootstrap/_grid.scss | 0
.../latest}/_sass/bootstrap/_input-groups.scss | 0
.../docs/latest}/_sass/bootstrap/_jumbotron.scss | 0
.../docs/latest}/_sass/bootstrap/_labels.scss | 0
.../docs/latest}/_sass/bootstrap/_list-group.scss | 0
.../docs/latest}/_sass/bootstrap/_media.scss | 0
.../docs/latest}/_sass/bootstrap/_mixins.scss | 0
.../docs/latest}/_sass/bootstrap/_modals.scss | 0
.../docs/latest}/_sass/bootstrap/_navbar.scss | 0
.../docs/latest}/_sass/bootstrap/_navs.scss | 0
.../docs/latest}/_sass/bootstrap/_normalize.scss | 0
.../docs/latest}/_sass/bootstrap/_pager.scss | 0
.../docs/latest}/_sass/bootstrap/_pagination.scss | 0
.../docs/latest}/_sass/bootstrap/_panels.scss | 0
.../docs/latest}/_sass/bootstrap/_popovers.scss | 0
.../docs/latest}/_sass/bootstrap/_print.scss | 0
.../latest}/_sass/bootstrap/_progress-bars.scss | 0
.../latest}/_sass/bootstrap/_responsive-embed.scss | 0
.../_sass/bootstrap/_responsive-utilities.scss | 0
.../docs/latest}/_sass/bootstrap/_scaffolding.scss | 0
.../docs/latest}/_sass/bootstrap/_tables.scss | 0
.../docs/latest}/_sass/bootstrap/_theme.scss | 0
.../docs/latest}/_sass/bootstrap/_thumbnails.scss | 0
.../docs/latest}/_sass/bootstrap/_tooltip.scss | 0
.../docs/latest}/_sass/bootstrap/_type.scss | 0
.../docs/latest}/_sass/bootstrap/_utilities.scss | 0
.../docs/latest}/_sass/bootstrap/_variables.scss | 0
.../docs/latest}/_sass/bootstrap/_wells.scss | 0
.../latest}/_sass/bootstrap/mixins/_alerts.scss | 0
.../bootstrap/mixins/_background-variant.scss | 0
.../_sass/bootstrap/mixins/_border-radius.scss | 0
.../latest}/_sass/bootstrap/mixins/_buttons.scss | 0
.../_sass/bootstrap/mixins/_center-block.scss | 0
.../latest}/_sass/bootstrap/mixins/_clearfix.scss | 0
.../latest}/_sass/bootstrap/mixins/_forms.scss | 0
.../latest}/_sass/bootstrap/mixins/_gradients.scss | 0
.../_sass/bootstrap/mixins/_grid-framework.scss | 0
.../docs/latest}/_sass/bootstrap/mixins/_grid.scss | 0
.../latest}/_sass/bootstrap/mixins/_hide-text.scss | 0
.../latest}/_sass/bootstrap/mixins/_image.scss | 0
.../latest}/_sass/bootstrap/mixins/_labels.scss | 0
.../_sass/bootstrap/mixins/_list-group.scss | 0
.../_sass/bootstrap/mixins/_nav-divider.scss | 0
.../bootstrap/mixins/_nav-vertical-align.scss | 0
.../latest}/_sass/bootstrap/mixins/_opacity.scss | 0
.../_sass/bootstrap/mixins/_pagination.scss | 0
.../latest}/_sass/bootstrap/mixins/_panels.scss | 0
.../_sass/bootstrap/mixins/_progress-bar.scss | 0
.../_sass/bootstrap/mixins/_reset-filter.scss | 0
.../_sass/bootstrap/mixins/_reset-text.scss | 0
.../latest}/_sass/bootstrap/mixins/_resize.scss | 0
.../bootstrap/mixins/_responsive-visibility.scss | 0
.../docs/latest}/_sass/bootstrap/mixins/_size.scss | 0
.../latest}/_sass/bootstrap/mixins/_tab-focus.scss | 0
.../latest}/_sass/bootstrap/mixins/_table-row.scss | 0
.../_sass/bootstrap/mixins/_text-emphasis.scss | 0
.../_sass/bootstrap/mixins/_text-overflow.scss | 0
.../_sass/bootstrap/mixins/_vendor-prefixes.scss | 0
.../docs/latest}/admin_guide/bookkeeper.rst | 0
.../docs/latest}/admin_guide/hardware.rst | 0
.../docs/latest}/admin_guide/loadtest.rst | 0
{docs => website/docs/latest}/admin_guide/main.rst | 0
.../docs/latest}/admin_guide/monitoring.rst | 0
.../docs/latest}/admin_guide/operations.rst | 0
.../docs/latest}/admin_guide/performance.rst | 0
.../docs/latest}/admin_guide/vagrant.rst | 0
.../docs/latest}/admin_guide/zookeeper.rst | 0
.../docs/latest}/basics/introduction.rst | 0
{docs => website/docs/latest}/css/main.scss | 0
{docs => website/docs/latest}/css/theme.css | 0
.../docs/latest}/deployment/cluster.rst | 0
.../docs/latest}/deployment/docker.rst | 0
.../docs/latest}/deployment/global-cluster.rst | 0
.../bootstrap/glyphicons-halflings-regular.eot | Bin
.../bootstrap/glyphicons-halflings-regular.svg | 0
.../bootstrap/glyphicons-halflings-regular.ttf | Bin
.../bootstrap/glyphicons-halflings-regular.woff | Bin
.../bootstrap/glyphicons-halflings-regular.woff2 | Bin
{docs => website/docs/latest}/images/costmodel.png | Bin
{docs => website/docs/latest}/images/datamodel.png | Bin
.../docs/latest}/images/distributedlog_logo_l.png | Bin
.../latest}/images/distributedlog_logo_navbar.png | Bin
.../docs/latest}/images/distributedlog_logo_s.png | Bin
.../docs/latest}/images/distribution.png | Bin
{docs => website/docs/latest}/images/favicon.ico | Bin
{docs => website/docs/latest}/images/fencing.png | Bin
.../docs/latest}/images/globalreplicatedlog.png | Bin
.../docs/latest}/images/lacprotocol.png | Bin
.../docs/latest}/images/logsegments.png | Bin
{docs => website/docs/latest}/images/pubsub.png | Bin
.../docs/latest}/images/readrequests.png | Bin
.../docs/latest}/images/requestflow.png | Bin
.../docs/latest}/images/requestrouting.png | Bin
.../docs/latest}/images/softwarestack.png | Bin
{docs => website/docs/latest}/index.md | 0
.../docs/latest}/js/bootstrap-sprockets.js | 0
{docs => website/docs/latest}/js/bootstrap.js | 0
{docs => website/docs/latest}/js/bootstrap.min.js | 0
.../docs/latest}/js/bootstrap/affix.js | 0
.../docs/latest}/js/bootstrap/alert.js | 0
.../docs/latest}/js/bootstrap/button.js | 0
.../docs/latest}/js/bootstrap/carousel.js | 0
.../docs/latest}/js/bootstrap/collapse.js | 0
.../docs/latest}/js/bootstrap/dropdown.js | 0
.../docs/latest}/js/bootstrap/modal.js | 0
.../docs/latest}/js/bootstrap/popover.js | 0
.../docs/latest}/js/bootstrap/scrollspy.js | 0
{docs => website/docs/latest}/js/bootstrap/tab.js | 0
.../docs/latest}/js/bootstrap/tooltip.js | 0
.../docs/latest}/js/bootstrap/transition.js | 0
{docs => website/docs/latest}/performance/main.rst | 0
{docs => website/docs/latest}/start/building.rst | 0
{docs => website/docs/latest}/start/download.rst | 34 ++++++---
{docs => website/docs/latest}/start/quickstart.rst | 0
{docs => website/docs/latest}/styles/site.scss | 0
.../docs/latest}/tutorials/analytics-mapreduce.rst | 0
.../docs/latest}/tutorials/basic-1.rst | 0
.../docs/latest}/tutorials/basic-2.rst | 0
.../docs/latest}/tutorials/basic-3.rst | 0
.../docs/latest}/tutorials/basic-4.rst | 0
.../docs/latest}/tutorials/basic-5.rst | 0
.../docs/latest}/tutorials/basic-6.rst | 0
{docs => website/docs/latest}/tutorials/main.rst | 0
.../docs/latest}/tutorials/messaging-1.rst | 0
.../docs/latest}/tutorials/messaging-2.rst | 0
.../docs/latest}/tutorials/messaging-3.rst | 0
.../docs/latest}/tutorials/messaging-4.rst | 0
.../docs/latest}/tutorials/messaging-5.rst | 0
.../latest}/tutorials/replicatedstatemachines.rst | 0
.../docs/latest}/user_guide/api/core.rst | 0
.../docs/latest}/user_guide/api/main.rst | 0
.../docs/latest}/user_guide/api/practice.rst | 0
.../docs/latest}/user_guide/api/proxy.rst | 0
.../docs/latest}/user_guide/architecture/main.rst | 0
.../latest}/user_guide/configuration/client.rst | 0
.../docs/latest}/user_guide/configuration/core.rst | 0
.../docs/latest}/user_guide/configuration/main.rst | 0
.../latest}/user_guide/configuration/perlog.rst | 0
.../latest}/user_guide/configuration/proxy.rst | 0
.../latest}/user_guide/considerations/main.rst | 0
.../docs/latest}/user_guide/design/main.rst | 0
.../user_guide/globalreplicatedlog/main.rst | 0
.../latest}/user_guide/implementation/core.rst | 0
.../latest}/user_guide/implementation/main.rst | 0
.../latest}/user_guide/implementation/storage.rst | 0
.../user_guide/implementation/writeproxy.rst | 0
{docs => website/docs/latest}/user_guide/main.rst | 0
.../latest}/user_guide/references/features.rst | 0
.../docs/latest}/user_guide/references/main.rst | 0
.../docs/latest}/user_guide/references/metrics.rst | 0
website/scripts/publish-website.sh | 21 ++++--
214 files changed, 343 insertions(+), 137 deletions(-)
diff --git a/website/.gitignore b/website/.gitignore
index c28a8b0..3155c00 100644
--- a/website/.gitignore
+++ b/website/.gitignore
@@ -3,3 +3,13 @@ _site/
.jekyll-metadata
_pdf
.idea/
+content
+local_content
+temp_local_content
+production_content
+temp_production_content
+apache_content
+temp_apache_content
+**/temp_content
+**/.pygments-cache
+vendor
diff --git a/website/Makefile b/website/Makefile
new file mode 100644
index 0000000..99d4486
--- /dev/null
+++ b/website/Makefile
@@ -0,0 +1,30 @@
+BUNDLER_VERSION = 1.15.3
+BUNDLE = bundle _${BUNDLER_VERSION}_
+JEKYLL = ${BUNDLE} exec jekyll
+
+setup:
+ gem install bundler \
+ -v ${BUNDLER_VERSION} \
+ --no-rdoc \
+ --no-ri
+ NOKOGIRI_USE_SYSTEM_LIBRARIES=true ${BUNDLE} install
+ wget https://bootstrap.pypa.io/get-pip.py
+ chmod +x get-pip.py
+ python get-pip.py
+ rm get-pip.py
+ pip install docutils pygments
+
+local:
+ ./build.sh local
+
+staging:
+ ./build.sh staging
+
+production:
+ ./build.sh production
+
+apache:
+ ./build.sh apache
+
+serve:
+ ./build.sh local /tmp true
diff --git a/website/_config-apache.yml b/website/_config-apache.yml
index 5746e2a..6f1399e 100644
--- a/website/_config-apache.yml
+++ b/website/_config-apache.yml
@@ -1 +1,2 @@
baseurl: "/distributedlog"
+logo_url: "/distributedlog"
diff --git a/website/_config-production.yml b/website/_config-production.yml
index 2b9cde5..13c0c99 100644
--- a/website/_config-production.yml
+++ b/website/_config-production.yml
@@ -1 +1,3 @@
+url: "http://distributedlog.incubator.apache.org"
baseurl: ""
+logo_url: "/"
diff --git a/website/_config-staging.yml b/website/_config-staging.yml
index 428e3c8..67517ef 100644
--- a/website/_config-staging.yml
+++ b/website/_config-staging.yml
@@ -1 +1,2 @@
baseurl: "/distributedlog-staging-site"
+logo_url: "/distributedlog-staging-site"
diff --git a/website/_config.yml b/website/_config.yml
index c2065cf..b22ae47 100644
--- a/website/_config.yml
+++ b/website/_config.yml
@@ -11,12 +11,13 @@ description: > # this means to ignore newlines until "baseurl:"
Apache DistributedLog is an high performance replicated log.
# versions
-DL_VERSION_STABLE: 0.3.51-RC1
+DL_VERSION_STABLE: 0.4.0-incubating
DL_VERSION_LATEST: 0.6.0-SNAPSHOT
stable_doc_version: 0.4.0-incubating
# the subpath of your site, e.g. /blog
baseurl: ""
+logo_url: "/"
# the base hostname & protocol for your site
url: "http://bookkeeper.apache.org/distributedlog"
@@ -39,9 +40,6 @@ collections:
- distributedlog_team
- mentors
-# Things to ignore in the build
-exclude: ['README.md', 'Gemfile.lock', 'Gemfile', 'Rakefile', 'docs', 'build.sh']
-
# Things to keep in the build
keep_files: ['docs']
@@ -54,4 +52,22 @@ gems:
- jekyll-redirect-from
exclude:
+ - Gemfile
+ - Gemfile.lock
+ - Makefile
+ - Rakefile
+ - README.md
+ - apache_content
+ - build.sh
+ - build-javadoc.sh
+ - content
+ - docker
+ - docs
+ - local_content
+ - production_content
- scripts
+ - temp_content
+ - temp_apache_content
+ - temp_local_content
+ - temp_production_content
+ - vendor
diff --git a/website/_includes/header.html b/website/_includes/header.html
index 9071574..90f07c9 100644
--- a/website/_includes/header.html
+++ b/website/_includes/header.html
@@ -1,7 +1,7 @@
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
- <a href="/distributedlog" class="navbar-brand" >
+ <a href="{{ site.logo_url }}" class="navbar-brand" >
<img alt="Brand" style="height: 28px" src="{{ "/images/distributedlog_logo_navbar.png" | prepend: site.baseurl }}">
</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
diff --git a/website/build.sh b/website/build-javadoc.sh
similarity index 57%
copy from website/build.sh
copy to website/build-javadoc.sh
index 471ed51..3fc7a3d 100755
--- a/website/build.sh
+++ b/website/build-javadoc.sh
@@ -18,7 +18,7 @@
################################################################################
usage() {
- echo "Usage: build <env> [dest] [serve]."
+ echo "Usage: build <env> [dest]."
}
if [ $# -lt 1 ]; then
@@ -28,55 +28,28 @@ fi
DLOG_ENV=$1
-OVERRIDED_CONFIG=_config-${DLOG_ENV}.yml
-
BINDIR=`dirname "$0"`
DLOG_HOME=`cd $BINDIR/.. > /dev/null;pwd`
if [ $# -gt 1 ]; then
DEST_DIR=$2
else
- DEST_DIR=${DLOG_HOME}
-fi
-
-SERVE="FALSE"
-if [ $# -gt 3 ]; then
- SERVE="TRUE"
+ DEST_DIR=${DLOG_HOME}/website
fi
-TMP_DEST_DIR=${DEST_DIR}/temp_content
+CONTENT_DIR=${DLOG_ENV}_content
+TMP_DEST_DIR=${DEST_DIR}/temp_${CONTENT_DIR}
TMP_WEBSITE_DIR=${TMP_DEST_DIR}/website
-rm -rf ${DEST_DIR}/content
-rm -rf ${TMP_DEST_DIR}
-
-if [ ! -d "${DLOG_HOME}/website/docs" ]; then
- mkdir ${DLOG_HOME}/website/docs
-fi
-
-echo "Building the website to ${TMP_WEBSITE_DIR} ..."
-
-# build the website
-cd ${DLOG_HOME}/website
-
-bundle exec jekyll build --destination ${TMP_WEBSITE_DIR} --config _config.yml,${OVERRIDED_CONFIG}
-
-echo "Built the website @ ${TMP_WEBSITE_DIR}."
-
# build the documents
function build_docs() {
version=$1
tag=$2
- echo "Building the documentation for version ${version} ..."
-
- DOC_SRC_HOME="${DLOG_HOME}/website/docs/${version}"
DOC_DEST_HOME="${TMP_DEST_DIR}/docs_${version}"
- cd ${DOC_SRC_HOME}
-
- bundle exec jekyll build --destination ${DOC_DEST_HOME} --config _config.yml,${OVERRIDED_CONFIG}
+ echo "Building the javadoc for version ${version} to ${DOC_DEST_HOME} ..."
# create the api directory
mkdir -p ${DOC_DEST_HOME}/api/java
@@ -103,7 +76,14 @@ function build_docs() {
# copy the built javadoc
cp -r /tmp/distributedlog-${version}/target/site/apidocs/* ${DOC_DEST_HOME}/api/java
fi
- echo "Built the documentation for version ${version}."
+ echo "Built the javadoc for version ${version} in ${DOC_DEST_HOME}."
+}
+
+copy_docs() {
+ version=$1
+ [[ -d ${DEST_DIR}/${CONTENT_DIR}/docs/${version}/api/java ]] && rm -r ${DEST_DIR}/${CONTENT_DIR}/docs/${version}/api/java
+ mkdir -p ${DEST_DIR}/${CONTENT_DIR}/docs/${version}/api
+ cp -r ${TMP_DEST_DIR}/docs_${version}/api/java ${DEST_DIR}/${CONTENT_DIR}/docs/${version}/api/java
}
# build the javadoc API
@@ -111,23 +91,6 @@ function build_docs() {
build_docs "latest"
build_docs "0.4.0-incubating" "v0.4.0-incubating_2.11"
build_docs "0.5.0" "v0.5.0"
-
-cp -r ${TMP_DEST_DIR}/website ${DEST_DIR}/content
-mkdir -p ${DEST_DIR}/content/docs
-[[ -d ${DEST_DIR}/content/docs/latest ]] && rm -r ${DEST_DIR}/content/docs/latest
-[[ -d ${DEST_DIR}/content/docs/0.4.0-incubating ]] && rm -r ${DEST_DIR}/content/docs/0.4.0-incubating
-[[ -d ${DEST_DIR}/content/docs/0.5.0]] && rm -r ${DEST_DIR}/content/docs/0.5.0
-cp -r ${TMP_DEST_DIR}/docs_latest ${DEST_DIR}/content/docs/latest
-cp -r ${TMP_DEST_DIR}/docs_0.4.0-incubating ${DEST_DIR}/content/docs/0.4.0-incubating
-cp -r ${TMP_DEST_DIR}/docs_0.5.0 ${DEST_DIR}/content/docs/0.5.0
-
-cp -r ${TMP_DEST_DIR}/website ${DEST_DIR}/content
-mkdir -p ${DEST_DIR}/content/docs
-cp -r ${TMP_DEST_DIR}/docs_latest ${DEST_DIR}/content/docs/latest
-cp -r ${TMP_DEST_DIR}/docs_0.4.0-incubating ${DEST_DIR}/content/docs/0.4.0-incubating
-cp -r ${TMP_DEST_DIR}/docs_0.5.0 ${DEST_DIR}/content/docs/0.5.0
-
-if [[ "${SERVE}" == "TRUE" ]]; then
- cd ${DLOG_HOME}/website
- bundle exec jekyll serve --destination ${DEST_DIR}/content --config _config.yml,${OVERRIDED_CONFIG} --incremental
-fi
+copy_docs "latest"
+copy_docs "0.4.0-incubating"
+copy_docs "0.5.0"
diff --git a/website/build.sh b/website/build.sh
index 471ed51..31a1187 100755
--- a/website/build.sh
+++ b/website/build.sh
@@ -36,7 +36,7 @@ DLOG_HOME=`cd $BINDIR/.. > /dev/null;pwd`
if [ $# -gt 1 ]; then
DEST_DIR=$2
else
- DEST_DIR=${DLOG_HOME}
+ DEST_DIR=${DLOG_HOME}/website
fi
SERVE="FALSE"
@@ -44,10 +44,11 @@ if [ $# -gt 3 ]; then
SERVE="TRUE"
fi
-TMP_DEST_DIR=${DEST_DIR}/temp_content
+CONTENT_DIR=${DLOG_ENV}_content
+TMP_DEST_DIR=${DEST_DIR}/temp_${CONTENT_DIR}
TMP_WEBSITE_DIR=${TMP_DEST_DIR}/website
-rm -rf ${DEST_DIR}/content
+rm -rf ${DEST_DIR}/${CONTENT_DIR}
rm -rf ${TMP_DEST_DIR}
if [ ! -d "${DLOG_HOME}/website/docs" ]; then
@@ -65,45 +66,28 @@ echo "Built the website @ ${TMP_WEBSITE_DIR}."
# build the documents
-function build_docs() {
+build_docs() {
version=$1
tag=$2
- echo "Building the documentation for version ${version} ..."
-
DOC_SRC_HOME="${DLOG_HOME}/website/docs/${version}"
DOC_DEST_HOME="${TMP_DEST_DIR}/docs_${version}"
cd ${DOC_SRC_HOME}
+ echo ""
+ echo "@${DOC_SRC_HOME}"
+ echo "Building the documentation for version ${version} to ${DOC_DEST_HOME} ..."
bundle exec jekyll build --destination ${DOC_DEST_HOME} --config _config.yml,${OVERRIDED_CONFIG}
- # create the api directory
- mkdir -p ${DOC_DEST_HOME}/api/java
- if [ "$version" == "latest" ]; then
- cd ${DLOG_HOME}
- # build the javadoc
- mvn -DskipTests clean package javadoc:aggregate \
- -Ddoctitle="Apache DistributedLog for Java, version ${version}" \
- -Dwindowtitle="Apache DistributedLog for Java, version ${version}" \
- -Dmaven.javadoc.failOnError=false
- # copy the built javadoc
- cp -r ${DLOG_HOME}/target/site/apidocs/* ${DOC_DEST_HOME}/api/java
- else
- rm -rf /tmp/distributedlog-${version}
- git clone https://github.com/apache/distributedlog.git /tmp/distributedlog-${version}
- cd /tmp/distributedlog-${version}
- git checkout $tag
- # build the javadoc
- mvn -DskipTests clean package javadoc:aggregate \
- -Ddoctitle="Apache DistributedLog for Java, version ${version}" \
- -Dwindowtitle="Apache DistributedLog for Java, version ${version}" \
- -Dnotimestamp \
- -Dmaven.javadoc.failOnError=false
- # copy the built javadoc
- cp -r /tmp/distributedlog-${version}/target/site/apidocs/* ${DOC_DEST_HOME}/api/java
- fi
- echo "Built the documentation for version ${version}."
+ echo "Built the documentation for version ${version} in ${DOC_DEST_HOME}."
+}
+
+copy_docs() {
+ version=$1
+
+ [[ -d ${DEST_DIR}/${CONTENT_DIR}/docs/${version} ]] && rm -r ${DEST_DIR}/${CONTENT_DIR}/docs/${version}
+ cp -r ${TMP_DEST_DIR}/docs_${version} ${DEST_DIR}/${CONTENT_DIR}/docs/${version}
}
# build the javadoc API
@@ -112,22 +96,13 @@ build_docs "latest"
build_docs "0.4.0-incubating" "v0.4.0-incubating_2.11"
build_docs "0.5.0" "v0.5.0"
-cp -r ${TMP_DEST_DIR}/website ${DEST_DIR}/content
-mkdir -p ${DEST_DIR}/content/docs
-[[ -d ${DEST_DIR}/content/docs/latest ]] && rm -r ${DEST_DIR}/content/docs/latest
-[[ -d ${DEST_DIR}/content/docs/0.4.0-incubating ]] && rm -r ${DEST_DIR}/content/docs/0.4.0-incubating
-[[ -d ${DEST_DIR}/content/docs/0.5.0]] && rm -r ${DEST_DIR}/content/docs/0.5.0
-cp -r ${TMP_DEST_DIR}/docs_latest ${DEST_DIR}/content/docs/latest
-cp -r ${TMP_DEST_DIR}/docs_0.4.0-incubating ${DEST_DIR}/content/docs/0.4.0-incubating
-cp -r ${TMP_DEST_DIR}/docs_0.5.0 ${DEST_DIR}/content/docs/0.5.0
-
-cp -r ${TMP_DEST_DIR}/website ${DEST_DIR}/content
-mkdir -p ${DEST_DIR}/content/docs
-cp -r ${TMP_DEST_DIR}/docs_latest ${DEST_DIR}/content/docs/latest
-cp -r ${TMP_DEST_DIR}/docs_0.4.0-incubating ${DEST_DIR}/content/docs/0.4.0-incubating
-cp -r ${TMP_DEST_DIR}/docs_0.5.0 ${DEST_DIR}/content/docs/0.5.0
+cp -r ${TMP_DEST_DIR}/website ${DEST_DIR}/${CONTENT_DIR}
+mkdir -p ${DEST_DIR}/${CONTENT_DIR}/docs
+copy_docs "latest"
+copy_docs "0.4.0-incubating"
+copy_docs "0.5.0"
if [[ "${SERVE}" == "TRUE" ]]; then
cd ${DLOG_HOME}/website
- bundle exec jekyll serve --destination ${DEST_DIR}/content --config _config.yml,${OVERRIDED_CONFIG} --incremental
+ bundle exec jekyll serve --destination ${DEST_DIR}/${CONTENT_DIR} --config _config.yml,${OVERRIDED_CONFIG} --incremental
fi
diff --git a/website/docker/Dockerfile b/website/docker/Dockerfile
new file mode 100644
index 0000000..32d435a
--- /dev/null
+++ b/website/docker/Dockerfile
@@ -0,0 +1,20 @@
+#
+# 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.
+#
+
+FROM ruby:2.3.0
diff --git a/website/docker/ci.sh b/website/docker/ci.sh
new file mode 100755
index 0000000..44c4e23
--- /dev/null
+++ b/website/docker/ci.sh
@@ -0,0 +1,64 @@
+#!/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.
+
+set -e -x -u
+
+SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+
+export IMAGE_NAME="bookkeeper/docs"
+
+pushd ${SCRIPT_DIR}
+
+docker build --rm=true -t ${IMAGE_NAME} .
+
+popd
+
+if [ "$(uname -s)" == "Linux" ]; then
+ USER_NAME=${SUDO_USER:=$USER}
+ USER_ID=$(id -u "${USER_NAME}")
+ GROUP_ID=$(id -g "${USER_NAME}")
+ LOCAL_HOME="/home/${USER_NAME}"
+else # boot2docker uid and gid
+ USER_NAME=$USER
+ USER_ID=1000
+ GROUP_ID=50
+ LOCAL_HOME="/Users/${USER_NAME}"
+fi
+
+docker build -t "${IMAGE_NAME}-${USER_NAME}" - <<UserSpecificDocker
+FROM ${IMAGE_NAME}
+RUN groupadd --non-unique -g ${GROUP_ID} ${USER_NAME} && \
+ useradd -g ${GROUP_ID} -u ${USER_ID} -k /root -m ${USER_NAME}
+ENV HOME /home/${USER_NAME}
+UserSpecificDocker
+
+BOOKKEEPER_DOC_ROOT=${SCRIPT_DIR}/..
+
+pushd ${BOOKKEEPER_DOC_ROOT}
+
+docker run \
+ --rm=true \
+ -w ${BOOKKEEPER_DOC_ROOT} \
+ -u "${USER}" \
+ -v "${BOOKKEEPER_DOC_ROOT}:${BOOKKEEPER_DOC_ROOT}" \
+ -v "${LOCAL_HOME}:/home/${USER_NAME}" \
+ -e JEKYLL_ENV='production' \
+ ${IMAGE_NAME}-${USER_NAME} \
+ bash -c "make setup && make apache"
+
+popd
+
diff --git a/website/docker/run.sh b/website/docker/run.sh
new file mode 100755
index 0000000..f6392db
--- /dev/null
+++ b/website/docker/run.sh
@@ -0,0 +1,76 @@
+#!/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.
+
+set -e -x -u
+
+SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+
+export IMAGE_NAME="distributedlog/docs"
+
+pushd ${SCRIPT_DIR}
+
+docker build --rm=true -t ${IMAGE_NAME} .
+
+popd
+
+if [ "$(uname -s)" == "Linux" ]; then
+ USER_NAME=${SUDO_USER:=$USER}
+ USER_ID=$(id -u "${USER_NAME}")
+ GROUP_ID=$(id -g "${USER_NAME}")
+ LOCAL_HOME="/home/${USER_NAME}"
+else # boot2docker uid and gid
+ USER_NAME=$USER
+ USER_ID=1000
+ GROUP_ID=50
+ LOCAL_HOME="/Users/${USER_NAME}"
+fi
+
+docker build -t "${IMAGE_NAME}-${USER_NAME}" - <<UserSpecificDocker
+FROM ${IMAGE_NAME}
+RUN groupadd --non-unique -g ${GROUP_ID} ${USER_NAME} && \
+ useradd -g ${GROUP_ID} -u ${USER_ID} -k /root -m ${USER_NAME}
+ENV HOME /home/${USER_NAME}
+UserSpecificDocker
+
+DLOG_DOC_ROOT=${SCRIPT_DIR}/..
+
+CMD="
+echo
+echo 'Welcome to Apache DistributedLog docs'
+echo 'To build, execute'
+echo ' make build'
+echo 'To watch and regenerate automatically'
+echo ' make serve'
+echo 'and access http://localhost:4000'
+echo
+bash
+"
+
+pushd ${DLOG_DOC_ROOT}
+
+docker run -i -t \
+ --rm=true \
+ -w ${DLOG_DOC_ROOT} \
+ -u "${USER}" \
+ -v "${DLOG_DOC_ROOT}:${DLOG_DOC_ROOT}" \
+ -v "${LOCAL_HOME}:/home/${USER_NAME}" \
+ -p 4000:4000 \
+ ${IMAGE_NAME}-${USER_NAME} \
+ bash -c "${CMD}"
+
+popd
+
diff --git a/website/docs/0.4.0-incubating/_config-apache.yml b/website/docs/0.4.0-incubating/_config-apache.yml
index 305c08f..682ea26 100644
--- a/website/docs/0.4.0-incubating/_config-apache.yml
+++ b/website/docs/0.4.0-incubating/_config-apache.yml
@@ -1 +1,2 @@
baseurl: "/distributedlog/docs/0.4.0-incubating"
+logo_url: "/distributedlog"
diff --git a/website/docs/0.4.0-incubating/_config-production.yml b/website/docs/0.4.0-incubating/_config-production.yml
index 00fdd3c..294bf52 100644
--- a/website/docs/0.4.0-incubating/_config-production.yml
+++ b/website/docs/0.4.0-incubating/_config-production.yml
@@ -1 +1,2 @@
baseurl: "/docs/0.4.0-incubating"
+logo_url: "/"
diff --git a/website/docs/0.4.0-incubating/_config.yml b/website/docs/0.4.0-incubating/_config.yml
index 5a2eb62..085b224 100644
--- a/website/docs/0.4.0-incubating/_config.yml
+++ b/website/docs/0.4.0-incubating/_config.yml
@@ -12,6 +12,7 @@ description: > # this means to ignore newlines until "baseurl:"
# the subpath of your site, e.g. /blog
baseurl: ""
+logo_url: "/"
distributedlog_version: "0.4.0-incubating"
distributedlog_version_short: "0.4.0"
diff --git a/website/docs/0.4.0-incubating/_includes/header.html b/website/docs/0.4.0-incubating/_includes/header.html
index b1962db..ab79d22 100644
--- a/website/docs/0.4.0-incubating/_includes/header.html
+++ b/website/docs/0.4.0-incubating/_includes/header.html
@@ -2,7 +2,7 @@
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
- <a href="/distributedlog" class="navbar-brand" >
+ <a href="{{ site.logo_url }}" class="navbar-brand" >
<img alt="Brand" style="height: 28px" src="{{ "/images/distributedlog_logo_navbar.png" | prepend: site.baseurl }}">
</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
diff --git a/website/docs/0.5.0/_config-apache.yml b/website/docs/0.5.0/_config-apache.yml
index bf395a3..a1d7220 100644
--- a/website/docs/0.5.0/_config-apache.yml
+++ b/website/docs/0.5.0/_config-apache.yml
@@ -1 +1,2 @@
-baseurl: "/distributedlog/docs/latest"
+baseurl: "/distributedlog/docs/0.5.0"
+logo_url: "/distributedlog"
diff --git a/website/docs/0.5.0/_config-production.yml b/website/docs/0.5.0/_config-production.yml
index d5c50d4..e438e54 100644
--- a/website/docs/0.5.0/_config-production.yml
+++ b/website/docs/0.5.0/_config-production.yml
@@ -1 +1,2 @@
baseurl: "/docs/latest"
+logo_url: "/"
diff --git a/website/docs/0.5.0/_config.yml b/website/docs/0.5.0/_config.yml
index 674b806..711689f 100644
--- a/website/docs/0.5.0/_config.yml
+++ b/website/docs/0.5.0/_config.yml
@@ -12,6 +12,7 @@ description: > # this means to ignore newlines until "baseurl:"
# the subpath of your site, e.g. /blog
baseurl: ""
+logo_url: "/"
distributedlog_version: "0.5.0"
distributedlog_version_short: "0.5.0"
diff --git a/website/docs/0.5.0/_includes/header.html b/website/docs/0.5.0/_includes/header.html
index b1962db..ab79d22 100644
--- a/website/docs/0.5.0/_includes/header.html
+++ b/website/docs/0.5.0/_includes/header.html
@@ -2,7 +2,7 @@
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
- <a href="/distributedlog" class="navbar-brand" >
+ <a href="{{ site.logo_url }}" class="navbar-brand" >
<img alt="Brand" style="height: 28px" src="{{ "/images/distributedlog_logo_navbar.png" | prepend: site.baseurl }}">
</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
diff --git a/website/docs/0.5.0/releaseNotes.md b/website/docs/0.5.0/releaseNotes.md
index 83cfaf4..cd58a67 100644
--- a/website/docs/0.5.0/releaseNotes.md
+++ b/website/docs/0.5.0/releaseNotes.md
@@ -1,5 +1,6 @@
---
title: Apache DistributedLog 0.5.0 Release Notes
+layout: default
---
This is the second Apache release of DistributedLog and the first release as a sub-project of Apache BookKeeper!
diff --git a/website/docs/0.5.0/start/download.rst b/website/docs/0.5.0/start/download.rst
index 2a96d5d..61fde56 100644
--- a/website/docs/0.5.0/start/download.rst
+++ b/website/docs/0.5.0/start/download.rst
@@ -18,25 +18,39 @@ You can verify your download by checking its md5 and sha1.
0.5.0
~~~~~~~~~~~~~~~~
-This is the second Apache release and the first release after graduating from Apache Incubator. Download here_.
+This is the second Apache release and the first release after graduating from Apache Incubator. Download `here`__.
-- `Release Notes`_
+.. _Download050: https://dist.apache.org/repos/dist/release/bookkeeper/distributedlog/0.5.0
-.. _here: https://dist.apache.org/repos/dist/release/bookkeeper/distributedlog/0.5.0
-.. _Release Notes: ../../releaseNotes
+__ Download050_
+
+- `Release Notes`__
+
+.. _ReleaseNotes050: ../../0.5.0/releaseNotes
+
+__ ReleaseNotes050_
0.4.0-incubating
~~~~~~~~~~~~~~~~
-This is the first Apache release. Download here_.
+This is the first Apache release. Download `here`__.
+
+.. _Download040: https://dist.apache.org/repos/dist/release/bookkeeper/distributedlog/0.4.0-incubating
+
+__ Download040_
+
+- `Release Notes`__
+
+.. _ReleaseNotes040: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12320620&version=12337980
+
+__ ReleaseNotes040_
+
+- `Announce Blog Post`__
-- `Release Notes`_
-- `Announce Blog Post`_
+.. _AnnounceBlogPost040: /distributedlog/releases/2017/04/23/the-first-release.html
-.. _here: https://dist.apache.org/repos/dist/release/bookkeeper/distributedlog/0.4.0-incubating
-.. _Release Notes: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12320620&version=12337980
-.. _Announce Blog Post: /distributedlog/releases/2017/04/23/the-first-release.html
+__ AnnounceBlogPost040_
The releases before Apache Incubating are also listed as below:
diff --git a/website/docs/latest b/website/docs/latest
deleted file mode 120000
index 92a7f82..0000000
--- a/website/docs/latest
+++ /dev/null
@@ -1 +0,0 @@
-../../docs
\ No newline at end of file
diff --git a/docs/.gitignore b/website/docs/latest/.gitignore
similarity index 100%
rename from docs/.gitignore
rename to website/docs/latest/.gitignore
diff --git a/docs/Gemfile b/website/docs/latest/Gemfile
similarity index 100%
rename from docs/Gemfile
rename to website/docs/latest/Gemfile
diff --git a/docs/Gemfile.lock b/website/docs/latest/Gemfile.lock
similarity index 100%
rename from docs/Gemfile.lock
rename to website/docs/latest/Gemfile.lock
diff --git a/docs/README.md b/website/docs/latest/README.md
similarity index 100%
rename from docs/README.md
rename to website/docs/latest/README.md
diff --git a/docs/Rakefile b/website/docs/latest/Rakefile
similarity index 100%
rename from docs/Rakefile
rename to website/docs/latest/Rakefile
diff --git a/docs/_config-apache.yml b/website/docs/latest/_config-apache.yml
similarity index 58%
rename from docs/_config-apache.yml
rename to website/docs/latest/_config-apache.yml
index bf395a3..5761ca0 100644
--- a/docs/_config-apache.yml
+++ b/website/docs/latest/_config-apache.yml
@@ -1 +1,2 @@
baseurl: "/distributedlog/docs/latest"
+logo_url: "/distributedlog"
diff --git a/docs/_config-local.yml b/website/docs/latest/_config-local.yml
similarity index 100%
rename from docs/_config-local.yml
rename to website/docs/latest/_config-local.yml
diff --git a/docs/_config-production.yml b/website/docs/latest/_config-production.yml
similarity index 63%
rename from docs/_config-production.yml
rename to website/docs/latest/_config-production.yml
index d5c50d4..e438e54 100644
--- a/docs/_config-production.yml
+++ b/website/docs/latest/_config-production.yml
@@ -1 +1,2 @@
baseurl: "/docs/latest"
+logo_url: "/"
diff --git a/docs/_config-staging.yml b/website/docs/latest/_config-staging.yml
similarity index 100%
rename from docs/_config-staging.yml
rename to website/docs/latest/_config-staging.yml
diff --git a/docs/_config.yml b/website/docs/latest/_config.yml
similarity index 94%
rename from docs/_config.yml
rename to website/docs/latest/_config.yml
index 0d8a8e3..d8bd8e0 100644
--- a/docs/_config.yml
+++ b/website/docs/latest/_config.yml
@@ -12,9 +12,10 @@ description: > # this means to ignore newlines until "baseurl:"
# the subpath of your site, e.g. /blog
baseurl: ""
+logo_url: "/"
-distributedlog_version: "0.5.0-SNAPSHOT"
-distributedlog_version_short: "0.5.0"
+distributedlog_version: "0.6.0-SNAPSHOT"
+distributedlog_version_short: "0.6.0"
# the base hostname & protocol for your site
url: "http://bookkeeper.apache.org/distributedlog"
diff --git a/docs/_includes/anchors_links.html b/website/docs/latest/_includes/anchors_links.html
similarity index 100%
rename from docs/_includes/anchors_links.html
rename to website/docs/latest/_includes/anchors_links.html
diff --git a/docs/_includes/footer.html b/website/docs/latest/_includes/footer.html
similarity index 100%
rename from docs/_includes/footer.html
rename to website/docs/latest/_includes/footer.html
diff --git a/docs/_includes/head.html b/website/docs/latest/_includes/head.html
similarity index 100%
rename from docs/_includes/head.html
rename to website/docs/latest/_includes/head.html
diff --git a/docs/_includes/header.html b/website/docs/latest/_includes/header.html
similarity index 99%
rename from docs/_includes/header.html
rename to website/docs/latest/_includes/header.html
index b1962db..ab79d22 100644
--- a/docs/_includes/header.html
+++ b/website/docs/latest/_includes/header.html
@@ -2,7 +2,7 @@
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
- <a href="/distributedlog" class="navbar-brand" >
+ <a href="{{ site.logo_url }}" class="navbar-brand" >
<img alt="Brand" style="height: 28px" src="{{ "/images/distributedlog_logo_navbar.png" | prepend: site.baseurl }}">
</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
diff --git a/docs/_layouts/base.html b/website/docs/latest/_layouts/base.html
similarity index 100%
rename from docs/_layouts/base.html
rename to website/docs/latest/_layouts/base.html
diff --git a/docs/_layouts/default.html b/website/docs/latest/_layouts/default.html
similarity index 100%
rename from docs/_layouts/default.html
rename to website/docs/latest/_layouts/default.html
diff --git a/docs/_layouts/guide.html b/website/docs/latest/_layouts/guide.html
similarity index 100%
rename from docs/_layouts/guide.html
rename to website/docs/latest/_layouts/guide.html
diff --git a/docs/_plugins/jekyll-rst/.gitignore b/website/docs/latest/_plugins/jekyll-rst/.gitignore
similarity index 100%
rename from docs/_plugins/jekyll-rst/.gitignore
rename to website/docs/latest/_plugins/jekyll-rst/.gitignore
diff --git a/docs/_plugins/jekyll-rst/LICENSE.txt b/website/docs/latest/_plugins/jekyll-rst/LICENSE.txt
similarity index 100%
rename from docs/_plugins/jekyll-rst/LICENSE.txt
rename to website/docs/latest/_plugins/jekyll-rst/LICENSE.txt
diff --git a/docs/_plugins/jekyll-rst/README.rst b/website/docs/latest/_plugins/jekyll-rst/README.rst
similarity index 100%
rename from docs/_plugins/jekyll-rst/README.rst
rename to website/docs/latest/_plugins/jekyll-rst/README.rst
diff --git a/docs/_plugins/jekyll-rst/converter.rb b/website/docs/latest/_plugins/jekyll-rst/converter.rb
similarity index 100%
rename from docs/_plugins/jekyll-rst/converter.rb
rename to website/docs/latest/_plugins/jekyll-rst/converter.rb
diff --git a/docs/_plugins/jekyll-rst/directives.py b/website/docs/latest/_plugins/jekyll-rst/directives.py
similarity index 100%
rename from docs/_plugins/jekyll-rst/directives.py
rename to website/docs/latest/_plugins/jekyll-rst/directives.py
diff --git a/docs/_plugins/jekyll-rst/rst2html.py b/website/docs/latest/_plugins/jekyll-rst/rst2html.py
similarity index 100%
rename from docs/_plugins/jekyll-rst/rst2html.py
rename to website/docs/latest/_plugins/jekyll-rst/rst2html.py
diff --git a/docs/_plugins/jekyll-rst/transform.py b/website/docs/latest/_plugins/jekyll-rst/transform.py
similarity index 100%
rename from docs/_plugins/jekyll-rst/transform.py
rename to website/docs/latest/_plugins/jekyll-rst/transform.py
diff --git a/docs/_sass/_base.scss b/website/docs/latest/_sass/_base.scss
similarity index 100%
rename from docs/_sass/_base.scss
rename to website/docs/latest/_sass/_base.scss
diff --git a/docs/_sass/_bootstrap.scss b/website/docs/latest/_sass/_bootstrap.scss
similarity index 100%
rename from docs/_sass/_bootstrap.scss
rename to website/docs/latest/_sass/_bootstrap.scss
diff --git a/docs/_sass/_layout.scss b/website/docs/latest/_sass/_layout.scss
similarity index 100%
rename from docs/_sass/_layout.scss
rename to website/docs/latest/_sass/_layout.scss
diff --git a/docs/_sass/_syntax-highlighting.scss b/website/docs/latest/_sass/_syntax-highlighting.scss
similarity index 100%
rename from docs/_sass/_syntax-highlighting.scss
rename to website/docs/latest/_sass/_syntax-highlighting.scss
diff --git a/docs/_sass/bootstrap/_alerts.scss b/website/docs/latest/_sass/bootstrap/_alerts.scss
similarity index 100%
rename from docs/_sass/bootstrap/_alerts.scss
rename to website/docs/latest/_sass/bootstrap/_alerts.scss
diff --git a/docs/_sass/bootstrap/_badges.scss b/website/docs/latest/_sass/bootstrap/_badges.scss
similarity index 100%
rename from docs/_sass/bootstrap/_badges.scss
rename to website/docs/latest/_sass/bootstrap/_badges.scss
diff --git a/docs/_sass/bootstrap/_breadcrumbs.scss b/website/docs/latest/_sass/bootstrap/_breadcrumbs.scss
similarity index 100%
rename from docs/_sass/bootstrap/_breadcrumbs.scss
rename to website/docs/latest/_sass/bootstrap/_breadcrumbs.scss
diff --git a/docs/_sass/bootstrap/_button-groups.scss b/website/docs/latest/_sass/bootstrap/_button-groups.scss
similarity index 100%
rename from docs/_sass/bootstrap/_button-groups.scss
rename to website/docs/latest/_sass/bootstrap/_button-groups.scss
diff --git a/docs/_sass/bootstrap/_buttons.scss b/website/docs/latest/_sass/bootstrap/_buttons.scss
similarity index 100%
rename from docs/_sass/bootstrap/_buttons.scss
rename to website/docs/latest/_sass/bootstrap/_buttons.scss
diff --git a/docs/_sass/bootstrap/_carousel.scss b/website/docs/latest/_sass/bootstrap/_carousel.scss
similarity index 100%
rename from docs/_sass/bootstrap/_carousel.scss
rename to website/docs/latest/_sass/bootstrap/_carousel.scss
diff --git a/docs/_sass/bootstrap/_close.scss b/website/docs/latest/_sass/bootstrap/_close.scss
similarity index 100%
rename from docs/_sass/bootstrap/_close.scss
rename to website/docs/latest/_sass/bootstrap/_close.scss
diff --git a/docs/_sass/bootstrap/_code.scss b/website/docs/latest/_sass/bootstrap/_code.scss
similarity index 100%
rename from docs/_sass/bootstrap/_code.scss
rename to website/docs/latest/_sass/bootstrap/_code.scss
diff --git a/docs/_sass/bootstrap/_component-animations.scss b/website/docs/latest/_sass/bootstrap/_component-animations.scss
similarity index 100%
rename from docs/_sass/bootstrap/_component-animations.scss
rename to website/docs/latest/_sass/bootstrap/_component-animations.scss
diff --git a/docs/_sass/bootstrap/_dropdowns.scss b/website/docs/latest/_sass/bootstrap/_dropdowns.scss
similarity index 100%
rename from docs/_sass/bootstrap/_dropdowns.scss
rename to website/docs/latest/_sass/bootstrap/_dropdowns.scss
diff --git a/docs/_sass/bootstrap/_forms.scss b/website/docs/latest/_sass/bootstrap/_forms.scss
similarity index 100%
rename from docs/_sass/bootstrap/_forms.scss
rename to website/docs/latest/_sass/bootstrap/_forms.scss
diff --git a/docs/_sass/bootstrap/_glyphicons.scss b/website/docs/latest/_sass/bootstrap/_glyphicons.scss
similarity index 100%
rename from docs/_sass/bootstrap/_glyphicons.scss
rename to website/docs/latest/_sass/bootstrap/_glyphicons.scss
diff --git a/docs/_sass/bootstrap/_grid.scss b/website/docs/latest/_sass/bootstrap/_grid.scss
similarity index 100%
rename from docs/_sass/bootstrap/_grid.scss
rename to website/docs/latest/_sass/bootstrap/_grid.scss
diff --git a/docs/_sass/bootstrap/_input-groups.scss b/website/docs/latest/_sass/bootstrap/_input-groups.scss
similarity index 100%
rename from docs/_sass/bootstrap/_input-groups.scss
rename to website/docs/latest/_sass/bootstrap/_input-groups.scss
diff --git a/docs/_sass/bootstrap/_jumbotron.scss b/website/docs/latest/_sass/bootstrap/_jumbotron.scss
similarity index 100%
rename from docs/_sass/bootstrap/_jumbotron.scss
rename to website/docs/latest/_sass/bootstrap/_jumbotron.scss
diff --git a/docs/_sass/bootstrap/_labels.scss b/website/docs/latest/_sass/bootstrap/_labels.scss
similarity index 100%
rename from docs/_sass/bootstrap/_labels.scss
rename to website/docs/latest/_sass/bootstrap/_labels.scss
diff --git a/docs/_sass/bootstrap/_list-group.scss b/website/docs/latest/_sass/bootstrap/_list-group.scss
similarity index 100%
rename from docs/_sass/bootstrap/_list-group.scss
rename to website/docs/latest/_sass/bootstrap/_list-group.scss
diff --git a/docs/_sass/bootstrap/_media.scss b/website/docs/latest/_sass/bootstrap/_media.scss
similarity index 100%
rename from docs/_sass/bootstrap/_media.scss
rename to website/docs/latest/_sass/bootstrap/_media.scss
diff --git a/docs/_sass/bootstrap/_mixins.scss b/website/docs/latest/_sass/bootstrap/_mixins.scss
similarity index 100%
rename from docs/_sass/bootstrap/_mixins.scss
rename to website/docs/latest/_sass/bootstrap/_mixins.scss
diff --git a/docs/_sass/bootstrap/_modals.scss b/website/docs/latest/_sass/bootstrap/_modals.scss
similarity index 100%
rename from docs/_sass/bootstrap/_modals.scss
rename to website/docs/latest/_sass/bootstrap/_modals.scss
diff --git a/docs/_sass/bootstrap/_navbar.scss b/website/docs/latest/_sass/bootstrap/_navbar.scss
similarity index 100%
rename from docs/_sass/bootstrap/_navbar.scss
rename to website/docs/latest/_sass/bootstrap/_navbar.scss
diff --git a/docs/_sass/bootstrap/_navs.scss b/website/docs/latest/_sass/bootstrap/_navs.scss
similarity index 100%
rename from docs/_sass/bootstrap/_navs.scss
rename to website/docs/latest/_sass/bootstrap/_navs.scss
diff --git a/docs/_sass/bootstrap/_normalize.scss b/website/docs/latest/_sass/bootstrap/_normalize.scss
similarity index 100%
rename from docs/_sass/bootstrap/_normalize.scss
rename to website/docs/latest/_sass/bootstrap/_normalize.scss
diff --git a/docs/_sass/bootstrap/_pager.scss b/website/docs/latest/_sass/bootstrap/_pager.scss
similarity index 100%
rename from docs/_sass/bootstrap/_pager.scss
rename to website/docs/latest/_sass/bootstrap/_pager.scss
diff --git a/docs/_sass/bootstrap/_pagination.scss b/website/docs/latest/_sass/bootstrap/_pagination.scss
similarity index 100%
rename from docs/_sass/bootstrap/_pagination.scss
rename to website/docs/latest/_sass/bootstrap/_pagination.scss
diff --git a/docs/_sass/bootstrap/_panels.scss b/website/docs/latest/_sass/bootstrap/_panels.scss
similarity index 100%
rename from docs/_sass/bootstrap/_panels.scss
rename to website/docs/latest/_sass/bootstrap/_panels.scss
diff --git a/docs/_sass/bootstrap/_popovers.scss b/website/docs/latest/_sass/bootstrap/_popovers.scss
similarity index 100%
rename from docs/_sass/bootstrap/_popovers.scss
rename to website/docs/latest/_sass/bootstrap/_popovers.scss
diff --git a/docs/_sass/bootstrap/_print.scss b/website/docs/latest/_sass/bootstrap/_print.scss
similarity index 100%
rename from docs/_sass/bootstrap/_print.scss
rename to website/docs/latest/_sass/bootstrap/_print.scss
diff --git a/docs/_sass/bootstrap/_progress-bars.scss b/website/docs/latest/_sass/bootstrap/_progress-bars.scss
similarity index 100%
rename from docs/_sass/bootstrap/_progress-bars.scss
rename to website/docs/latest/_sass/bootstrap/_progress-bars.scss
diff --git a/docs/_sass/bootstrap/_responsive-embed.scss b/website/docs/latest/_sass/bootstrap/_responsive-embed.scss
similarity index 100%
rename from docs/_sass/bootstrap/_responsive-embed.scss
rename to website/docs/latest/_sass/bootstrap/_responsive-embed.scss
diff --git a/docs/_sass/bootstrap/_responsive-utilities.scss b/website/docs/latest/_sass/bootstrap/_responsive-utilities.scss
similarity index 100%
rename from docs/_sass/bootstrap/_responsive-utilities.scss
rename to website/docs/latest/_sass/bootstrap/_responsive-utilities.scss
diff --git a/docs/_sass/bootstrap/_scaffolding.scss b/website/docs/latest/_sass/bootstrap/_scaffolding.scss
similarity index 100%
rename from docs/_sass/bootstrap/_scaffolding.scss
rename to website/docs/latest/_sass/bootstrap/_scaffolding.scss
diff --git a/docs/_sass/bootstrap/_tables.scss b/website/docs/latest/_sass/bootstrap/_tables.scss
similarity index 100%
rename from docs/_sass/bootstrap/_tables.scss
rename to website/docs/latest/_sass/bootstrap/_tables.scss
diff --git a/docs/_sass/bootstrap/_theme.scss b/website/docs/latest/_sass/bootstrap/_theme.scss
similarity index 100%
rename from docs/_sass/bootstrap/_theme.scss
rename to website/docs/latest/_sass/bootstrap/_theme.scss
diff --git a/docs/_sass/bootstrap/_thumbnails.scss b/website/docs/latest/_sass/bootstrap/_thumbnails.scss
similarity index 100%
rename from docs/_sass/bootstrap/_thumbnails.scss
rename to website/docs/latest/_sass/bootstrap/_thumbnails.scss
diff --git a/docs/_sass/bootstrap/_tooltip.scss b/website/docs/latest/_sass/bootstrap/_tooltip.scss
similarity index 100%
rename from docs/_sass/bootstrap/_tooltip.scss
rename to website/docs/latest/_sass/bootstrap/_tooltip.scss
diff --git a/docs/_sass/bootstrap/_type.scss b/website/docs/latest/_sass/bootstrap/_type.scss
similarity index 100%
rename from docs/_sass/bootstrap/_type.scss
rename to website/docs/latest/_sass/bootstrap/_type.scss
diff --git a/docs/_sass/bootstrap/_utilities.scss b/website/docs/latest/_sass/bootstrap/_utilities.scss
similarity index 100%
rename from docs/_sass/bootstrap/_utilities.scss
rename to website/docs/latest/_sass/bootstrap/_utilities.scss
diff --git a/docs/_sass/bootstrap/_variables.scss b/website/docs/latest/_sass/bootstrap/_variables.scss
similarity index 100%
rename from docs/_sass/bootstrap/_variables.scss
rename to website/docs/latest/_sass/bootstrap/_variables.scss
diff --git a/docs/_sass/bootstrap/_wells.scss b/website/docs/latest/_sass/bootstrap/_wells.scss
similarity index 100%
rename from docs/_sass/bootstrap/_wells.scss
rename to website/docs/latest/_sass/bootstrap/_wells.scss
diff --git a/docs/_sass/bootstrap/mixins/_alerts.scss b/website/docs/latest/_sass/bootstrap/mixins/_alerts.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_alerts.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_alerts.scss
diff --git a/docs/_sass/bootstrap/mixins/_background-variant.scss b/website/docs/latest/_sass/bootstrap/mixins/_background-variant.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_background-variant.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_background-variant.scss
diff --git a/docs/_sass/bootstrap/mixins/_border-radius.scss b/website/docs/latest/_sass/bootstrap/mixins/_border-radius.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_border-radius.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_border-radius.scss
diff --git a/docs/_sass/bootstrap/mixins/_buttons.scss b/website/docs/latest/_sass/bootstrap/mixins/_buttons.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_buttons.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_buttons.scss
diff --git a/docs/_sass/bootstrap/mixins/_center-block.scss b/website/docs/latest/_sass/bootstrap/mixins/_center-block.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_center-block.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_center-block.scss
diff --git a/docs/_sass/bootstrap/mixins/_clearfix.scss b/website/docs/latest/_sass/bootstrap/mixins/_clearfix.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_clearfix.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_clearfix.scss
diff --git a/docs/_sass/bootstrap/mixins/_forms.scss b/website/docs/latest/_sass/bootstrap/mixins/_forms.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_forms.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_forms.scss
diff --git a/docs/_sass/bootstrap/mixins/_gradients.scss b/website/docs/latest/_sass/bootstrap/mixins/_gradients.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_gradients.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_gradients.scss
diff --git a/docs/_sass/bootstrap/mixins/_grid-framework.scss b/website/docs/latest/_sass/bootstrap/mixins/_grid-framework.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_grid-framework.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_grid-framework.scss
diff --git a/docs/_sass/bootstrap/mixins/_grid.scss b/website/docs/latest/_sass/bootstrap/mixins/_grid.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_grid.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_grid.scss
diff --git a/docs/_sass/bootstrap/mixins/_hide-text.scss b/website/docs/latest/_sass/bootstrap/mixins/_hide-text.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_hide-text.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_hide-text.scss
diff --git a/docs/_sass/bootstrap/mixins/_image.scss b/website/docs/latest/_sass/bootstrap/mixins/_image.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_image.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_image.scss
diff --git a/docs/_sass/bootstrap/mixins/_labels.scss b/website/docs/latest/_sass/bootstrap/mixins/_labels.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_labels.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_labels.scss
diff --git a/docs/_sass/bootstrap/mixins/_list-group.scss b/website/docs/latest/_sass/bootstrap/mixins/_list-group.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_list-group.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_list-group.scss
diff --git a/docs/_sass/bootstrap/mixins/_nav-divider.scss b/website/docs/latest/_sass/bootstrap/mixins/_nav-divider.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_nav-divider.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_nav-divider.scss
diff --git a/docs/_sass/bootstrap/mixins/_nav-vertical-align.scss b/website/docs/latest/_sass/bootstrap/mixins/_nav-vertical-align.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_nav-vertical-align.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_nav-vertical-align.scss
diff --git a/docs/_sass/bootstrap/mixins/_opacity.scss b/website/docs/latest/_sass/bootstrap/mixins/_opacity.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_opacity.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_opacity.scss
diff --git a/docs/_sass/bootstrap/mixins/_pagination.scss b/website/docs/latest/_sass/bootstrap/mixins/_pagination.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_pagination.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_pagination.scss
diff --git a/docs/_sass/bootstrap/mixins/_panels.scss b/website/docs/latest/_sass/bootstrap/mixins/_panels.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_panels.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_panels.scss
diff --git a/docs/_sass/bootstrap/mixins/_progress-bar.scss b/website/docs/latest/_sass/bootstrap/mixins/_progress-bar.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_progress-bar.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_progress-bar.scss
diff --git a/docs/_sass/bootstrap/mixins/_reset-filter.scss b/website/docs/latest/_sass/bootstrap/mixins/_reset-filter.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_reset-filter.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_reset-filter.scss
diff --git a/docs/_sass/bootstrap/mixins/_reset-text.scss b/website/docs/latest/_sass/bootstrap/mixins/_reset-text.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_reset-text.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_reset-text.scss
diff --git a/docs/_sass/bootstrap/mixins/_resize.scss b/website/docs/latest/_sass/bootstrap/mixins/_resize.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_resize.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_resize.scss
diff --git a/docs/_sass/bootstrap/mixins/_responsive-visibility.scss b/website/docs/latest/_sass/bootstrap/mixins/_responsive-visibility.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_responsive-visibility.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_responsive-visibility.scss
diff --git a/docs/_sass/bootstrap/mixins/_size.scss b/website/docs/latest/_sass/bootstrap/mixins/_size.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_size.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_size.scss
diff --git a/docs/_sass/bootstrap/mixins/_tab-focus.scss b/website/docs/latest/_sass/bootstrap/mixins/_tab-focus.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_tab-focus.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_tab-focus.scss
diff --git a/docs/_sass/bootstrap/mixins/_table-row.scss b/website/docs/latest/_sass/bootstrap/mixins/_table-row.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_table-row.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_table-row.scss
diff --git a/docs/_sass/bootstrap/mixins/_text-emphasis.scss b/website/docs/latest/_sass/bootstrap/mixins/_text-emphasis.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_text-emphasis.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_text-emphasis.scss
diff --git a/docs/_sass/bootstrap/mixins/_text-overflow.scss b/website/docs/latest/_sass/bootstrap/mixins/_text-overflow.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_text-overflow.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_text-overflow.scss
diff --git a/docs/_sass/bootstrap/mixins/_vendor-prefixes.scss b/website/docs/latest/_sass/bootstrap/mixins/_vendor-prefixes.scss
similarity index 100%
rename from docs/_sass/bootstrap/mixins/_vendor-prefixes.scss
rename to website/docs/latest/_sass/bootstrap/mixins/_vendor-prefixes.scss
diff --git a/docs/admin_guide/bookkeeper.rst b/website/docs/latest/admin_guide/bookkeeper.rst
similarity index 100%
rename from docs/admin_guide/bookkeeper.rst
rename to website/docs/latest/admin_guide/bookkeeper.rst
diff --git a/docs/admin_guide/hardware.rst b/website/docs/latest/admin_guide/hardware.rst
similarity index 100%
rename from docs/admin_guide/hardware.rst
rename to website/docs/latest/admin_guide/hardware.rst
diff --git a/docs/admin_guide/loadtest.rst b/website/docs/latest/admin_guide/loadtest.rst
similarity index 100%
rename from docs/admin_guide/loadtest.rst
rename to website/docs/latest/admin_guide/loadtest.rst
diff --git a/docs/admin_guide/main.rst b/website/docs/latest/admin_guide/main.rst
similarity index 100%
rename from docs/admin_guide/main.rst
rename to website/docs/latest/admin_guide/main.rst
diff --git a/docs/admin_guide/monitoring.rst b/website/docs/latest/admin_guide/monitoring.rst
similarity index 100%
rename from docs/admin_guide/monitoring.rst
rename to website/docs/latest/admin_guide/monitoring.rst
diff --git a/docs/admin_guide/operations.rst b/website/docs/latest/admin_guide/operations.rst
similarity index 100%
rename from docs/admin_guide/operations.rst
rename to website/docs/latest/admin_guide/operations.rst
diff --git a/docs/admin_guide/performance.rst b/website/docs/latest/admin_guide/performance.rst
similarity index 100%
rename from docs/admin_guide/performance.rst
rename to website/docs/latest/admin_guide/performance.rst
diff --git a/docs/admin_guide/vagrant.rst b/website/docs/latest/admin_guide/vagrant.rst
similarity index 100%
rename from docs/admin_guide/vagrant.rst
rename to website/docs/latest/admin_guide/vagrant.rst
diff --git a/docs/admin_guide/zookeeper.rst b/website/docs/latest/admin_guide/zookeeper.rst
similarity index 100%
rename from docs/admin_guide/zookeeper.rst
rename to website/docs/latest/admin_guide/zookeeper.rst
diff --git a/docs/basics/introduction.rst b/website/docs/latest/basics/introduction.rst
similarity index 100%
rename from docs/basics/introduction.rst
rename to website/docs/latest/basics/introduction.rst
diff --git a/docs/css/main.scss b/website/docs/latest/css/main.scss
similarity index 100%
rename from docs/css/main.scss
rename to website/docs/latest/css/main.scss
diff --git a/docs/css/theme.css b/website/docs/latest/css/theme.css
similarity index 100%
rename from docs/css/theme.css
rename to website/docs/latest/css/theme.css
diff --git a/docs/deployment/cluster.rst b/website/docs/latest/deployment/cluster.rst
similarity index 100%
rename from docs/deployment/cluster.rst
rename to website/docs/latest/deployment/cluster.rst
diff --git a/docs/deployment/docker.rst b/website/docs/latest/deployment/docker.rst
similarity index 100%
rename from docs/deployment/docker.rst
rename to website/docs/latest/deployment/docker.rst
diff --git a/docs/deployment/global-cluster.rst b/website/docs/latest/deployment/global-cluster.rst
similarity index 100%
rename from docs/deployment/global-cluster.rst
rename to website/docs/latest/deployment/global-cluster.rst
diff --git a/docs/fonts/bootstrap/glyphicons-halflings-regular.eot b/website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.eot
similarity index 100%
rename from docs/fonts/bootstrap/glyphicons-halflings-regular.eot
rename to website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.eot
diff --git a/docs/fonts/bootstrap/glyphicons-halflings-regular.svg b/website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.svg
similarity index 100%
rename from docs/fonts/bootstrap/glyphicons-halflings-regular.svg
rename to website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.svg
diff --git a/docs/fonts/bootstrap/glyphicons-halflings-regular.ttf b/website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.ttf
similarity index 100%
rename from docs/fonts/bootstrap/glyphicons-halflings-regular.ttf
rename to website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.ttf
diff --git a/docs/fonts/bootstrap/glyphicons-halflings-regular.woff b/website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.woff
similarity index 100%
rename from docs/fonts/bootstrap/glyphicons-halflings-regular.woff
rename to website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.woff
diff --git a/docs/fonts/bootstrap/glyphicons-halflings-regular.woff2 b/website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.woff2
similarity index 100%
rename from docs/fonts/bootstrap/glyphicons-halflings-regular.woff2
rename to website/docs/latest/fonts/bootstrap/glyphicons-halflings-regular.woff2
diff --git a/docs/images/costmodel.png b/website/docs/latest/images/costmodel.png
similarity index 100%
rename from docs/images/costmodel.png
rename to website/docs/latest/images/costmodel.png
diff --git a/docs/images/datamodel.png b/website/docs/latest/images/datamodel.png
similarity index 100%
rename from docs/images/datamodel.png
rename to website/docs/latest/images/datamodel.png
diff --git a/docs/images/distributedlog_logo_l.png b/website/docs/latest/images/distributedlog_logo_l.png
similarity index 100%
rename from docs/images/distributedlog_logo_l.png
rename to website/docs/latest/images/distributedlog_logo_l.png
diff --git a/docs/images/distributedlog_logo_navbar.png b/website/docs/latest/images/distributedlog_logo_navbar.png
similarity index 100%
rename from docs/images/distributedlog_logo_navbar.png
rename to website/docs/latest/images/distributedlog_logo_navbar.png
diff --git a/docs/images/distributedlog_logo_s.png b/website/docs/latest/images/distributedlog_logo_s.png
similarity index 100%
rename from docs/images/distributedlog_logo_s.png
rename to website/docs/latest/images/distributedlog_logo_s.png
diff --git a/docs/images/distribution.png b/website/docs/latest/images/distribution.png
similarity index 100%
rename from docs/images/distribution.png
rename to website/docs/latest/images/distribution.png
diff --git a/docs/images/favicon.ico b/website/docs/latest/images/favicon.ico
similarity index 100%
rename from docs/images/favicon.ico
rename to website/docs/latest/images/favicon.ico
diff --git a/docs/images/fencing.png b/website/docs/latest/images/fencing.png
similarity index 100%
rename from docs/images/fencing.png
rename to website/docs/latest/images/fencing.png
diff --git a/docs/images/globalreplicatedlog.png b/website/docs/latest/images/globalreplicatedlog.png
similarity index 100%
rename from docs/images/globalreplicatedlog.png
rename to website/docs/latest/images/globalreplicatedlog.png
diff --git a/docs/images/lacprotocol.png b/website/docs/latest/images/lacprotocol.png
similarity index 100%
rename from docs/images/lacprotocol.png
rename to website/docs/latest/images/lacprotocol.png
diff --git a/docs/images/logsegments.png b/website/docs/latest/images/logsegments.png
similarity index 100%
rename from docs/images/logsegments.png
rename to website/docs/latest/images/logsegments.png
diff --git a/docs/images/pubsub.png b/website/docs/latest/images/pubsub.png
similarity index 100%
rename from docs/images/pubsub.png
rename to website/docs/latest/images/pubsub.png
diff --git a/docs/images/readrequests.png b/website/docs/latest/images/readrequests.png
similarity index 100%
rename from docs/images/readrequests.png
rename to website/docs/latest/images/readrequests.png
diff --git a/docs/images/requestflow.png b/website/docs/latest/images/requestflow.png
similarity index 100%
rename from docs/images/requestflow.png
rename to website/docs/latest/images/requestflow.png
diff --git a/docs/images/requestrouting.png b/website/docs/latest/images/requestrouting.png
similarity index 100%
rename from docs/images/requestrouting.png
rename to website/docs/latest/images/requestrouting.png
diff --git a/docs/images/softwarestack.png b/website/docs/latest/images/softwarestack.png
similarity index 100%
rename from docs/images/softwarestack.png
rename to website/docs/latest/images/softwarestack.png
diff --git a/docs/index.md b/website/docs/latest/index.md
similarity index 100%
rename from docs/index.md
rename to website/docs/latest/index.md
diff --git a/docs/js/bootstrap-sprockets.js b/website/docs/latest/js/bootstrap-sprockets.js
similarity index 100%
rename from docs/js/bootstrap-sprockets.js
rename to website/docs/latest/js/bootstrap-sprockets.js
diff --git a/docs/js/bootstrap.js b/website/docs/latest/js/bootstrap.js
similarity index 100%
rename from docs/js/bootstrap.js
rename to website/docs/latest/js/bootstrap.js
diff --git a/docs/js/bootstrap.min.js b/website/docs/latest/js/bootstrap.min.js
similarity index 100%
rename from docs/js/bootstrap.min.js
rename to website/docs/latest/js/bootstrap.min.js
diff --git a/docs/js/bootstrap/affix.js b/website/docs/latest/js/bootstrap/affix.js
similarity index 100%
rename from docs/js/bootstrap/affix.js
rename to website/docs/latest/js/bootstrap/affix.js
diff --git a/docs/js/bootstrap/alert.js b/website/docs/latest/js/bootstrap/alert.js
similarity index 100%
rename from docs/js/bootstrap/alert.js
rename to website/docs/latest/js/bootstrap/alert.js
diff --git a/docs/js/bootstrap/button.js b/website/docs/latest/js/bootstrap/button.js
similarity index 100%
rename from docs/js/bootstrap/button.js
rename to website/docs/latest/js/bootstrap/button.js
diff --git a/docs/js/bootstrap/carousel.js b/website/docs/latest/js/bootstrap/carousel.js
similarity index 100%
rename from docs/js/bootstrap/carousel.js
rename to website/docs/latest/js/bootstrap/carousel.js
diff --git a/docs/js/bootstrap/collapse.js b/website/docs/latest/js/bootstrap/collapse.js
similarity index 100%
rename from docs/js/bootstrap/collapse.js
rename to website/docs/latest/js/bootstrap/collapse.js
diff --git a/docs/js/bootstrap/dropdown.js b/website/docs/latest/js/bootstrap/dropdown.js
similarity index 100%
rename from docs/js/bootstrap/dropdown.js
rename to website/docs/latest/js/bootstrap/dropdown.js
diff --git a/docs/js/bootstrap/modal.js b/website/docs/latest/js/bootstrap/modal.js
similarity index 100%
rename from docs/js/bootstrap/modal.js
rename to website/docs/latest/js/bootstrap/modal.js
diff --git a/docs/js/bootstrap/popover.js b/website/docs/latest/js/bootstrap/popover.js
similarity index 100%
rename from docs/js/bootstrap/popover.js
rename to website/docs/latest/js/bootstrap/popover.js
diff --git a/docs/js/bootstrap/scrollspy.js b/website/docs/latest/js/bootstrap/scrollspy.js
similarity index 100%
rename from docs/js/bootstrap/scrollspy.js
rename to website/docs/latest/js/bootstrap/scrollspy.js
diff --git a/docs/js/bootstrap/tab.js b/website/docs/latest/js/bootstrap/tab.js
similarity index 100%
rename from docs/js/bootstrap/tab.js
rename to website/docs/latest/js/bootstrap/tab.js
diff --git a/docs/js/bootstrap/tooltip.js b/website/docs/latest/js/bootstrap/tooltip.js
similarity index 100%
rename from docs/js/bootstrap/tooltip.js
rename to website/docs/latest/js/bootstrap/tooltip.js
diff --git a/docs/js/bootstrap/transition.js b/website/docs/latest/js/bootstrap/transition.js
similarity index 100%
rename from docs/js/bootstrap/transition.js
rename to website/docs/latest/js/bootstrap/transition.js
diff --git a/docs/performance/main.rst b/website/docs/latest/performance/main.rst
similarity index 100%
rename from docs/performance/main.rst
rename to website/docs/latest/performance/main.rst
diff --git a/docs/start/building.rst b/website/docs/latest/start/building.rst
similarity index 100%
rename from docs/start/building.rst
rename to website/docs/latest/start/building.rst
diff --git a/docs/start/download.rst b/website/docs/latest/start/download.rst
similarity index 87%
rename from docs/start/download.rst
rename to website/docs/latest/start/download.rst
index 2a96d5d..61fde56 100644
--- a/docs/start/download.rst
+++ b/website/docs/latest/start/download.rst
@@ -18,25 +18,39 @@ You can verify your download by checking its md5 and sha1.
0.5.0
~~~~~~~~~~~~~~~~
-This is the second Apache release and the first release after graduating from Apache Incubator. Download here_.
+This is the second Apache release and the first release after graduating from Apache Incubator. Download `here`__.
-- `Release Notes`_
+.. _Download050: https://dist.apache.org/repos/dist/release/bookkeeper/distributedlog/0.5.0
-.. _here: https://dist.apache.org/repos/dist/release/bookkeeper/distributedlog/0.5.0
-.. _Release Notes: ../../releaseNotes
+__ Download050_
+
+- `Release Notes`__
+
+.. _ReleaseNotes050: ../../0.5.0/releaseNotes
+
+__ ReleaseNotes050_
0.4.0-incubating
~~~~~~~~~~~~~~~~
-This is the first Apache release. Download here_.
+This is the first Apache release. Download `here`__.
+
+.. _Download040: https://dist.apache.org/repos/dist/release/bookkeeper/distributedlog/0.4.0-incubating
+
+__ Download040_
+
+- `Release Notes`__
+
+.. _ReleaseNotes040: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12320620&version=12337980
+
+__ ReleaseNotes040_
+
+- `Announce Blog Post`__
-- `Release Notes`_
-- `Announce Blog Post`_
+.. _AnnounceBlogPost040: /distributedlog/releases/2017/04/23/the-first-release.html
-.. _here: https://dist.apache.org/repos/dist/release/bookkeeper/distributedlog/0.4.0-incubating
-.. _Release Notes: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12320620&version=12337980
-.. _Announce Blog Post: /distributedlog/releases/2017/04/23/the-first-release.html
+__ AnnounceBlogPost040_
The releases before Apache Incubating are also listed as below:
diff --git a/docs/start/quickstart.rst b/website/docs/latest/start/quickstart.rst
similarity index 100%
rename from docs/start/quickstart.rst
rename to website/docs/latest/start/quickstart.rst
diff --git a/docs/styles/site.scss b/website/docs/latest/styles/site.scss
similarity index 100%
rename from docs/styles/site.scss
rename to website/docs/latest/styles/site.scss
diff --git a/docs/tutorials/analytics-mapreduce.rst b/website/docs/latest/tutorials/analytics-mapreduce.rst
similarity index 100%
rename from docs/tutorials/analytics-mapreduce.rst
rename to website/docs/latest/tutorials/analytics-mapreduce.rst
diff --git a/docs/tutorials/basic-1.rst b/website/docs/latest/tutorials/basic-1.rst
similarity index 100%
rename from docs/tutorials/basic-1.rst
rename to website/docs/latest/tutorials/basic-1.rst
diff --git a/docs/tutorials/basic-2.rst b/website/docs/latest/tutorials/basic-2.rst
similarity index 100%
rename from docs/tutorials/basic-2.rst
rename to website/docs/latest/tutorials/basic-2.rst
diff --git a/docs/tutorials/basic-3.rst b/website/docs/latest/tutorials/basic-3.rst
similarity index 100%
rename from docs/tutorials/basic-3.rst
rename to website/docs/latest/tutorials/basic-3.rst
diff --git a/docs/tutorials/basic-4.rst b/website/docs/latest/tutorials/basic-4.rst
similarity index 100%
rename from docs/tutorials/basic-4.rst
rename to website/docs/latest/tutorials/basic-4.rst
diff --git a/docs/tutorials/basic-5.rst b/website/docs/latest/tutorials/basic-5.rst
similarity index 100%
rename from docs/tutorials/basic-5.rst
rename to website/docs/latest/tutorials/basic-5.rst
diff --git a/docs/tutorials/basic-6.rst b/website/docs/latest/tutorials/basic-6.rst
similarity index 100%
rename from docs/tutorials/basic-6.rst
rename to website/docs/latest/tutorials/basic-6.rst
diff --git a/docs/tutorials/main.rst b/website/docs/latest/tutorials/main.rst
similarity index 100%
rename from docs/tutorials/main.rst
rename to website/docs/latest/tutorials/main.rst
diff --git a/docs/tutorials/messaging-1.rst b/website/docs/latest/tutorials/messaging-1.rst
similarity index 100%
rename from docs/tutorials/messaging-1.rst
rename to website/docs/latest/tutorials/messaging-1.rst
diff --git a/docs/tutorials/messaging-2.rst b/website/docs/latest/tutorials/messaging-2.rst
similarity index 100%
rename from docs/tutorials/messaging-2.rst
rename to website/docs/latest/tutorials/messaging-2.rst
diff --git a/docs/tutorials/messaging-3.rst b/website/docs/latest/tutorials/messaging-3.rst
similarity index 100%
rename from docs/tutorials/messaging-3.rst
rename to website/docs/latest/tutorials/messaging-3.rst
diff --git a/docs/tutorials/messaging-4.rst b/website/docs/latest/tutorials/messaging-4.rst
similarity index 100%
rename from docs/tutorials/messaging-4.rst
rename to website/docs/latest/tutorials/messaging-4.rst
diff --git a/docs/tutorials/messaging-5.rst b/website/docs/latest/tutorials/messaging-5.rst
similarity index 100%
rename from docs/tutorials/messaging-5.rst
rename to website/docs/latest/tutorials/messaging-5.rst
diff --git a/docs/tutorials/replicatedstatemachines.rst b/website/docs/latest/tutorials/replicatedstatemachines.rst
similarity index 100%
rename from docs/tutorials/replicatedstatemachines.rst
rename to website/docs/latest/tutorials/replicatedstatemachines.rst
diff --git a/docs/user_guide/api/core.rst b/website/docs/latest/user_guide/api/core.rst
similarity index 100%
rename from docs/user_guide/api/core.rst
rename to website/docs/latest/user_guide/api/core.rst
diff --git a/docs/user_guide/api/main.rst b/website/docs/latest/user_guide/api/main.rst
similarity index 100%
rename from docs/user_guide/api/main.rst
rename to website/docs/latest/user_guide/api/main.rst
diff --git a/docs/user_guide/api/practice.rst b/website/docs/latest/user_guide/api/practice.rst
similarity index 100%
rename from docs/user_guide/api/practice.rst
rename to website/docs/latest/user_guide/api/practice.rst
diff --git a/docs/user_guide/api/proxy.rst b/website/docs/latest/user_guide/api/proxy.rst
similarity index 100%
rename from docs/user_guide/api/proxy.rst
rename to website/docs/latest/user_guide/api/proxy.rst
diff --git a/docs/user_guide/architecture/main.rst b/website/docs/latest/user_guide/architecture/main.rst
similarity index 100%
rename from docs/user_guide/architecture/main.rst
rename to website/docs/latest/user_guide/architecture/main.rst
diff --git a/docs/user_guide/configuration/client.rst b/website/docs/latest/user_guide/configuration/client.rst
similarity index 100%
rename from docs/user_guide/configuration/client.rst
rename to website/docs/latest/user_guide/configuration/client.rst
diff --git a/docs/user_guide/configuration/core.rst b/website/docs/latest/user_guide/configuration/core.rst
similarity index 100%
rename from docs/user_guide/configuration/core.rst
rename to website/docs/latest/user_guide/configuration/core.rst
diff --git a/docs/user_guide/configuration/main.rst b/website/docs/latest/user_guide/configuration/main.rst
similarity index 100%
rename from docs/user_guide/configuration/main.rst
rename to website/docs/latest/user_guide/configuration/main.rst
diff --git a/docs/user_guide/configuration/perlog.rst b/website/docs/latest/user_guide/configuration/perlog.rst
similarity index 100%
rename from docs/user_guide/configuration/perlog.rst
rename to website/docs/latest/user_guide/configuration/perlog.rst
diff --git a/docs/user_guide/configuration/proxy.rst b/website/docs/latest/user_guide/configuration/proxy.rst
similarity index 100%
rename from docs/user_guide/configuration/proxy.rst
rename to website/docs/latest/user_guide/configuration/proxy.rst
diff --git a/docs/user_guide/considerations/main.rst b/website/docs/latest/user_guide/considerations/main.rst
similarity index 100%
rename from docs/user_guide/considerations/main.rst
rename to website/docs/latest/user_guide/considerations/main.rst
diff --git a/docs/user_guide/design/main.rst b/website/docs/latest/user_guide/design/main.rst
similarity index 100%
rename from docs/user_guide/design/main.rst
rename to website/docs/latest/user_guide/design/main.rst
diff --git a/docs/user_guide/globalreplicatedlog/main.rst b/website/docs/latest/user_guide/globalreplicatedlog/main.rst
similarity index 100%
rename from docs/user_guide/globalreplicatedlog/main.rst
rename to website/docs/latest/user_guide/globalreplicatedlog/main.rst
diff --git a/docs/user_guide/implementation/core.rst b/website/docs/latest/user_guide/implementation/core.rst
similarity index 100%
rename from docs/user_guide/implementation/core.rst
rename to website/docs/latest/user_guide/implementation/core.rst
diff --git a/docs/user_guide/implementation/main.rst b/website/docs/latest/user_guide/implementation/main.rst
similarity index 100%
rename from docs/user_guide/implementation/main.rst
rename to website/docs/latest/user_guide/implementation/main.rst
diff --git a/docs/user_guide/implementation/storage.rst b/website/docs/latest/user_guide/implementation/storage.rst
similarity index 100%
rename from docs/user_guide/implementation/storage.rst
rename to website/docs/latest/user_guide/implementation/storage.rst
diff --git a/docs/user_guide/implementation/writeproxy.rst b/website/docs/latest/user_guide/implementation/writeproxy.rst
similarity index 100%
rename from docs/user_guide/implementation/writeproxy.rst
rename to website/docs/latest/user_guide/implementation/writeproxy.rst
diff --git a/docs/user_guide/main.rst b/website/docs/latest/user_guide/main.rst
similarity index 100%
rename from docs/user_guide/main.rst
rename to website/docs/latest/user_guide/main.rst
diff --git a/docs/user_guide/references/features.rst b/website/docs/latest/user_guide/references/features.rst
similarity index 100%
rename from docs/user_guide/references/features.rst
rename to website/docs/latest/user_guide/references/features.rst
diff --git a/docs/user_guide/references/main.rst b/website/docs/latest/user_guide/references/main.rst
similarity index 100%
rename from docs/user_guide/references/main.rst
rename to website/docs/latest/user_guide/references/main.rst
diff --git a/docs/user_guide/references/metrics.rst b/website/docs/latest/user_guide/references/metrics.rst
similarity index 100%
rename from docs/user_guide/references/metrics.rst
rename to website/docs/latest/user_guide/references/metrics.rst
diff --git a/website/scripts/publish-website.sh b/website/scripts/publish-website.sh
index 2c0a442..6d05504 100755
--- a/website/scripts/publish-website.sh
+++ b/website/scripts/publish-website.sh
@@ -21,16 +21,25 @@
# NOTE: this is the script used by CI to push to apache. If you are looking for
# staging the changes, try the `staging-website.sh` script.
-PROD_DIR=$1
-APACHE_DIR=$2
+CONTENT_ROOT_DIR=$1
TMP_DIR=/tmp/distributedlog-site-tmp
-ORIGIN_REPO=$(git remote show origin | grep 'Push URL' | awk -F// '{print $NF}')
+ORIGIN_REPO=$(git remote show apache | grep 'Push URL' | awk -F// '{print $NF}')
+# ORIGIN_REPO=$(git remote show origin | grep 'Push URL' | awk -F// '{print $NF}')
echo "ORIGIN_REPO: $ORIGIN_REPO"
+copy_javadoc() {
+ root_dir=$1
+ for dir in `ls $root_dir/docs`; do
+ mkdir -p $root_dir/content/docs/$dir/api/java/
+ cp -r $root_dir/docs/$dir/api/java/* $root_dir/content/docs/$dir/api/java/
+ done
+}
+
(
rm -rf $TMP_DIR
mkdir -p $TMP_DIR
cd $TMP_DIR
+ REVISION=$(git rev-parse --short HEAD)
# clone the remote repo
git clone "https://$ORIGIN_REPO" .
@@ -38,8 +47,10 @@ echo "ORIGIN_REPO: $ORIGIN_REPO"
git config user.email "distributedlog-dev@bookkeeper.apache.org"
git checkout asf-site
# copy the apache generated dir
- # cp -r $PROD_DIR/content/* $TMP_DIR/content/
- cp -r $APACHE_DIR/content/* $TMP_DIR/
+ cp -r $CONTENT_ROOT_DIR/production_content/* $TMP_DIR/content/
+ cp -r $CONTENT_ROOT_DIR/apache_content/* $TMP_DIR/
+ # copy the javadoc to content
+ copy_javadoc $TMP_DIR
git add -A .
git diff-index --quiet HEAD || (git commit -m "Updated site at revision $REVISION" && git push -q origin HEAD:asf-site)
--
To stop receiving notification emails like this one, please contact
['"distributedlog-commits@bookkeeper.apache.org" <di...@bookkeeper.apache.org>'].