blob: 35fafc7405fc1bfff5230ff70ccdecf0326a5832 [file] [log] [blame]
.. Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
.. http://www.apache.org/licenses/LICENSE-2.0
.. Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
Documentation
#############
This directory contains documentation for the Apache Airflow project and other packages that are closely related to it ie. providers packages. Documentation is built using `Sphinx <https://www.sphinx-doc.org/>`__.
Development documentation preview
==================================
Documentation from the development version is built and automatically published: `s.apache.org/airflow-docs <https://s.apache.org/airflow-docs>`_
Building documentation
======================
To generate a local version you can use `<../BREEZE.rst>`_.
The documentation build consists of verifying consistency of documentation and two steps:
* spell checking
* building documentation
You can only run one of the steps via ``--spellcheck-only`` or ``--docs-only``.
.. code-block:: bash
breeze build-docs
or just to run spell-check
.. code-block:: bash
breeze build-docs --spellcheck-only
or just to run documentation building
.. code-block:: bash
breeze build-docs --docs-only
Also, you can only build one documentation via ``--package-filter``.
.. code-block:: bash
breeze build-docs --package-filter <PACKAGE-NAME>
You can also see all the available arguments via ``--help``.
.. code-block:: bash
breeze build-docs --help
Running the Docs Locally
------------------------
Once you have built the documentation run the following command from the root directory,
You need to have Python installed to run the command:
.. code-block:: bash
docs/start_doc_server.sh
Then, view your docs at ``localhost:8000``, if you are using a virtual machine e.g WSL2,
you need to find the WSL2 machine IP address and in your browser replace "0.0.0.0" with it
``http://n.n.n.n:8000``, where n.n.n.n will be the IP of the WSL2.
Troubleshooting
---------------
If you are creating ``example_dags`` directory, you need to create ``example_dags/__init__.py`` with Apache
license or copy another ``__init__.py`` file that contains the necessary license.
Cross-referencing syntax
========================
Cross-references are generated by many semantic interpreted text roles.
Basically, you only need to write:
.. code-block:: rst
:role:`target`
And a link will be
created to the item named *target* of the type indicated by *role*. The link's
text will be the same as *target*.
You may supply an explicit title and reference target, like in reST direct
hyperlinks:
.. code-block:: rst
:role:`title <target>`
This will refer to *target*, but the link text will be *title*.
Here are practical examples:
.. code-block:: rst
:class:`airflow.models.dag.DAG` - link to Python API reference documentation
:doc:`/docs/operators` - link to other document
:ref:`handle` - link to section in current or another document
.. _handle:
Section title
----------------------------------
Role ``:class:`` works well with references between packages. If you want to use other roles, it is a good idea to specify a package:
.. code-block:: rst
:doc:`apache-airflow:installation/index`
:ref:`apache-airflow-providers-google:write-logs-stackdriver`
If you still feel confused then you can view more possible roles for our documentation:
.. code-block:: bash
./list-roles.sh
For more information, see: `Cross-referencing syntax <https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html>`_ in Sphinx documentation
Support
=======
If you need help, write to `#documentation <https://apache-airflow.slack.com/archives/CJ1LVREHX>`__ channel on `Airflow's Slack <https://s.apache.org/airflow-slack>`__