Sphinx theme for Airflow
Sphinx theme for Apache Airflow documentation.
Install from sources
In order to start working with the theme, please follow the instructions below.
-
Make sure your
pythonshell command executes Python3 interpreter. If necessary, use a virtual environment:mkvirtualenv -p python3 <name_of_environment> -
To make Javascript and CSS code available for the theme, run the following command in the root directory:
./site.sh build-site && ./site.sh prepare-theme
-
To install the required Python packages, in
<ROOT DIRECTORY>/sphinx_airflow_themerun:pip install -e .
-
To launch the demo documentation page, in
<ROOT DIRECTORY>/sphinx_airflow_theme/demorun:./docs.sh build && ./docs.sh preview
Generate Airflow documentation with Sphinx theme changes
If you made some modifications to Sphinx theme and want to generate Airflow documentation to check the end results, please follow these steps:
-
In
airflow-siterepository, build Airflow website:./site.sh build-site -
Package the Sphinx theme in a
whlfile:cd ./sphinx_airflow_theme python3 setup.py sdist bdist_wheel
-
(Optional) Double-check your modifications to the Sphinx theme are in the
whlfile:pip install wheel wheel unpack ./sphinx_airflow_theme-0.0.11-py3-none-any.whl
-
Copy the
whlfile tofilesdirectory inairflowrepository:cp ./sphinx_airflow_theme-0.0.11-py3-none-any.whl ${AIRFLOW_REPO}/files/
-
In
airflowrepository, initiate a new breeze environment:breeze
-
In the breeze container, generate the documentation after installing the theme:
pip install /files/sphinx_airflow_theme-0.0.11-py3-none-any.whl --force-reinstall # Generate Airflow documentation only. If you need to generate the whole documentation (all providers), # you can do it using `/opt/airflow/scripts/in_container/run_docs_build.sh`. It takes longer to execute. /opt/airflow/scripts/in_container/run_docs_build.sh --package-filter apache-airflow
-
Verify the documentation generated is correct and includes your modifications. The documentation is generated in
docs/_build/docs/. If you generated Airflow documentation only, you can check the results indocs/_build/docs/apache-airflow/latest/.
Install developer version
To install the latest development version of a theme, run:
THEME_VERSION="$(curl -s https://api.github.com/repos/apache/airflow-site/releases/latest | grep '"tag_name":' | cut -d '"' -f 4)"
pip install "https://github.com/apache/airflow-site/releases/download/${THEME_VERSION}/sphinx_airflow_theme-${THEME_VERSION}-py3-none-any.whl"
Python packages for your PRs is available as downloadable artifact in GitHub Actions after the CI builds your PR.
Configuration
A theme that supports the following configuration options under the html_theme_options dict in your projects conf.py:
navbar_links
The list of links that should be available in the navigation bar at the top of the pages. The order of items will not be changed.
Example values:
html_theme_options = {
'navbar_links': [
{'href': '/docs/', 'text': 'Documentation'}
]
}
(This is the default)
hide_website_buttons
If True, all links on the same domain but not pointing to this theme's page (e.g. /community/) will be hidden.
Example values:
html_theme_options = {
'hide_website_buttons': False,
}
sidebar_collapse
sidebar_includehidden
Controls the ToC display in the sidebar. See https://www.sphinx-doc.org/en/master/templating.html#toctree for more info
Theme's source files
<ROOT DIRECTORY>/sphinx_airflow_theme/sphinx_airflow_theme- HTML files<ROOT DIRECTORY>/landing-pages/site/assets/scss- SCSS files<ROOT DIRECTORY>/landing-pages/src/js- Javascript files. If you create a new JS file, don't forget to include it in `
Release files for sphinx-airflow-theme 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sphinx_airflow_theme-0.2.2.tar.gz | 93.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sphinx_airflow_theme-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 193.8 kB
Release files / sphinx_airflow_theme-0.2.2.tar.gz
| Download URL | sphinx_airflow_theme-0.2.2.tar.gz |
|---|---|
| Size | 93.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e2446ae90b4fc5d1ce027b096747ac82333c14b5bf638bba57e569f57037da80
|
|
BLAKE2b-256 checksum How to use checksums |
4db6ad032da7044e34a2f606f0404d4589d1d08b00961068e29dfe5324211e53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.7
|
Release files / sphinx_airflow_theme-0.2.2-py3-none-any.whl
| Download URL | sphinx_airflow_theme-0.2.2-py3-none-any.whl |
|---|---|
| Size | 99.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dc47c980cc5707572b86d90f2ed03387bb49bbb249039178f2ea7415dc55485e
|
|
BLAKE2b-256 checksum How to use checksums |
af73f2f9222bf96d00f76cacb6508a366fd657a5a94f5be8bc29d966428f73fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.7
|