Apache Accumulo Website (https://accumulo.apache.org)

Clone this repo:
  1. b9b8aea Blog post to configure Accumulo with Azure Data Lake Gen2 Storage (#198) by Karthick Narendran · 28 hours ago master
  2. 6376342 Fix small typo on homepage (#199) by revell · 28 hours ago
  3. 13db5a4 revise grammar (#197) by Russell Carter · 2 days ago
  4. 11fd55b Update ruby gems by Christopher Tubbs · 10 days ago
  5. a1add2c Adding Mandar Inamdar as the contributor (#196) by Mandar Inamdar · 10 days ago

Apache Accumulo Website

Apache Accumulo uses Jekyll to build their website. It is recommended that you use Bundler to install the necessary dependencies to run and build the website.

Install Bundler and dependencies

Ruby is required to use Bundler so first make sure you have Ruby on your machine. If you are using an OS packaged version of Ruby, you will have to also install the ruby-dev (Ubuntu) or ruby-devel (Fedora) package as well. Depending on your OS, you may also need other packages, such as ruby-full, make, gcc, nodejs, build-essentials, or patch.

With Ruby installed on your machine, you can install Bundler using the command below:

gem install bundler

Next, use Bundler to install Jekyll and other dependencies needed to run the website.

git clone https://github.com/apache/accumulo-website
cd accumulo-website
bundle install

Run the website locally

Run the following command to run the website locally using Jekyll's embedded webserver:

cd accumulo-website
bundle exec jekyll serve -w

The website can viewed at http://0.0.0.0:4000/

Build website static HTML files

You can just build static HTML files which are viewable in _config.yml:

cd accumulo-website
bundle exec jekyll build

Custom liquid tags

Custom liquid tags are used to make linking to javadocs, properties, and documents easier. The source for these tags is at _plugins/links.rb.

TagDescriptionOptionsExamples
jlinkCreates Javadoc linkLink text will be class name by default. Use -f for full package + class name{% jlink -f org.apache.accumulo.core.client.Connector %} {% jlink -f org.apache.accumulo.core.client %}
jurlCreates Javadoc URLNone{% jurl org.apache.accumulo.core.client.Connector %}
plinkCreates Property linkAssumes server property by default. Use -c to link to client properties. Accepts server property prefixes (i.e table.\*){% plink -c instance.name %}
purlCreates Property URLDefault is server property. Use -c to link to client properties. Accepts server property prefixes (i.e table.\*){% purl instance.volumes %}
dlinkCreates Documentation linkNone{% dlink getting-stared/clients %}
durlCreates Documentation URLNone{% durl troubleshooting/performance %}
ghiGitHub issue linkNone{% ghi 100 %}
ghcGitHub code linkBranch defaults to gh_branch setting in _config.yml. Override using -b{% ghc server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java %} {% ghc -b 1.9 README.md %}
jiraJira issue linkNone{% jira ACCUMULO-1000 %}

Updating property documentation

Building Accumulo generates server-properties.md and client-properties.md. To regenerate these, do the following.

cd <accumulo source dir>
mvn package -DskipTests
cp ./core/target/generated-docs/server-properties.md <accumulo website source>/_docs-2/configuration
cp ./core/target/generated-docs/client-properties.md <accumulo website source>/_docs-2/configuration

Update the production website

For Apache Accumulo committers, the asf-site branch needs to be updated with the generated HTML. Changes to this branch are automagically mirrored to the website.

This can be done easily by invoking the post-commit hook (either by hand, or automatically via configuring Git to invoke the post-commit hook). The commands below are a guide for committers who wish to publish the web site.

# ensure local asf-site branch is up to date
git checkout asf-site
git pull upstream asf-site

# switch to master branch, update it, and build new site
git checkout master
git pull upstream master
./_devtools/git-hooks/post-commit

# switch to asf-site, look at the commit created by post-commit script, and push it if ok
git checkout asf-site
git log -p
git push upstream asf-site

In the commands above upstream is :

$ git remote -v | grep upstream
upstream	https://gitbox.apache.org/repos/asf/accumulo-website/ (fetch)
upstream	https://gitbox.apache.org/repos/asf/accumulo-website/ (push)

To automatically run this post-commit hook in your local repository, copy the given file into your .git/hook directory:

cp ./_devtools/git-hooks/post-commit .git/hooks/