tree: de7219b1de2e0ef32f5b36104f5bdc57ccdc1f4d [path history] [tgz]
  1. .gitattributes
  2. .github/
  3. .gitignore
  4. Dockerfile
  5. Gemfile
  6. Gemfile.lock
  9. Rakefile
  10. _config.yml
  11. _config_test.yml
  13. build.gradle
  14. notebooks/
  15. src/

These are the main sources of the website for Apache Beam, hosted at

About this site

The Beam website is built using Jekyll. Additionally, for additional formatting capabilities, this website uses Twitter Bootstrap.

Documentation generated from source code, such as Javadoc and Pydoc, is stored separately on the beam-site repository.

Active development

Website development requires Docker installed if you wish to preview changes and run website tests.

The following command is used to build and serve the website locally.

$ ./gradlew :website:serveWebsite

Any changes made locally will trigger a rebuild of the website.

Websites tests may be run using this command:

$ ./gradlew :website:testWebsite

Website push

After a PR is merged, a background Jenkins job will automatically generate and push website content to the asf-site branch. This content is later picked up and pushed to

Additional Information

Writing blog posts

Blog posts are created in the _posts directory.

If this is your first post, make sure to add yourself to _data\authors.yml.

While you a working on your post before the publishing time listed in its header, add --future when running Jekyll in order to view your draft on your local copy of the site.

Adding Jekyll plugins

If you modify the site to use additional Jekyll plugins, add them in Gemfile and then run bundle update, which will regenerate the complete Gemfile.lock. Make sure that the updated Gemfile.lock is included in your pull request. For more information, see the Bundler documentation.