tree: f2b7e4aac6f05d87d12b85cc5adae13b8415e283 [path history] [tgz]
  1. demo/
  2. sphinx_airflow_theme/
  4. setup.cfg

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.

  1. Make sure your python shell command executes Python3 interpreter. If necessary, use a virtual environment:

    mkvirtualenv -p python3 <name_of_environment>
  2. To make Javascript and CSS code available for the theme, run the following command in the root directory:

    ./ build-site && ./ prepare-theme
  3. To install the required Python packages, in <ROOT DIRECTORY>/sphinx_airflow_theme run:

    pip install -e .
  4. To launch the demo documentation page, in <ROOT DIRECTORY>/sphinx_airflow_theme/demo run:

    ./ build && ./ preview

Install developer version

To install the latest development version of a theme, run:

THEME_VERSION="$(curl -s | grep '"tag_name":' | cut -d '"' -f 4)"
pip install "${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.


A theme that supports the following configuration options under the html_theme_options dict in your projects


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)


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,



Controls the ToC display in the sidebar. See 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 `/landing-pages/src/docs-index.js