]> granicus.if.org Git - esp-idf/commitdiff
docs: This is a quick reference of more than a dozen and-ons and extensions prepared...
authorkrzychb <krzychb@gazeta.pl>
Sun, 10 Feb 2019 18:14:28 +0000 (19:14 +0100)
committerkrzychb <krzychb@gazeta.pl>
Sun, 17 Feb 2019 19:32:50 +0000 (20:32 +0100)
CONTRIBUTING.rst
docs/en/api-reference/kconfig.rst
docs/en/api-reference/template.rst
docs/en/conf.py
docs/en/contribute/add-ons-reference.rst [new file with mode: 0644]
docs/en/contribute/documenting-code.rst
docs/zh_CN/conf.py
docs/zh_CN/contribute/add-ons-reference.rst [new file with mode: 0644]

index 3a9bd581da0e3e10dea4063ac801b151155cf157..e9ba5d7797dbf41e9bacc5f1801f18e5b4cfb72c 100644 (file)
@@ -53,6 +53,7 @@ Related Documents
 
     style-guide
     documenting-code
+    add-ons-reference
     creating-examples
     ../api-reference/template
     contributor-agreement
index 28c4439aab05aa836251acfc8ece7fb45cc6ca36..ded7b7c9c6101e66f464e5ef9bcb80a845c2ef49 100644 (file)
@@ -15,6 +15,8 @@ When updating ESP-IDF version, it is not uncommon to find that new Kconfig optio
 
 In some cases, such as when ``sdkconfig`` file is under revision control, the fact that ``sdkconfig`` file gets changed by the build system may be inconvenient. The build system offers a way to avoid this, in the form of ``sdkconfig.defaults`` file. This file is never touched by the build system, and must be created manually. It can contain all the options which matter for the given application. The format is the same as that of the ``sdkconfig`` file. Once ``sdkconfig.defaults`` is created, ``sdkconfig`` can be deleted and added to the ignore list of the revision control system (e.g. ``.gitignore`` file for git). Project build targets will automatically create ``sdkconfig`` file, populated with the settings from ``sdkconfig.defaults`` file, and the rest of the settings will be set to their default values. Note that when ``make defconfig`` is used, settings in sdkconfig will be overriden by the ones in ``sdkconfig.defaults``. For more information, see :ref:`custom-sdkconfig-defaults`.
 
+.. _configuration-options-reference:
+
 Configuration Options Reference
 ===============================
 
index ccfadb4b15169d07ee1aa6c6cd90a774cf24e28a..3c14c19b23355830c6dcfbad883c7120854368a3 100644 (file)
@@ -5,8 +5,6 @@ API Documentation Template
 
     *INSTRUCTIONS*
 
-
-
     1. Use this file (:idf_file:`docs/api-reference/template.rst`) as a template to document API.
     2. Change the file name to the name of the header file that represents documented API.
     3. Include respective files with descriptions from the API folder using ``..include::``
@@ -79,9 +77,9 @@ API Reference
 
        .. include:: /_build/inc/esp_wifi.inc
 
-       For example see :idf_file:`docs/api-reference/wifi/esp_wifi.rst`
+       For example see :idf_file:`docs/en/api-reference/wifi/esp_wifi.rst`
     
-    6. Optionally, rather that using ``*.inc`` files, you may want to describe API in you own way. See :idf_file:`docs/api-reference/system/deep_sleep.rst` for example.
+    6. Optionally, rather that using ``*.inc`` files, you may want to describe API in you own way. See :idf_file:`docs/en/api-guides/ulp-cmake.rst` for example.
 
        Below is the list of common ``.. doxygen...::`` directives:
 
@@ -101,5 +99,3 @@ API Reference
     7. In any case, to generate API reference, the file :idf_file:`docs/Doxyfile` should be updated with paths to ``*.h`` headers that are being documented.
     
     8. When changes are committed and documentation is build, check how this section has been rendered. :doc:`Correct annotations <../contribute/documenting-code>` in respective header files, if required.
-
-
index 6c587bdf7f6e5c384ee002b33758efefd226c986..918bf8b0f2abcf9bfd3116a7afb82b29f4a1f8bb 100644 (file)
@@ -13,7 +13,7 @@ from conf_common import *  # noqa: F401, F403 - need to make available everythin
 
 # General information about the project.
 project = u'ESP-IDF Programming Guide'
-copyright = u'2016 - 2018, Espressif Systems (Shanghai) PTE LTD'
+copyright = u'2016 - 2019, Espressif Systems (Shanghai) CO., LTD'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/docs/en/contribute/add-ons-reference.rst b/docs/en/contribute/add-ons-reference.rst
new file mode 100644 (file)
index 0000000..b1942b4
--- /dev/null
@@ -0,0 +1,77 @@
+Documentation Add-ons and Extensions Reference
+==============================================
+
+This documentation is created using `Sphinx <http://www.sphinx-doc.org/>`_ application that renders text source files in `reStructuredText <https://en.wikipedia.org/wiki/ReStructuredText>`_ (``.rst``) format located in :idf:`docs` directory. For some more details on that process, please refer to section :doc:`documenting-code`.
+
+Besides Sphinx there are several other applications that help to provide nicely formatted and easy to navigate documentation. These applications are listed in section :ref:`setup-for-building-documentation` with the installed version numbers provided in file :idf_file:`docs/requirements.txt`.
+
+On top of that we have created a couple of custom add-ons and extensions to help integrate documentation with underlining `ESP-IDF`_ repository and further improve navigation as well as maintenance of documentation.
+
+The purpose of this section is to provide a quick reference to the add-ons and the extensions.
+
+
+Documentation Folder Structure
+------------------------------
+
+* The ESP-IDF repository contains a dedicated documentation folder :idf:`docs` in the root.
+* The ``docs`` folder contains localized documentation in :idf:`docs/en` (English) and :idf:`docs/zh_CN` (simplified Chinese) subfolders.
+* Graphics files and fonts common to localized documentation are contained in :idf:`docs/_static` subfolder
+* Remaining files in the root of ``docs`` as well as ``docs/en`` and ``docs/zh_CN`` provide configuration and scripts used to automate documentation processing including the add-ons and extensions.
+* Several folders and files are generated dynamically during documentations build and placed primarily in ``docs/[lang]/_build`` folders. These folders are temporary and not visible in `ESP-IDF`_ repository,
+
+
+Add-ons and Extensions Reference
+--------------------------------
+
+:idf_file:`docs/conf_common.py`
+    This file contains configuration common to each localized documentation (e.g. English, Chinese). The contents of this file is imported to standard Sphinx configuration file ``conf.py`` located in respective language folders (e.g. ``docs/en``, ``docs/zh_CN``) during build for each language.
+
+:idf_file:`docs/check_doc_warnings.sh`
+    If there are any warnings reported during documentation build, then the build is failed. The warnings should be resolved before merging any documentation updates. This script is doing check for warnings in respective log file to fail the build. See also description of ``sphinx-known-warnings.txt`` below.
+
+:idf_file:`docs/check_lang_folder_sync.sh`
+    To reduce potential discrepancies when maintaining concurrent language version, the structure and filenames of language folders ``docs/en`` and ``docs/zh_CN`` folders should be kept identical. The script ``check_lang_folder_sync.sh`` is run on each documentation build to verify if this condition is met.
+
+    .. note::
+
+        If a new content is provided in e.g. English, and there is no any translation yet, then the corresponding file in ``zh_CN`` folder should contain an ``.. include::`` directive pointing to the source file in English. This will automatically include the English version visible to Chinese readers. For example if a file ``docs/zh_CN/contribute/documenting-code.rst`` does not have a Chinese translation, then it should contain  ``.. include:: ../../en/contribute/documenting-code.rst`` instead.
+
+:idf_file:`docs/docs_common.mk`
+    It contains the common code which is included into the language-specific ``Makefiles``. Note that this file contains couple of customizations comparing to what is provided within standard Sphinx installation, e.g. ``gh-linkcheck`` command has been added.
+
+:idf_file:`docs/gen-dxd.py`
+    A Python script that generates API reference files based on Doxygen ``xml`` output. The files have an ``inc`` extension and are located in ``docs/[lang]/_build/inc`` directory created dynamically when documentation is build. Please refer to :doc:`documenting-code` and :doc:`../api-reference/template`, section **API Reference** for additional details on this process.
+
+:idf_file:`docs/gen-toolchain-links.py`
+    There couple of places in documentation that provide links to download the toolchain. To provide one source of this information and reduce effort to manually update several files, this script generates toolchain download links and toolchain unpacking code snippets based on information found in :idf_file:`tools/toolchain_versions.mk`.
+
+:idf_file:`docs/gen-version-specific-includes.py`
+    Another Python script to automatically generate reStructuredText Text ``.inc`` snippets with version-based content for this ESP-IDF version.
+
+:idf_file:`docs/html_redirects.py`
+    During documentation lifetime some source files are moved between folders or renamed. This Python script is adding a mechanism to redirect documentation pages that have changed URL by generating in the Sphinx output static HTML redirect pages. The script is used together with a redirection list ``html_redirect_pages`` defined in file :idf_file:`docs/conf_common.py`.
+
+:idf_file:`docs/link-roles.py`
+    This is an implementation of a custom `Sphinx Roles <https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html>`_ to help linking from documentation to specific files and folders in `ESP-IDF`_. For description of implemented roles please see :ref:`link-custom-roles` and :ref:`link-language-versions`.
+
+:idf_file:`docs/local_util.py`
+    A collection of utility functions useful primarily when building documentation locally (see :ref:`setup-for-building-documentation`) to reduce the time to generate documentation on a second and subsequent builds. The utility functions check what Doxygen ``xml`` input files have been changed and copy these files to destination folders, so only the changed files are used during build process.
+
+:idf_file:`docs/sphinx-known-warnings.txt`
+    There are couple of spurious Sphinx warnings that cannot be resolved without doing update to the Sphinx source code itself. For such specific cases respective warnings are documented in ``sphinx-known-warnings.txt`` file, that is checked during documentation build, to ignore the spurious warnings.
+
+:idf_file:`tools/gen_esp_err_to_name.py`
+    This script is traversing the `ESP-IDF`_ directory structure looking for error codes and messages in source code header files to generate an ``.inc`` file to include in documentation under :doc:`../api-reference/error-codes`.
+
+:idf_file:`tools/kconfig_new/confgen.py`
+    Options to configure ESP-IDF's :idf:`components` are contained in ``Kconfig`` files located inside directories of individual components, e.g. :idf_file:`components/bt/Kconfig`. This script is traversing the ``component`` directories to collect configuration options and generate an ``.inc`` file to include in documentation under :ref:`configuration-options-reference`.
+
+
+
+Related Documents
+-----------------
+
+* :doc:`documenting-code`
+
+
+.. _ESP-IDF: https://github.com/espressif/esp-idf/
index bcbe66eafa8cf11e78fd38cb4ef54957899bb9fe..990665dd6c3b3370a63c9c10181f2915fa8382c1 100644 (file)
@@ -166,6 +166,8 @@ How it renders:
 A check is added to the CI build script, which searches RST files for presence of hard-coded links (identified by tree/master, blob/master, or raw/master part of the URL). This check can be run manually: ``cd docs`` and then ``make gh-linkcheck``.
 
 
+.. _link-language-versions:
+
 Linking Language Versions
 -------------------------
 
@@ -235,6 +237,8 @@ OK, but I am new to Sphinx!
 4. To preview documentation before building, use `Sublime Text <https://www.sublimetext.com/>`_ editor together with `OmniMarkupPreviewer <https://github.com/timonwong/OmniMarkupPreviewer>`_ plugin. 
 
 
+.. _setup-for-building-documentation:
+
 Setup for building documentation locally
 ----------------------------------------
 
@@ -304,11 +308,15 @@ All remaining applications are `Python <https://www.python.org/>`_ packages and
 
        Installation steps assume that ESP-IDF is placed in ``~/esp/esp-idf`` directory, that is default location of ESP-IDF used in documentation.
 
+Change to directory with files for specific language::
+
+    cd en
+
 Now you should be ready to build documentation by invoking::
 
-       make html
+    make html
 
-This may take couple of minutes. After completion, documentation will be placed in ``~/esp/esp-idf/docs/_buld/html`` folder. To see it, open ``index.html`` in a web browser.  
+This may take couple of minutes. After completion, documentation will be placed in ``~/esp/esp-idf/docs/en/_build/html`` folder. To see it, open ``index.html`` in a web browser.  
 
 
 Wrap up
@@ -324,6 +332,7 @@ Related Documents
 -----------------
 
 * :doc:`../api-reference/template`
+* :doc:`add-ons-reference`
 
 
 .. _espressif/esp-idf: https://github.com/espressif/esp-idf/
index ff747bf7eaf7fa3eb4df421186c6ef7e9ed795e9..6e3c230d83c893ab74ef7112ef7d68caab14d8bf 100644 (file)
@@ -13,7 +13,7 @@ from conf_common import *  # noqa: F401, F403 - need to make available everythin
 
 # General information about the project.
 project = u'ESP-IDF 编程指南'
-copyright = u'2016 - 2018 乐鑫信息科技(上海)有限公司'
+copyright = u'2016 - 2019 乐鑫信息科技(上海)股份有限公司'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/docs/zh_CN/contribute/add-ons-reference.rst b/docs/zh_CN/contribute/add-ons-reference.rst
new file mode 100644 (file)
index 0000000..ffb1ba0
--- /dev/null
@@ -0,0 +1 @@
+.. include:: ../../en/contribute/add-ons-reference.rst