These are the main sources of the website for Apache Beam, hosted at https://beam.apache.org/.
The Beam website is built using Hugo. 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.
Website development requires Docker installed if you wish to preview changes and run website tests.
The Docsy theme required for the site to work properly is included as a git submodule. This means that after you already cloned the repository, you need to update submodules at <ROOT_DIRECTORY>
.
$ git submodule update --init --recursive
The following command is used to build and serve the website locally. Note: you should run the command at <ROOT_DIRECTORY>
.
$ ./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
For a more detailed description, please refer to the contribution guide.
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 https://beam.apache.org/.
If you'd like to contribute to the Apache Beam website, read our contribution guide where you can find detailed instructions on how to work with the website.