Mirror of Apache Arrow site

Clone this repo:
  1. ebe96d9 Stop comment rendering on blog (#135) by Andrew Lamb · 30 hours ago master
  2. a5a81c3 Rust 5.0.0 release blog (#128) by Andrew Lamb · 31 hours ago
  3. 8e01140 Fix links in the 5.0.0 release notes by Krisztián Szűcs · 2 days ago
  4. 49e8a1f Fix Rust committers (#133) by Ian Cook · 2 days ago
  5. 6023d36 [Website] Add release note for 5.0.0 including the rust contributions (#131) by Krisztián Szűcs · 2 days ago

Apache Arrow Website


Jekyll is used to generate HTML files from the Markdown + templates in this repository. The built version of the site is kept on the asf-site branch, which gets deployed to https://arrow.apache.org.

Adding Content

To add a blog post, create a new markdown file in the _posts directory, following the model of existing posts. In the front matter, you should specify an “author”. This should be your Apache ID if you have one, or it can just be your name. To add additional metadata about yourself (GitHub ID, website), add yourself to _data/contributors.yml. This object is keyed by apacheId, so use that as the author in your post. (It doesn't matter if the ID actually exists in the ASF; all metadata is local to this project.)


With non-EOL-ed Ruby installed, run the following commands to install Jekyll.

gem install bundler
bundle install

We also need Node.JS to use webpack for maintaining dependent JavaScript and CSS libraries.

We can install webpack and dependent JavaScript and CSS libraries automatically by following command lines to preview or build the site. So we just need to install Node.JS here.

Previewing the site

Run the following and open http://localhost:4000/ to preview generated site locally:

bundle exec rake


On commits to the master branch of apache/arrow-site, the rendered static site will be published to the asf-site branch using GitHub Actions. On a fork, it will deploy to your gh-pages branch for deployment via GitHub Pages; this is useful for previewing changes you're proposing.

FYI: We can also generate the site for https://arrow.apache.org/ to _site/ locally by the following command line:

JEKYLL_ENV=production bundle exec rake generate

Updating Code Documentation

To update the documentation, you can run the script ./dev/gen_apidocs.sh in the apache/arrow repository. This script will run the code documentation tools in a fixed environment.

C (GLib)

First, build Apache Arrow C++ and Apache Arrow GLib. This assumes that you have checkouts your forks of arrow and arrow-site alongside each other in your file system.

mkdir -p ../cpp/build
cd ../cpp/build
cmake .. -DCMAKE_BUILD_TYPE=debug
cd ../../c_glib
./configure \
  --with-arrow-cpp-build-dir=$PWD/../cpp/build \
  --with-arrow-cpp-build-type=debug \
LD_LIBRARY_PATH=$PWD/../cpp/build/debug make GTK_DOC_V_XREF=": "
rsync -r doc/reference/html/ ../../arrow-site/asf-site/docs/c_glib/


cd ../js
npm run doc
rsync -r doc/ ../../arrow-site/asf-site/docs/js

Then add/commit/push from the asf-site/ git checkout.