| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # -*- coding: utf-8 -*- | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Common (non-language-specific) configuration for Read The Docs & Sphinx | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Based on a Read the Docs Template documentation build configuration file, | 
					
						
							|  |  |  | # created by sphinx-quickstart on Tue Aug 26 14:19:49 2014. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # This file is imported from a language-specific conf.py (ie en/conf.py or | 
					
						
							|  |  |  | # zh_CN/conf.py) | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Note that not all possible configuration values are present in this | 
					
						
							|  |  |  | # autogenerated file. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # All configuration values have a default; values that are commented out | 
					
						
							|  |  |  | # serve to show the default. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-07 13:46:50 +02:00
										 |  |  | from __future__ import print_function | 
					
						
							|  |  |  | from __future__ import unicode_literals | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | import sys | 
					
						
							|  |  |  | import os | 
					
						
							| 
									
										
										
										
											2019-11-29 08:56:53 +11:00
										 |  |  | import os.path | 
					
						
							| 
									
										
										
										
											2019-06-23 12:07:06 +10:00
										 |  |  | import re | 
					
						
							| 
									
										
										
										
											2018-03-20 16:31:53 +11:00
										 |  |  | import subprocess | 
					
						
							| 
									
										
										
										
											2020-02-18 15:08:22 +11:00
										 |  |  | from sanitize_version import sanitize_version | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:14 +11:00
										 |  |  | from idf_extensions.util import download_file_if_missing | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-10 13:19:31 +02:00
										 |  |  | # build_docs on the CI server sometimes fails under Python3. This is a workaround: | 
					
						
							|  |  |  | sys.setrecursionlimit(3500) | 
					
						
							| 
									
										
										
										
											2018-09-14 09:42:57 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:35 +11:00
										 |  |  | config_dir = os.path.abspath(os.path.dirname(__file__)) | 
					
						
							| 
									
										
										
										
											2020-01-17 19:38:50 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # http://stackoverflow.com/questions/12772927/specifying-an-online-image-in-sphinx-restructuredtext-format | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | suppress_warnings = ['image.nonlocal_uri'] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # -- General configuration ------------------------------------------------ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # If your documentation needs a minimal Sphinx version, state it here. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # needs_sphinx = '1.0' | 
					
						
							| 
									
										
										
										
											2020-02-19 15:24:59 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # Add any Sphinx extension module names here, as strings. They can be | 
					
						
							|  |  |  | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom | 
					
						
							|  |  |  | # ones. | 
					
						
							|  |  |  | extensions = ['breathe', | 
					
						
							| 
									
										
										
										
											2019-11-29 08:56:53 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |               'sphinx.ext.todo', | 
					
						
							| 
									
										
										
										
											2020-02-19 15:24:59 +11:00
										 |  |  |               'sphinx_idf_theme', | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  |               'sphinxcontrib.blockdiag', | 
					
						
							|  |  |  |               'sphinxcontrib.seqdiag', | 
					
						
							|  |  |  |               'sphinxcontrib.actdiag', | 
					
						
							|  |  |  |               'sphinxcontrib.nwdiag', | 
					
						
							|  |  |  |               'sphinxcontrib.rackdiag', | 
					
						
							| 
									
										
										
										
											2018-12-03 17:58:08 +11:00
										 |  |  |               'sphinxcontrib.packetdiag', | 
					
						
							| 
									
										
										
										
											2019-11-29 08:56:53 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |               'extensions.html_redirects', | 
					
						
							|  |  |  |               'extensions.toctree_filter', | 
					
						
							| 
									
										
										
										
											2020-02-13 17:14:39 +08:00
										 |  |  |               'extensions.list_filter', | 
					
						
							| 
									
										
										
										
											2019-11-29 08:56:53 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |               'idf_extensions.include_build_file', | 
					
						
							|  |  |  |               'idf_extensions.link_roles', | 
					
						
							|  |  |  |               'idf_extensions.build_system', | 
					
						
							|  |  |  |               'idf_extensions.esp_err_definitions', | 
					
						
							|  |  |  |               'idf_extensions.gen_toolchain_links', | 
					
						
							|  |  |  |               'idf_extensions.gen_version_specific_includes', | 
					
						
							|  |  |  |               'idf_extensions.kconfig_reference', | 
					
						
							|  |  |  |               'idf_extensions.run_doxygen', | 
					
						
							|  |  |  |               'idf_extensions.gen_idf_tools_links', | 
					
						
							| 
									
										
										
										
											2019-12-06 17:22:55 +08:00
										 |  |  |               'idf_extensions.format_idf_target', | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  |               'idf_extensions.latex_builder', | 
					
						
							| 
									
										
										
										
											2019-11-29 08:56:53 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-22 16:57:09 +11:00
										 |  |  |               # from https://github.com/pfalcon/sphinx_selective_exclude | 
					
						
							|  |  |  |               'sphinx_selective_exclude.eager_only', | 
					
						
							| 
									
										
										
										
											2019-11-29 08:56:53 +11:00
										 |  |  |               # TODO: determine if we need search_auto_exclude | 
					
						
							|  |  |  |               # 'sphinx_selective_exclude.search_auto_exclude', | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  |               ] | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 17:15:00 +08:00
										 |  |  | # sphinx.ext.todo extension parameters | 
					
						
							|  |  |  | # If the below parameter is True, the extension | 
					
						
							|  |  |  | # produces output, else it produces nothing. | 
					
						
							|  |  |  | todo_include_todos = False | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-23 20:14:46 +05:30
										 |  |  | # Enabling this fixes cropping of blockdiag edge labels | 
					
						
							|  |  |  | seqdiag_antialias = True | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # Add any paths that contain templates here, relative to this directory. | 
					
						
							|  |  |  | templates_path = ['_templates'] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The suffix of source filenames. | 
					
						
							|  |  |  | source_suffix = ['.rst', '.md'] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser', | 
					
						
							|  |  |  |                   } | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # The encoding of source files. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # source_encoding = 'utf-8-sig' | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # The master toctree document. | 
					
						
							|  |  |  | master_doc = 'index' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The version info for the project you're documenting, acts as replacement for | 
					
						
							|  |  |  | # |version| and |release|, also used in various other places throughout the | 
					
						
							|  |  |  | # built documents. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-19 15:24:59 +11:00
										 |  |  | # This is the full exact version, canonical git version description | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # visible when you open index.html. | 
					
						
							| 
									
										
										
										
											2020-02-04 17:36:23 +11:00
										 |  |  | version = subprocess.check_output(['git', 'describe']).strip().decode('utf-8') | 
					
						
							| 
									
										
										
										
											2020-02-19 15:24:59 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # The 'release' version is the same as version for non-CI builds, but for CI | 
					
						
							|  |  |  | # builds on a branch then it's replaced with the branch name | 
					
						
							| 
									
										
										
										
											2020-02-18 15:08:22 +11:00
										 |  |  | release = sanitize_version(version) | 
					
						
							| 
									
										
										
										
											2020-02-19 15:24:59 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-04 02:06:04 +08:00
										 |  |  | print('Version: {0}  Release: {1}'.format(version, release)) | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # There are two options for replacing |today|: either, you set today to some | 
					
						
							|  |  |  | # non-false value, then it is used: | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # today = '' | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # Else, today_fmt is used as the format for a strftime call. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # today_fmt = '%B %d, %Y' | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # List of patterns, relative to source directory, that match files and | 
					
						
							|  |  |  | # directories to ignore when looking for source files. | 
					
						
							| 
									
										
										
										
											2020-02-04 17:36:23 +11:00
										 |  |  | exclude_patterns = ['**/inc/**', '_static', '**/_build'] | 
					
						
							| 
									
										
										
										
											2019-11-22 16:58:04 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-29 08:56:53 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Add target-specific excludes based on tags (for the IDF_TARGET). Haven't found any better way to do this yet | 
					
						
							| 
									
										
										
										
											2019-11-22 16:58:04 +11:00
										 |  |  | def update_exclude_patterns(tags): | 
					
						
							|  |  |  |     if "esp32" not in tags: | 
					
						
							|  |  |  |         # Exclude ESP32-only document pages so they aren't found in the initial search for .rst files | 
					
						
							|  |  |  |         # note: in toctrees, these also need to be marked with a :esp32: filter | 
					
						
							|  |  |  |         for e in ['api-guides/blufi.rst', | 
					
						
							|  |  |  |                   'api-guides/build-system-legacy.rst', | 
					
						
							|  |  |  |                   'api-guides/esp-ble-mesh/**', | 
					
						
							| 
									
										
										
										
											2020-01-31 17:16:03 +11:00
										 |  |  |                   'api-guides/RF_calibration.rst',  # temporary until support re-added in esp_wifi | 
					
						
							| 
									
										
										
										
											2019-11-22 16:58:04 +11:00
										 |  |  |                   'api-guides/ulp-legacy.rst', | 
					
						
							|  |  |  |                   'api-guides/unit-tests-legacy.rst', | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:14 +11:00
										 |  |  |                   'api-guides/ulp_instruction_set.rst', | 
					
						
							| 
									
										
										
										
											2019-12-06 17:22:55 +08:00
										 |  |  |                   'api-guides/jtag-debugging/configure-wrover.rst', | 
					
						
							|  |  |  |                   'api-reference/system/himem.rst', | 
					
						
							| 
									
										
										
										
											2019-12-10 11:58:00 +08:00
										 |  |  |                   'api-reference/bluetooth/**', | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:14 +11:00
										 |  |  |                   'api-reference/peripherals/sdio_slave.rst', | 
					
						
							|  |  |  |                   'api-reference/peripherals/esp_slave_protocol.rst', | 
					
						
							|  |  |  |                   'api-reference/peripherals/mcpwm.rst', | 
					
						
							|  |  |  |                   'api-reference/peripherals/sd_pullup_requirements.rst', | 
					
						
							|  |  |  |                   'api-reference/peripherals/sdmmc_host.rst', | 
					
						
							|  |  |  |                   'api-reference/protocols/esp_serial_slave_link.rst', | 
					
						
							| 
									
										
										
										
											2019-12-09 11:01:09 +08:00
										 |  |  |                   'api-reference/system/ipc.rst', | 
					
						
							| 
									
										
										
										
											2019-11-26 17:22:50 +11:00
										 |  |  |                   'get-started-legacy/**', | 
					
						
							| 
									
										
										
										
											2020-02-25 01:24:16 +05:30
										 |  |  |                   'security/secure-boot-v1.rst', | 
					
						
							|  |  |  |                   'security/secure-boot-v2.rst', | 
					
						
							| 
									
										
										
										
											2019-12-11 15:45:30 +08:00
										 |  |  |                   'gnu-make-legacy.rst', | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:14 +11:00
										 |  |  |                   'hw-reference/esp32/**', | 
					
						
							|  |  |  |                   ]: | 
					
						
							| 
									
										
										
										
											2019-11-22 16:58:04 +11:00
										 |  |  |             exclude_patterns.append(e) | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-11 15:45:30 +08:00
										 |  |  |     if "esp32s2" not in tags: | 
					
						
							| 
									
										
										
										
											2020-02-18 12:06:27 +01:00
										 |  |  |         # Exclude ESP32-S2-only document pages so they aren't found in the initial search for .rst files | 
					
						
							| 
									
										
										
										
											2019-12-11 15:45:30 +08:00
										 |  |  |         # note: in toctrees, these also need to be marked with a :esp32: filter | 
					
						
							| 
									
										
										
										
											2020-02-18 12:06:27 +01:00
										 |  |  |         for e in ['esp32s2.rst', | 
					
						
							|  |  |  |                   'hw-reference/esp32s2/**', | 
					
						
							| 
									
										
										
										
											2020-04-06 16:41:44 +02:00
										 |  |  |                   'api-guides/dfu.rst', | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:14 +11:00
										 |  |  |                   'api-guides/ulps2_instruction_set.rst', | 
					
						
							| 
									
										
										
										
											2020-04-15 14:06:10 +08:00
										 |  |  |                   'api-reference/peripherals/hmac.rst', | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:14 +11:00
										 |  |  |                   'api-reference/peripherals/temp_sensor.rst']: | 
					
						
							| 
									
										
										
										
											2019-12-11 15:45:30 +08:00
										 |  |  |             exclude_patterns.append(e) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-03 17:38:45 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # The reST default role (used for this markup: `text`) to use for all | 
					
						
							|  |  |  | # documents. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # default_role = None | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, '()' will be appended to :func: etc. cross-reference text. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # add_function_parentheses = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, the current module name will be prepended to all description | 
					
						
							|  |  |  | # unit titles (such as .. function::). | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # add_module_names = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, sectionauthor and moduleauthor directives will be shown in the | 
					
						
							|  |  |  | # output. They are ignored by default. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # show_authors = False | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # The name of the Pygments (syntax highlighting) style to use. | 
					
						
							|  |  |  | pygments_style = 'sphinx' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # A list of ignored prefixes for module index sorting. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # modindex_common_prefix = [] | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, keep warnings as "system message" paragraphs in the built documents. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # keep_warnings = False | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-19 15:24:59 +11:00
										 |  |  | # Extra options required by sphinx_idf_theme | 
					
						
							|  |  |  | project_slug = 'esp-idf' | 
					
						
							|  |  |  | versions_url = 'https://dl.espressif.com/dl/esp-idf/idf_versions.js' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | idf_targets = ['esp32', 'esp32s2'] | 
					
						
							|  |  |  | languages = ['en', 'zh_CN'] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | project_homepage = "https://github.com/espressif/esp-idf" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # -- Options for HTML output ---------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-03 17:58:08 +11:00
										 |  |  | # Custom added feature to allow redirecting old URLs | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2019-06-23 12:07:06 +10:00
										 |  |  | # Redirects should be listed in page_redirects.xt | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | with open("../page_redirects.txt") as f: | 
					
						
							|  |  |  |     lines = [re.sub(" +", " ", l.strip()) for l in f.readlines() if l.strip() != "" and not l.startswith("#")] | 
					
						
							|  |  |  |     for line in lines:  # check for well-formed entries | 
					
						
							|  |  |  |         if len(line.split(' ')) != 2: | 
					
						
							|  |  |  |             raise RuntimeError("Invalid line in page_redirects.txt: %s" % line) | 
					
						
							|  |  |  | html_redirect_pages = [tuple(l.split(' ')) for l in lines] | 
					
						
							| 
									
										
										
										
											2018-12-03 17:58:08 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | # The theme to use for HTML and HTML Help pages.  See the documentation for | 
					
						
							|  |  |  | # a list of builtin themes. | 
					
						
							| 
									
										
										
										
											2020-02-19 15:24:59 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | html_theme = 'sphinx_idf_theme' | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Theme options are theme-specific and customize the look and feel of a theme | 
					
						
							|  |  |  | # further.  For a list of options available for each theme, see the | 
					
						
							|  |  |  | # documentation. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_theme_options = {} | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Add any paths that contain custom themes here, relative to this directory. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_theme_path = [] | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # The name for this set of Sphinx documents.  If None, it defaults to | 
					
						
							|  |  |  | # "<project> v<release> documentation". | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_title = None | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # A shorter title for the navigation bar.  Default is the same as html_title. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_short_title = None | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # The name of an image file (relative to this directory) to place at the top | 
					
						
							|  |  |  | # of the sidebar. | 
					
						
							| 
									
										
										
										
											2018-07-23 19:18:50 +02:00
										 |  |  | html_logo = "../_static/espressif-logo.svg" | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # The name of an image file (within the static path) to use as favicon of the | 
					
						
							|  |  |  | # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32 | 
					
						
							|  |  |  | # pixels large. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_favicon = None | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Add any paths that contain custom static files (such as style sheets) here, | 
					
						
							|  |  |  | # relative to this directory. They are copied after the builtin static files, | 
					
						
							|  |  |  | # so a file named "default.css" will overwrite the builtin "default.css". | 
					
						
							| 
									
										
										
										
											2018-04-09 05:47:36 +02:00
										 |  |  | html_static_path = ['../_static'] | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Add any extra paths that contain custom files (such as robots.txt or | 
					
						
							|  |  |  | # .htaccess) here, relative to this directory. These files are copied | 
					
						
							|  |  |  | # directly to the root of the documentation. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_extra_path = [] | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, | 
					
						
							|  |  |  | # using the given strftime format. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_last_updated_fmt = '%b %d, %Y' | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, SmartyPants will be used to convert quotes and dashes to | 
					
						
							|  |  |  | # typographically correct entities. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_use_smartypants = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Custom sidebar templates, maps document names to template names. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_sidebars = {} | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Additional templates that should be rendered to pages, maps page names to | 
					
						
							|  |  |  | # template names. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_additional_pages = {} | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If false, no module index is generated. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_domain_indices = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If false, no index is generated. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_use_index = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, the index is split into individual pages for each letter. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_split_index = False | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, links to the reST sources are added to the pages. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_show_sourcelink = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_show_sphinx = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_show_copyright = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, an OpenSearch description file will be output, and all pages will | 
					
						
							|  |  |  | # contain a <link> tag referring to it.  The value of this option must be the | 
					
						
							|  |  |  | # base URL from which the finished HTML is served. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_use_opensearch = '' | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # This is the file name suffix for HTML files (e.g. ".xhtml"). | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # html_file_suffix = None | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Output file base name for HTML help builder. | 
					
						
							|  |  |  | htmlhelp_basename = 'ReadtheDocsTemplatedoc' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # -- Options for LaTeX output --------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  | latex_template_dir = os.path.join(config_dir, 'latex_templates') | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  | preamble = '' | 
					
						
							|  |  |  | with open(os.path.join(latex_template_dir, 'preamble.tex')) as f: | 
					
						
							|  |  |  |     preamble = f.read() | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  | titlepage = '' | 
					
						
							|  |  |  | with open(os.path.join(latex_template_dir, 'titlepage.tex')) as f: | 
					
						
							|  |  |  |     titlepage = f.read() | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  | latex_elements = { | 
					
						
							|  |  |  |     'papersize': 'a4paper', | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  |     # Latex figure (float) alignment | 
					
						
							|  |  |  |     'figure_align':'htbp', | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  |     'pointsize': '10pt', | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  |     # Additional stuff for the LaTeX preamble. | 
					
						
							|  |  |  |     'fncychap': '\\usepackage[Sonny]{fncychap}', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     'preamble': preamble, | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  |     'maketitle': titlepage, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The name of an image file (relative to this directory) to place at the bottom of | 
					
						
							|  |  |  | # the title page. | 
					
						
							|  |  |  | latex_logo = "../_static/espressif2.pdf" | 
					
						
							|  |  |  | latex_engine = 'xelatex' | 
					
						
							|  |  |  | latex_use_xindy = False | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # -- Options for manual page output --------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # One entry per manual page. List of tuples | 
					
						
							|  |  |  | # (source start file, name, description, authors, manual section). | 
					
						
							|  |  |  | man_pages = [ | 
					
						
							|  |  |  |     ('index', 'readthedocstemplate', u'Read the Docs Template Documentation', | 
					
						
							|  |  |  |      [u'Read the Docs'], 1) | 
					
						
							|  |  |  | ] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # If true, show URL addresses after external links. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # man_show_urls = False | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # -- Options for Texinfo output ------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Grouping the document tree into Texinfo files. List of tuples | 
					
						
							|  |  |  | # (source start file, target name, title, author, | 
					
						
							|  |  |  | #  dir menu entry, description, category) | 
					
						
							|  |  |  | texinfo_documents = [ | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  |     ('index', 'ReadtheDocsTemplate', u'Read the Docs Template Documentation', | 
					
						
							|  |  |  |      u'Read the Docs', 'ReadtheDocsTemplate', 'One line description of project.', | 
					
						
							|  |  |  |      'Miscellaneous'), | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | ] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Documents to append as an appendix to all manuals. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # texinfo_appendices = [] | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If false, no module index is generated. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # texinfo_domain_indices = True | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # How to display URL addresses: 'footnote', 'no', or 'inline'. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # texinfo_show_urls = 'footnote' | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If true, do not generate a @detailmenu in the "Top" node's menu. | 
					
						
							| 
									
										
										
										
											2018-12-01 09:25:08 +01:00
										 |  |  | # texinfo_no_detailmenu = False | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 10:47:57 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-09 05:47:36 +02:00
										 |  |  | # Override RTD CSS theme to introduce the theme corrections | 
					
						
							|  |  |  | # https://github.com/rtfd/sphinx_rtd_theme/pull/432 | 
					
						
							|  |  |  | def setup(app): | 
					
						
							|  |  |  |     app.add_stylesheet('theme_overrides.css') | 
					
						
							| 
									
										
										
										
											2020-02-19 15:24:59 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |     # these two must be pushed in by build_docs.py | 
					
						
							|  |  |  |     if "idf_target" not in app.config: | 
					
						
							|  |  |  |         app.add_config_value('idf_target', None, 'env') | 
					
						
							|  |  |  |         app.add_config_value('idf_targets', None, 'env') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-29 08:56:53 +11:00
										 |  |  |     # Breathe extension variables (depend on build_dir) | 
					
						
							|  |  |  |     # note: we generate into xml_in and then copy_if_modified to xml dir | 
					
						
							|  |  |  |     app.config.breathe_projects = {"esp32-idf": os.path.join(app.config.build_dir, "xml_in/")} | 
					
						
							|  |  |  |     app.config.breathe_default_project = "esp32-idf" | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:35 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |     setup_diag_font(app) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 08:41:41 +08:00
										 |  |  |     # Config values pushed by -D using the cmdline is not available when setup is called | 
					
						
							|  |  |  |     app.connect('config-inited',  setup_config_values) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def setup_config_values(app, config): | 
					
						
							|  |  |  |     # Sets up global config values needed by other extensions | 
					
						
							|  |  |  |     idf_target_title_dict = { | 
					
						
							|  |  |  |         'esp32': 'ESP32', | 
					
						
							|  |  |  |         'esp32s2': 'ESP32-S2' | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     app.add_config_value('idf_target_title_dict', idf_target_title_dict, 'env') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     pdf_name = "esp-idf-{}-{}-{}".format(app.config.language, app.config.version, app.config.idf_target) | 
					
						
							|  |  |  |     app.add_config_value('pdf_file', pdf_name, 'env') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-03 17:38:45 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-29 09:31:35 +11:00
										 |  |  | def setup_diag_font(app): | 
					
						
							|  |  |  |     # blockdiag and other tools require a font which supports their character set | 
					
						
							|  |  |  |     # the font file is stored on the download server to save repo size | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     font_name = { | 
					
						
							|  |  |  |         'en': 'DejaVuSans.ttf', | 
					
						
							|  |  |  |         'zh_CN': 'NotoSansSC-Regular.otf', | 
					
						
							|  |  |  |     }[app.config.language] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     font_dir = os.path.join(config_dir, '_static') | 
					
						
							|  |  |  |     assert os.path.exists(font_dir) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     print("Downloading font file %s for %s" % (font_name, app.config.language)) | 
					
						
							|  |  |  |     download_file_if_missing('https://dl.espressif.com/dl/esp-idf/docs/_static/{}'.format(font_name), font_dir) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     font_path = os.path.abspath(os.path.join(font_dir, font_name)) | 
					
						
							|  |  |  |     assert os.path.exists(font_path) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     app.config.blockdiag_fontpath = font_path | 
					
						
							|  |  |  |     app.config.seqdiag_fontpath = font_path | 
					
						
							|  |  |  |     app.config.actdiag_fontpath = font_path | 
					
						
							|  |  |  |     app.config.nwdiag_fontpath = font_path | 
					
						
							|  |  |  |     app.config.rackdiag_fontpath = font_path | 
					
						
							|  |  |  |     app.config.packetdiag_fontpath = font_path |