| :orphan: |
| |
| Welcome to Zephyr Kernel |
| ######################## |
| |
| .. This document is in Restructured Text Format. |
| Find more information regarding the ReST markup in the |
| `ReST documentation`_. |
| This is a comment that won't show up in formatted output |
| |
| Welcome to the Zephyr Project. |
| |
| Thank you for your interest in the Zephyr Project. These instructions are |
| designed to walk you through generating the Zephyr Project's documentation. |
| |
| Documentation Notes |
| ******************* |
| |
| Zephyr Project content is written using the reStructuredText markup language |
| (.rst file extension) with Sphinx extensions, and processed using sphinx to |
| create a formatted stand-alone website. Developers can view this content either |
| in its raw form as .rst markup files, or you can generate the HTML content and view it |
| with a web browser directly on your workstations drive. This same .rst |
| content is also fed into the Zephyr Project's public website documentation area |
| (with a different theme applied). |
| |
| You can read details about reStructuredText and about Sphinx extensions from |
| their respective websites. |
| |
| The project's documentation currently comprises the following items: |
| |
| * ReStructuredText source files used to generate documentation found at |
| https://zephyrproject.org/doc website. Most of the reStructuredText sources |
| are found in the ``/doc`` directory, but there are others stored within the |
| code source tree near their specific component (such as ``/samples`` and |
| ``/boards``) |
| |
| * Doxygen-generated material used to create all API-specific documents |
| also found at https://zephyrproject.org/doc |
| |
| * Script-generated material for kernel configuration options based on kconfig |
| files found in the source code tree |
| |
| * Additional material on https://wiki.zephyrproject.org |
| |
| The reStructuredText files are processed by the Sphinx documentation system, |
| and make use of the breathe extension for including the doxygen-generated API |
| material. Additional tools are required to generate the |
| documentation locally, as described in the following sections. |
| |
| Installing the documentation processors |
| *************************************** |
| |
| Our documentation processing has been tested to run with: |
| |
| * Doxygen version 1.8.10 (and 1.8.11) |
| * Sphinx version 1.4.4 (but not with 1.5.1) |
| * Breathe version 4.4.0 |
| * docutils version 0.12 (0.13 has issues with Sphinx 1.4.4) |
| |
| Begin by cloning a copy of the git repository for the zephyr project and |
| setting up your development environment as described in :ref:`getting_started` |
| or specifically for Ubuntu in :ref:`installation_linux`. (Be sure to |
| export the environment variables ``ZEPHYR_GCC_VARIANT`` and |
| ``ZEPHYR_SDK_INSTALL_DIR`` as documented there.) |
| |
| Here are a set of commands to install the documentation generations tools on |
| Ubuntu: |
| |
| .. code-block:: bash |
| |
| $ sudo -E apt-get install python-pip |
| $ pip install --upgrade pip |
| $ sudo -E apt-get install doxygen |
| $ pip install sphinx==1.4.4 |
| $ sudo -HE pip install breathe |
| $ sudo -HE pip install sphinx-rtd-theme |
| |
| There is a known issue that causes docutils version 0.13 to fail with sphinx |
| 1.4.4. Verify the version of docutils using: |
| |
| .. code-block:: bash |
| |
| $ pip show docutils |
| |
| If this shows you've got version 0.13 of docutils installed, you can install |
| the working version of docutils with: |
| |
| .. code-block:: bash |
| |
| $ sudo -HE pip install docutils==0.12 |
| |
| |
| Running the Documentation Generators |
| ************************************ |
| |
| The ``/doc`` directory in your cloned copy of zephyr project git repo has all the |
| .rst source files, extra tools, and Makefile for generating a local copy of |
| the Zephyr project's technical documentation. Assuming the local Zephyr |
| project copy is ``~/zephyr``, here are the commands to generate the html |
| content locally: |
| |
| .. code-block:: bash |
| |
| $ cd ~/zephyr |
| $ source zephyr-env.sh |
| $ make htmldocs |
| |
| The html output will be in ``~/zephyr/doc/_build/html/index.html`` |
| |
| |
| .. _ReST documentation: http://sphinx-doc.org/rest.html |