Read the Docs build information Build id: 2487083 Project: first-tech-challenge-ftcdocs Version: latest Commit: 60ce9bca9fcf292f8981ae4a11e3d40004e774f7 Date: 2024-09-17T01:32:05.492839Z State: cancelled Success: False [rtd-command-info] start-time: 2024-09-17T01:32:06.770499Z, end-time: 2024-09-17T01:32:11.595997Z, duration: 4, exit-code: 0 git clone --depth 1 https://github.com/FIRST-Tech-Challenge/ftcdocs.git . Cloning into '.'... [rtd-command-info] start-time: 2024-09-17T01:32:11.672484Z, end-time: 2024-09-17T01:32:12.589643Z, duration: 0, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 refs/heads/main:refs/remotes/origin/main [rtd-command-info] start-time: 2024-09-17T01:32:12.732299Z, end-time: 2024-09-17T01:32:13.764554Z, duration: 1, exit-code: 0 git checkout --force origin/main Note: switching to 'origin/main'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 60ce9bc Update Configuring-Your-Android-Devices.rst (#310) [rtd-command-info] start-time: 2024-09-17T01:32:13.853840Z, end-time: 2024-09-17T01:32:13.928482Z, duration: 0, exit-code: 0 cat .readthedocs.yaml # .readthedocs.yml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/source/conf.py # Build documentation with MkDocs #mkdocs: # configuration: mkdocs.yml # Optionally build your docs in additional formats such as PDF formats: - pdf # Optionally set the version of Python and requirements required to build your docs build: os: "ubuntu-22.04" tools: python: "3.9" python: install: - requirements: docs/requirements.txt [rtd-command-info] start-time: 2024-09-17T01:32:19.483923Z, end-time: 2024-09-17T01:32:19.569147Z, duration: 0, exit-code: 0 asdf global python 3.9.19 [rtd-command-info] start-time: 2024-09-17T01:32:19.983957Z, end-time: 2024-09-17T01:32:21.261650Z, duration: 1, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.9.19.final.0-64 in 892ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/docs/.local/share/virtualenv) added seed packages: pip==23.1, setuptools==67.6.1, wheel==0.40.0 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator [rtd-command-info] start-time: 2024-09-17T01:32:21.336353Z, end-time: 2024-09-17T01:32:32.212325Z, duration: 10, exit-code: 0 python -m pip install --upgrade --no-cache-dir pip setuptools Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (23.1) Collecting pip Downloading pip-24.2-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 10.5 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (67.6.1) Collecting setuptools Downloading setuptools-75.1.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 26.7 MB/s eta 0:00:00 Installing collected packages: setuptools, pip Attempting uninstall: setuptools Found existing installation: setuptools 67.6.1 Uninstalling setuptools-67.6.1: Successfully uninstalled setuptools-67.6.1 Attempting uninstall: pip Found existing installation: pip 23.1 Uninstalling pip-23.1: Successfully uninstalled pip-23.1 Successfully installed pip-24.2 setuptools-75.1.0 [rtd-command-info] start-time: 2024-09-17T01:32:32.287503Z, end-time: 2024-09-17T01:32:41.391380Z, duration: 9, exit-code: 0 python -m pip install --upgrade --no-cache-dir sphinx readthedocs-sphinx-ext Collecting sphinx Downloading sphinx-7.4.7-py3-none-any.whl.metadata (6.1 kB) Collecting readthedocs-sphinx-ext Downloading readthedocs_sphinx_ext-2.2.5-py2.py3-none-any.whl.metadata (1.5 kB) Collecting sphinxcontrib-applehelp (from sphinx) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-devhelp (from sphinx) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-jsmath (from sphinx) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB) Collecting sphinxcontrib-htmlhelp>=2.0.0 (from sphinx) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx) Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl.metadata (2.4 kB) Collecting sphinxcontrib-qthelp (from sphinx) Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting Jinja2>=3.1 (from sphinx) Downloading jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB) Collecting Pygments>=2.17 (from sphinx) Downloading pygments-2.18.0-py3-none-any.whl.metadata (2.5 kB) Collecting docutils<0.22,>=0.20 (from sphinx) Downloading docutils-0.21.2-py3-none-any.whl.metadata (2.8 kB) Collecting snowballstemmer>=2.2 (from sphinx) Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl.metadata (6.5 kB) Collecting babel>=2.13 (from sphinx) Downloading babel-2.16.0-py3-none-any.whl.metadata (1.5 kB) Collecting alabaster~=0.7.14 (from sphinx) Downloading alabaster-0.7.16-py3-none-any.whl.metadata (2.9 kB) Collecting imagesize>=1.3 (from sphinx) Downloading imagesize-1.4.1-py2.py3-none-any.whl.metadata (1.5 kB) Collecting requests>=2.30.0 (from sphinx) Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB) Collecting packaging>=23.0 (from sphinx) Downloading packaging-24.1-py3-none-any.whl.metadata (3.2 kB) Collecting importlib-metadata>=6.0 (from sphinx) Downloading importlib_metadata-8.5.0-py3-none-any.whl.metadata (4.8 kB) Collecting tomli>=2 (from sphinx) Downloading tomli-2.0.1-py3-none-any.whl.metadata (8.9 kB) Collecting zipp>=3.20 (from importlib-metadata>=6.0->sphinx) Downloading zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB) Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->sphinx) Downloading MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB) Collecting charset-normalizer<4,>=2 (from requests>=2.30.0->sphinx) Downloading charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB) Collecting idna<4,>=2.5 (from requests>=2.30.0->sphinx) Downloading idna-3.10-py3-none-any.whl.metadata (10 kB) Collecting urllib3<3,>=1.21.1 (from requests>=2.30.0->sphinx) Downloading urllib3-2.2.3-py3-none-any.whl.metadata (6.5 kB) Collecting certifi>=2017.4.17 (from requests>=2.30.0->sphinx) Downloading certifi-2024.8.30-py3-none-any.whl.metadata (2.2 kB) Downloading sphinx-7.4.7-py3-none-any.whl (3.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 105.7 MB/s eta 0:00:00 Downloading readthedocs_sphinx_ext-2.2.5-py2.py3-none-any.whl (11 kB) Downloading alabaster-0.7.16-py3-none-any.whl (13 kB) Downloading babel-2.16.0-py3-none-any.whl (9.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 189.1 MB/s eta 0:00:00 Downloading docutils-0.21.2-py3-none-any.whl (587 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.4/587.4 kB 296.5 MB/s eta 0:00:00 Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Downloading importlib_metadata-8.5.0-py3-none-any.whl (26 kB) Downloading jinja2-3.1.4-py3-none-any.whl (133 kB) Downloading packaging-24.1-py3-none-any.whl (53 kB) Downloading pygments-2.18.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 331.4 MB/s eta 0:00:00 Downloading requests-2.32.3-py3-none-any.whl (64 kB) Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB) Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB) Downloading tomli-2.0.1-py3-none-any.whl (12 kB) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB) Downloading certifi-2024.8.30-py3-none-any.whl (167 kB) Downloading charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (142 kB) Downloading idna-3.10-py3-none-any.whl (70 kB) Downloading MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB) Downloading urllib3-2.2.3-py3-none-any.whl (126 kB) Downloading zipp-3.20.2-py3-none-any.whl (9.2 kB) Installing collected packages: snowballstemmer, zipp, urllib3, tomli, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, Pygments, packaging, MarkupSafe, imagesize, idna, docutils, charset-normalizer, certifi, babel, alabaster, requests, Jinja2, importlib-metadata, sphinx, readthedocs-sphinx-ext Successfully installed Jinja2-3.1.4 MarkupSafe-2.1.5 Pygments-2.18.0 alabaster-0.7.16 babel-2.16.0 certifi-2024.8.30 charset-normalizer-3.3.2 docutils-0.21.2 idna-3.10 imagesize-1.4.1 importlib-metadata-8.5.0 packaging-24.1 readthedocs-sphinx-ext-2.2.5 requests-2.32.3 snowballstemmer-2.2.0 sphinx-7.4.7 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0 tomli-2.0.1 urllib3-2.2.3 zipp-3.20.2 [rtd-command-info] start-time: 2024-09-17T01:32:41.475350Z, end-time: 2024-09-17T01:32:56.366451Z, duration: 14, exit-code: 0 python -m pip install --exists-action=w --no-cache-dir -r docs/requirements.txt Collecting git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=sphinx_rtd_dark_mode_v2 (from -r docs/requirements.txt (line 4)) Cloning https://github.com/FIRST-Tech-Challenge/ftcdocs-helper (to revision main) to /tmp/pip-req-build-79jlxlcl Running command git clone --filter=blob:none --quiet https://github.com/FIRST-Tech-Challenge/ftcdocs-helper /tmp/pip-req-build-79jlxlcl Resolved https://github.com/FIRST-Tech-Challenge/ftcdocs-helper to commit 8c7f8201776067af94c8c682a2ed447dcf30e460 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=javasphinx (from -r docs/requirements.txt (line 5)) Cloning https://github.com/FIRST-Tech-Challenge/ftcdocs-helper (to revision main) to /tmp/pip-req-build-2xc0zdkl Running command git clone --filter=blob:none --quiet https://github.com/FIRST-Tech-Challenge/ftcdocs-helper /tmp/pip-req-build-2xc0zdkl Resolved https://github.com/FIRST-Tech-Challenge/ftcdocs-helper to commit 8c7f8201776067af94c8c682a2ed447dcf30e460 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=googleanalytics (from -r docs/requirements.txt (line 7)) Cloning https://github.com/FIRST-Tech-Challenge/ftcdocs-helper (to revision main) to /tmp/pip-req-build-5gzn8qcf Running command git clone --filter=blob:none --quiet https://github.com/FIRST-Tech-Challenge/ftcdocs-helper /tmp/pip-req-build-5gzn8qcf Resolved https://github.com/FIRST-Tech-Challenge/ftcdocs-helper to commit 8c7f8201776067af94c8c682a2ed447dcf30e460 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=cookiebanner (from -r docs/requirements.txt (line 8)) Cloning https://github.com/FIRST-Tech-Challenge/ftcdocs-helper (to revision main) to /tmp/pip-req-build-oz0r5rzc Running command git clone --filter=blob:none --quiet https://github.com/FIRST-Tech-Challenge/ftcdocs-helper /tmp/pip-req-build-oz0r5rzc Resolved https://github.com/FIRST-Tech-Challenge/ftcdocs-helper to commit 8c7f8201776067af94c8c682a2ed447dcf30e460 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting Sphinx==5.0.0 (from -r docs/requirements.txt (line 1)) Downloading Sphinx-5.0.0-py3-none-any.whl.metadata (7.9 kB) Collecting sphinx-autobuild==2024.2.4 (from -r docs/requirements.txt (line 2)) Downloading sphinx_autobuild-2024.2.4-py3-none-any.whl.metadata (8.8 kB) Collecting make==0.1.6.post2 (from -r docs/requirements.txt (line 3)) Downloading make-0.1.6.post2-py3-none-any.whl.metadata (4.6 kB) Collecting sphinx_design==0.2.0 (from -r docs/requirements.txt (line 6)) Downloading sphinx_design-0.2.0-py3-none-any.whl.metadata (5.1 kB) Collecting sphinx-sitemap==2.3.0 (from -r docs/requirements.txt (line 9)) Downloading sphinx_sitemap-2.3.0-py3-none-any.whl.metadata (8.8 kB) Collecting python-git-info==0.8.3 (from -r docs/requirements.txt (line 10)) Downloading python_git_info-0.8.3-py3-none-any.whl.metadata (6.9 kB) Collecting sphinxcontrib-mermaid==0.9.2 (from -r docs/requirements.txt (line 11)) Downloading sphinxcontrib_mermaid-0.9.2-py3-none-any.whl.metadata (12 kB) Collecting sphinxext-rediraffe==0.2.7 (from -r docs/requirements.txt (line 12)) Downloading sphinxext_rediraffe-0.2.7-py3-none-any.whl.metadata (5.5 kB) Requirement already satisfied: sphinxcontrib-applehelp in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-devhelp in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-jsmath in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (1.0.1) Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.1.0) Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.5 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-qthelp in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: Jinja2>=2.3 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (3.1.4) Requirement already satisfied: Pygments>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.18.0) Collecting docutils<0.19,>=0.14 (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) Downloading docutils-0.18.1-py2.py3-none-any.whl.metadata (2.9 kB) Requirement already satisfied: snowballstemmer>=1.1 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.2.0) Requirement already satisfied: babel>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.16.0) Requirement already satisfied: alabaster<0.8,>=0.7 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (0.7.16) Requirement already satisfied: imagesize in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (1.4.1) Requirement already satisfied: requests>=2.5.0 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.32.3) Requirement already satisfied: packaging in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (24.1) Requirement already satisfied: importlib-metadata>=4.4 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (8.5.0) Collecting livereload (from sphinx-autobuild==2024.2.4->-r docs/requirements.txt (line 2)) Downloading livereload-2.7.0-py3-none-any.whl.metadata (2.1 kB) Collecting colorama (from sphinx-autobuild==2024.2.4->-r docs/requirements.txt (line 2)) Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB) Collecting jinja2-time (from make==0.1.6.post2->-r docs/requirements.txt (line 3)) Downloading jinja2_time-0.2.0-py2.py3-none-any.whl.metadata (5.1 kB) Collecting sphinx-rtd-theme (from sphinx_rtd_dark_mode==1.2.4->-r docs/requirements.txt (line 4)) Downloading sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl.metadata (4.4 kB) Collecting javalang>=0.10.1 (from javasphinx==0.9.15->-r docs/requirements.txt (line 5)) Downloading javalang-0.13.0-py3-none-any.whl.metadata (805 bytes) Collecting lxml (from javasphinx==0.9.15->-r docs/requirements.txt (line 5)) Downloading lxml-5.3.0-cp39-cp39-manylinux_2_28_x86_64.whl.metadata (3.8 kB) Collecting beautifulsoup4 (from javasphinx==0.9.15->-r docs/requirements.txt (line 5)) Downloading beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB) Collecting future (from javasphinx==0.9.15->-r docs/requirements.txt (line 5)) Downloading future-1.0.0-py3-none-any.whl.metadata (4.0 kB) Requirement already satisfied: zipp>=3.20 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from importlib-metadata>=4.4->Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (3.20.2) Collecting six (from javalang>=0.10.1->javasphinx==0.9.15->-r docs/requirements.txt (line 5)) Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB) Requirement already satisfied: MarkupSafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from Jinja2>=2.3->Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.1.5) Requirement already satisfied: charset-normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from requests>=2.5.0->Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from requests>=2.5.0->Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from requests>=2.5.0->Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/first-tech-challenge-ftcdocs/envs/latest/lib/python3.9/site-packages (from requests>=2.5.0->Sphinx==5.0.0->-r docs/requirements.txt (line 1)) (2024.8.30) Collecting soupsieve>1.2 (from beautifulsoup4->javasphinx==0.9.15->-r docs/requirements.txt (line 5)) Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB) Collecting arrow (from jinja2-time->make==0.1.6.post2->-r docs/requirements.txt (line 3)) Downloading arrow-1.3.0-py3-none-any.whl.metadata (7.5 kB) Collecting tornado (from livereload->sphinx-autobuild==2024.2.4->-r docs/requirements.txt (line 2)) Downloading tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.5 kB) Collecting sphinxcontrib-jquery<5,>=4 (from sphinx-rtd-theme->sphinx_rtd_dark_mode==1.2.4->-r docs/requirements.txt (line 4)) Downloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl.metadata (2.6 kB) Collecting python-dateutil>=2.7.0 (from arrow->jinja2-time->make==0.1.6.post2->-r docs/requirements.txt (line 3)) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) Collecting types-python-dateutil>=2.8.10 (from arrow->jinja2-time->make==0.1.6.post2->-r docs/requirements.txt (line 3)) Downloading types_python_dateutil-2.9.0.20240906-py3-none-any.whl.metadata (1.9 kB) Downloading Sphinx-5.0.0-py3-none-any.whl (3.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 79.5 MB/s eta 0:00:00 Downloading sphinx_autobuild-2024.2.4-py3-none-any.whl (10.0 kB) Downloading make-0.1.6.post2-py3-none-any.whl (14 kB) Downloading sphinx_design-0.2.0-py3-none-any.whl (1.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 186.1 MB/s eta 0:00:00 Downloading sphinx_sitemap-2.3.0-py3-none-any.whl (8.0 kB) Downloading python_git_info-0.8.3-py3-none-any.whl (8.9 kB) Downloading sphinxcontrib_mermaid-0.9.2-py3-none-any.whl (13 kB) Downloading sphinxext_rediraffe-0.2.7-py3-none-any.whl (8.3 kB) Downloading docutils-0.18.1-py2.py3-none-any.whl (570 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 570.0/570.0 kB 301.7 MB/s eta 0:00:00 Downloading javalang-0.13.0-py3-none-any.whl (22 kB) Downloading beautifulsoup4-4.12.3-py3-none-any.whl (147 kB) Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) Downloading future-1.0.0-py3-none-any.whl (491 kB) Downloading jinja2_time-0.2.0-py2.py3-none-any.whl (6.4 kB) Downloading livereload-2.7.0-py3-none-any.whl (22 kB) Downloading lxml-5.3.0-cp39-cp39-manylinux_2_28_x86_64.whl (5.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.0/5.0 MB 178.7 MB/s eta 0:00:00 Downloading sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl (2.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 184.9 MB/s eta 0:00:00 Downloading soupsieve-2.6-py3-none-any.whl (36 kB) Downloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl (121 kB) Downloading arrow-1.3.0-py3-none-any.whl (66 kB) Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) Downloading tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (436 kB) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Downloading types_python_dateutil-2.9.0.20240906-py3-none-any.whl (9.7 kB) Building wheels for collected packages: sphinx_rtd_dark_mode, javasphinx, sphinxcontrib-googleanalytics, sphinxcontrib-cookiebanner Building wheel for sphinx_rtd_dark_mode (setup.py): started Building wheel for sphinx_rtd_dark_mode (setup.py): finished with status 'done' Created wheel for sphinx_rtd_dark_mode: filename=sphinx_rtd_dark_mode-1.2.4-py3-none-any.whl size=8954 sha256=cafb164c9745886ac7b0336ca02aa83f89c03e9888161b52ef69ce564326b582 Stored in directory: /tmp/pip-ephem-wheel-cache-lt6e7q2o/wheels/c5/be/2e/a3c8c65049db491b503edae2ec8d85c7d386a2aabc83a2624a Building wheel for javasphinx (setup.py): started Building wheel for javasphinx (setup.py): finished with status 'done' Created wheel for javasphinx: filename=javasphinx-0.9.15-py3-none-any.whl size=27050 sha256=fbdcf56c760288587edfb92bd7c71a921e44aa2e13422e522f5cdc213aa74167 Stored in directory: /tmp/pip-ephem-wheel-cache-lt6e7q2o/wheels/ab/37/85/7c8f3c370457fb6f5075f1c3d21466e3f30af4399303887566 Building wheel for sphinxcontrib-googleanalytics (setup.py): started Building wheel for sphinxcontrib-googleanalytics (setup.py): finished with status 'done' Created wheel for sphinxcontrib-googleanalytics: filename=sphinxcontrib_googleanalytics-0.2.dev20240917-py3-none-any.whl size=3696 sha256=603b2bf767bdcb3fc7f31e4f6bb9edef86744bae3532df68c85440a2bb11ac89 Stored in directory: /tmp/pip-ephem-wheel-cache-lt6e7q2o/wheels/b1/f4/45/811698f65b3315055b534fd68cf0045facb07e97f7748571b2 Building wheel for sphinxcontrib-cookiebanner (setup.py): started Building wheel for sphinxcontrib-cookiebanner (setup.py): finished with status 'done' Created wheel for sphinxcontrib-cookiebanner: filename=sphinxcontrib_cookiebanner-0.1.dev20240917-py3-none-any.whl size=3542 sha256=cc6c04ec8b36351300b76ef056e95fd0dc87bcb2b3d825dc57f34822be7d5132 Stored in directory: /tmp/pip-ephem-wheel-cache-lt6e7q2o/wheels/62/80/96/3b3a501600901ac8e1fe7c10a3ae333c14c3d4fd384512dce7 Successfully built sphinx_rtd_dark_mode javasphinx sphinxcontrib-googleanalytics sphinxcontrib-cookiebanner Installing collected packages: python-git-info, types-python-dateutil, tornado, sphinxcontrib-mermaid, soupsieve, six, lxml, future, docutils, colorama, Sphinx, python-dateutil, livereload, javalang, beautifulsoup4, sphinxext-rediraffe, sphinxcontrib-jquery, sphinxcontrib-googleanalytics, sphinxcontrib-cookiebanner, sphinx-sitemap, sphinx_design, sphinx-autobuild, javasphinx, arrow, sphinx-rtd-theme, jinja2-time, sphinx_rtd_dark_mode, make Attempting uninstall: docutils Found existing installation: docutils 0.21.2 Uninstalling docutils-0.21.2: Successfully uninstalled docutils-0.21.2 Attempting uninstall: Sphinx Found existing installation: Sphinx 7.4.7 Uninstalling Sphinx-7.4.7: Successfully uninstalled Sphinx-7.4.7 Successfully installed Sphinx-5.0.0 arrow-1.3.0 beautifulsoup4-4.12.3 colorama-0.4.6 docutils-0.18.1 future-1.0.0 javalang-0.13.0 javasphinx-0.9.15 jinja2-time-0.2.0 livereload-2.7.0 lxml-5.3.0 make-0.1.6.post2 python-dateutil-2.9.0.post0 python-git-info-0.8.3 six-1.16.0 soupsieve-2.6 sphinx-autobuild-2024.2.4 sphinx-rtd-theme-2.0.0 sphinx-sitemap-2.3.0 sphinx_design-0.2.0 sphinx_rtd_dark_mode-1.2.4 sphinxcontrib-cookiebanner-0.1.dev20240917 sphinxcontrib-googleanalytics-0.2.dev20240917 sphinxcontrib-jquery-4.1 sphinxcontrib-mermaid-0.9.2 sphinxext-rediraffe-0.2.7 tornado-6.4.1 types-python-dateutil-2.9.0.20240906 [rtd-command-info] start-time: 2024-09-17T01:32:56.993473Z, end-time: 2024-09-17T01:32:57.089410Z, duration: 0, exit-code: 0 cat docs/source/conf.py # Configuration file for the Sphinx documentation builder. # -- Project information import os import sys import urllib.parse as urlparse import gitinfo project = 'FIRST Tech Challenge Docs' copyright = 'FIRST' author = 'FIRST Tech Challenge' license = 'BSD 3-Clause' release = '0.2' version = '0.2.0' # -- General configuration extensions = [ 'javasphinx', 'sphinx.ext.autodoc', 'sphinx.ext.autosectionlabel', 'sphinx.ext.autosummary', 'sphinx.ext.doctest', 'sphinx.ext.duration', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx_design', 'sphinx_rtd_dark_mode', 'sphinxcontrib.googleanalytics', 'sphinxcontrib.cookiebanner', 'sphinxcontrib.mermaid', "sphinxext.rediraffe", ] autosectionlabel_prefix_document = True default_dark_mode = False todo_include_todos = False # Configure Google Analytics, Disabled by default googleanalytics_enabled = False intersphinx_mapping = { 'python': ('https://docs.python.org/3/', None), 'sphinx': ('https://www.sphinx-doc.org/en/master/', None), } intersphinx_disabled_domains = ['std'] javadoc_url_map = { 'org.firstinspires.ftc.ftccommon': ('https://javadoc.io/static/org.firstinspires.ftc/FtcCommon/9.2.0/', 'javadoc'), 'org.firstinspires.ftc.hardware': ('https://javadoc.io/static/org.firstinspires.ftc/Hardware/9.2.0/', 'javadoc'), 'org.firstinspires.ftc.inspection': ('https://javadoc.io/static/org.firstinspires.ftc/Inspection/9.2.0/', 'javadoc'), 'org.firstinspires.ftc.onbotjava': ('https://javadoc.io/static/org.firstinspires.ftc/OnBotJava/9.2.0/', 'javadoc'), 'org.firstinspires.ftc.robotcore': ('https://javadoc.io/static/org.firstinspires.ftc/RobotCore/9.2.0/', 'javadoc'), 'org.firstinspires.ftc.vision': ('https://javadoc.io/static/org.firstinspires.ftc/Vision/9.2.0/', 'javadoc'), } templates_path = ['_templates'] # Image Checker Configuration IMAGE_SIZE_EXCLUSIONS = ["source/control_hard_compon/rc_components/images/A1.svg", "source/control_hard_compon/rc_components/images/B1.svg", "source/control_hard_compon/rc_components/images/A2.svg", "source/control_hard_compon/rc_components/images/B2.svg", "source/control_hard_compon/ds_components/images/C1.svg",] # Specify the master doc file, AKA our homepage master_doc = "index" output_name = 'ftcdocs' # -- Options for HTML output html_theme = 'sphinx_rtd_theme' # 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". html_static_path = ["_static"] # Sidebar logo html_logo = "assets/FIRSTTech_iconHorz_RGB_reverse.png" # URL favicon html_favicon = "assets/FIRSTicon_RGB_withTM.ico" # Credit: https://github.com/wpilibsuite/frc-docs/blob/main/source/conf.py # -- Options for latex generation -------------------------------------------- latex_engine = "xelatex" latex_logo = "assets/Latex_Logo_FTC.png" latex_additional_files = ["assets/Latex_Footer_FTC.png", "_static/RTX.png", 'assets/FTC_Center_Stage_Title.pdf'] # Disable xindy support # See: https://github.com/readthedocs/readthedocs.org/issues/5476 latex_use_xindy = False gitInfo = gitinfo.get_git_info(dir="../../.") gitInfo = {'commit': "N/A", 'refs': 'N/A', 'author_date': 'N/A', 'author': 'N/A'} if gitInfo==None else gitInfo latex_elements = { "papersize": "letterpaper", 'classoptions':',openany', "fontpkg": r""" \setmainfont{Roboto} \setsansfont{Roboto} \setmonofont{DejaVu Sans Mono} """, 'passoptionstopackages': r""" \PassOptionsToPackage{letterpaper,portrait,includehead=true,includefoot=true,left=0.5in,right=0.5in,top=0.9in,bottom=3in,footskip=12.4pt,headsep=25pt,}{geometry} \usepackage{titling} """, "preamble": r""" \usepackage{fancyhdr} \usepackage{color} \usepackage{eso-pic} \usepackage{titlesec} \usepackage[datesep=/,style=ddmmyyyy]{datetime2} \titleformat {\chapter} % command [display] % shape {\bfseries\Large\itshape} % format {Chapter \thechapter} % label {0ex} % sep { \vspace*{-1ex} \textcolor[rgb]{.96, .49, .15}{\rule{\textwidth}{3pt}} \vspace{1ex} } % before-code [ ] % after-code \addtolength{\topmargin}{-23.80643pt} \setlength{\footskip}{36pt} \makeatletter \fancypagestyle{normal}{ \fancyhf{} \fancyfoot[LE]{{ \vspace{-5mm} \includegraphics[scale=0.75]{Latex_Footer_FTC.png} }} \fancyfoot[RE]{ \py@HeaderFamily \py@release \hspace{4mm} \today } \fancyfoot[LO]{\py@HeaderFamily \textbf{Gracious Professionalism®} - \textcolor[rgb]{.96, .49, .15}{“Doing your best work while treating others with respect and kindness - It’s what makes FIRST, first.”}} \fancyhead[R]{{\vspace{5mm} \py@HeaderFamily \@title, \thepage}} \fancyhead[L]{{\vspace{5mm} FTC Docs}} \fancyhead[C]{{\vspace{5mm} \begin{center}\py@HeaderFamily \thechapter \end{center}}} } \fancypagestyle{plain}{ \fancyhf{} \fancyfoot[LE]{{ \vspace{-5mm} \includegraphics[scale=0.75]{Latex_Footer_FTC.png} }} \fancyfoot[RE]{ \py@HeaderFamily \py@release \hspace{4mm} \today } \fancyfoot[LO]{\py@HeaderFamily \textbf{Gracious Professionalism®} - \textcolor[rgb]{.96, .49, .15}{“Doing your best work while treating others with respect and kindness - It’s what makes FIRST, first.”}} \fancyhead[R]{{\vspace{5mm} \py@HeaderFamily \@title, \thepage}} \fancyhead[L]{{\vspace{5mm} FTC Docs}} \fancyhead[C]{{\vspace{5mm} \begin{center}\py@HeaderFamily \thechapter \end{center}}} } \makeatother """, "maketitle": r""" \newgeometry{left=0.5in, right=0.5in, top=0.5in, bottom=0.5in} \pagenumbering{Roman} \begin{titlepage} \AddToShipoutPictureBG*{\includegraphics[width=\paperwidth,height=\paperheight]{FTC_Center_Stage_Title.pdf}} \vspace*{113mm} \begin{flushright} \begin{center} \textbf{\Large {2023-2024 \emph{FIRST} Tech Challenge}} \\ \vspace{4mm} \textbf{\Huge {\thetitle}} \\ \vspace*{\fill} \textbf{\Large {\emph{FIRST} Tech Challenge Documentation}} \end{center} \end{flushright} \end{titlepage} \newpage \vspace*{5mm} \textbf{\Large{Sponsor Thank You}} \indent Thank you to our generous sponsors for your continued support of the \emph{FIRST} Tech Challenge! \vspace{50mm} \begin{figure}[!h] \begin{center} \includegraphics[scale=0.8]{RTX.png} \end{center} \end{figure} \restoregeometry \newgeometry{left=0.5in, right=0.5in, top=0.6in, bottom=1in} """, 'atendofbody': rf""" \newpage \chapter{{Version Information}} \section{{Document Information}} \large \textbf{{Author:}} \theauthor \\ \large \textbf{{Version:}} {release} \\ \large \textbf{{Release Date:}} \today \\ \large \textbf{{Generation Time:}} \DTMcurrenttime \\ \section{{Git Information}} \large \textbf{{Git Hash: }} {gitInfo['commit']} \\ \large \textbf{{Git Branch: }} {gitInfo['refs']} \\ \large \textbf{{Git Commit Date: }} {gitInfo['author_date']} \\ \large \textbf{{Git Commit Author:}} {gitInfo['author']} \section{{Document License}} \large \textbf{{License:}} {license} """, "printindex": r"\footnotesize\raggedright\printindex", } suppress_warnings = ["epub.unknown_project_files"] sphinx_tabs_valid_builders = ["epub", "linkcheck"] # -- Options for EPUB output epub_show_urls = 'footnote' # Specify a standard user agent, as Sphinx default is blocked on some sites user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" # Add a timeout to linkcheck to prevent check from simply hanging on poor websites linkcheck_timeout = 60 # Change request header to avoid timeout errors with SOLIDWORKS/Autodesk because they are great like that linkcheck_request_headers = { "https://www.autodesk.com/": { "Origin": "https://www.autodesk.com", "Referer": "https://www.autodesk.com/", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip,deflate", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", }, "https://www.hp.com/": { "Origin": "https://www.hp.com", "Referer": "https://www.hp.com/", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip,deflate", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", }, "*": { "Accept": "text/html,application/xhtml+xml", }, } # Firstinspires redirects to login and break our link checker :) # ftc-ml.firstinspires.org does a redirect that linkcheck hates. # GitHub links with Javascript Anchors cannot be detected by linkcheck # Solidworks returns 403 errors on too many web pages. Thanks, buddy. # As of 7/13/23, april.eecs.umich.edu has an expired certificate linkcheck_ignore = [ r'https://my.firstinspires.org/Dashboard/', "https://ftc-ml.firstinspires.org", r'https://github.com/.*#', r'https://wiki.dfrobot.com/.*#', r'https://www.solidworks.com/', r'https://sketchup.com/', r'https://april.eecs.umich.edu/', r'https://www.autodesk.com/', r'https://knowledge.autodesk.com/', r'https://www.3dflow.net/', r'https://stackoverflow.com', ] latex_documents = [ (master_doc, output_name + '.tex', project, author, "manual"), ] if(os.environ.get("BOOKLETS_BUILD") == "true"): print('Building booklets') latex_documents = [ ('ftc_ml/index', "ftc_ml.tex", "FTC Machine Learning", author, "manual"), # FTC ML ('programming_resources/index', "prgrm_res.tex", "FTC Programming Resources", author, "manual"), # Programming Resources ('programming_resources/android_studio_java/Android-Studio-Tutorial', 'android_studios.tex', 'Android Studio Guide', author, "manual"), # Android Studio ('programming_resources/onbot_java/OnBot-Java-Tutorial', "onbot_java.tex", 'OnBot Java Guide', author, "manual"), # OnBot Java ('programming_resources/blocks/Blocks-Tutorial', "blocks.tex", 'Blocks Guide', author, "manual"), # Blocks ('booklets/apriltags', "april_tags.tex", 'April Tags Guide', author, "manual"), # April Tags ('booklets/control_system', "control_system.tex", 'Control System Guide', author, "manual"), # Control System ('booklets/advanced', "advanced.tex", 'Advanced Topics, Programming Resources', author, "manual"), # Advanced Topics ('booklets/sdk', "sdk.tex", 'SDK Guide', author, "manual"), # SDK ('robot_building/rev/PowerPlay/part1/index', "rob_building_rev_p1.tex", 'Part 1 - Basic \'Bot Guide for REV', author, "manual"), # REV Bot Building Power Play P1 ('manufacturing/3d_printing/index', '3d_printing.tex', '3D Printing Guide', author, "manual"), # 3D Printing ] def setup(app): app.add_css_file("css/ftc-rtd.css") #app.add_css_file("css/ftc-rtl.css") app.add_js_file("js/external-links-new-tab.js") # Set Cookie Banner to disabled by default cookiebanner_enabled = False # Configure for local official-esque builds if(os.environ.get("LOCAL_DOCS_BUILD") == "true"): html_context = dict() html_context['display_lower_left'] = True html_context['current_version'] = version html_context['version'] = version html_context['downloads'] = list() pdfname = str(urlparse.urlparse(os.environ.get("FTCDOCS_URL", default="")).path) + output_name + ".pdf" html_context['downloads'].append(('PDF', str(pdfname))) html_context['display_github'] = True html_context['github_user'] = 'FIRST-Tech-Challenge' html_context['github_repo'] = 'ftcdocs' html_context['github_version'] = 'main/docs/source/' cookiebanner_enabled = True if(os.environ.get("RTD_DOCS_BUILD") == "true"): cookiebanner_enabled = True extensions.append('sphinx_sitemap') html_baseurl = os.environ.get("FTCDOCS_URL", default="") # Configure RTD Theme html_theme_options = { 'navigation_depth': 5, } # Avoid duplicate labels autosectionlabel_maxdepth = 2 # Add support for translations gettext_compact = False locale_dirs = ["locale/"] rediraffe_redirects = "redirects.txt" rediraffe_branch = "origin/main" ########################################################################### # auto-created readthedocs.org specific configuration # ########################################################################### # # The following code was added during an automated build on readthedocs.org # It is auto created and injected for every build. The result is based on the # conf.py.tmpl file found in the readthedocs.org codebase: # https://github.com/rtfd/readthedocs.org/blob/main/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl # # Note: this file shouldn't rely on extra dependencies. import importlib import sys import os.path # Borrowed from six. PY3 = sys.version_info[0] == 3 string_types = str if PY3 else basestring from sphinx import version_info # Get suffix for proper linking to GitHub # This is deprecated in Sphinx 1.3+, # as each page can have its own suffix if globals().get('source_suffix', False): if isinstance(source_suffix, string_types): SUFFIX = source_suffix elif isinstance(source_suffix, (list, tuple)): # Sphinx >= 1.3 supports list/tuple to define multiple suffixes SUFFIX = source_suffix[0] elif isinstance(source_suffix, dict): # Sphinx >= 1.8 supports a mapping dictionary for multiple suffixes SUFFIX = list(source_suffix.keys())[0] # make a ``list()`` for py2/py3 compatibility else: # default to .rst SUFFIX = '.rst' else: SUFFIX = '.rst' # Add RTD Static Path. Add to the end because it overwrites previous files. if not 'html_static_path' in globals(): html_static_path = [] if os.path.exists('_static'): html_static_path.append('_static') # Define this variable in case it's not defined by the user. # It defaults to `alabaster` which is the default from Sphinx. # https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_theme html_theme = globals().get('html_theme', 'alabaster') #Add project information to the template context. context = { 'html_theme': html_theme, 'current_version': "latest", 'version_slug': "latest", 'MEDIA_URL': "https://media.readthedocs.com/media/", 'STATIC_URL': "https://assets.readthedocs.com/", 'PRODUCTION_DOMAIN': "readthedocs.com", 'proxied_static_path': "/_/static/", 'versions': [ ("latest", "/en/latest/"), ], 'downloads': [ ("pdf", "//ftc-docs.firstinspires.org/_/downloads/en/latest/pdf/"), ], 'subprojects': [ ("first-tech-challenge-ftcdocs-archive", "https://ftc-docs.firstinspires.org/projects/ftcdocs-archive/en/latest/"), ], 'slug': 'first-tech-challenge-ftcdocs', 'name': u'ftcdocs', 'rtd_language': u'en', 'programming_language': u'words', 'canonical_url': '', 'analytics_code': 'G-7B5F7THY9C', 'single_version': False, 'conf_py_path': '/docs/source/', 'api_host': 'https://readthedocs.com', 'github_user': 'FIRST-Tech-Challenge', 'proxied_api_host': '/_', 'github_repo': 'ftcdocs', 'github_version': 'main', 'display_github': True, 'bitbucket_user': 'None', 'bitbucket_repo': 'None', 'bitbucket_version': 'main', 'display_bitbucket': False, 'gitlab_user': 'None', 'gitlab_repo': 'None', 'gitlab_version': 'main', 'display_gitlab': False, 'READTHEDOCS': True, 'using_theme': (html_theme == "default"), 'new_theme': (html_theme == "sphinx_rtd_theme"), 'source_suffix': SUFFIX, 'ad_free': False, 'docsearch_disabled': False, 'user_analytics_code': 'G-7B5F7THY9C', 'global_analytics_code': 'UA-17997319-2', 'commit': '60ce9bca', } # For sphinx >=1.8 we can use html_baseurl to set the canonical URL. # https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_baseurl if version_info >= (1, 8): if not globals().get('html_baseurl'): html_baseurl = context['canonical_url'] context['canonical_url'] = None if 'html_context' in globals(): for key in context: if key not in html_context: html_context[key] = context[key] else: html_context = context # Add custom RTD extension if 'extensions' in globals(): # Insert at the beginning because it can interfere # with other extensions. # See https://github.com/rtfd/readthedocs.org/pull/4054 extensions.insert(0, "readthedocs_ext.readthedocs") else: extensions = ["readthedocs_ext.readthedocs"] # Add External version warning banner to the external version documentation if 'branch' == 'external': extensions.insert(1, "readthedocs_ext.external_version_warning") readthedocs_vcs_url = 'None' readthedocs_build_url = 'https://readthedocs.com/projects/first-tech-challenge-ftcdocs/builds/2487083/' project_language = 'en' # User's Sphinx configurations language_user = globals().get('language', None) latex_engine_user = globals().get('latex_engine', None) latex_elements_user = globals().get('latex_elements', None) # Remove this once xindy gets installed in Docker image and XINDYOPS # env variable is supported # https://github.com/rtfd/readthedocs-docker-images/pull/98 latex_use_xindy = False chinese = any([ language_user in ('zh_CN', 'zh_TW'), project_language in ('zh_CN', 'zh_TW'), ]) japanese = any([ language_user == 'ja', project_language == 'ja', ]) if chinese: latex_engine = latex_engine_user or 'xelatex' latex_elements_rtd = { 'preamble': '\\usepackage[UTF8]{ctex}\n', } latex_elements = latex_elements_user or latex_elements_rtd elif japanese: latex_engine = latex_engine_user or 'platex' # Make sure our build directory is always excluded exclude_patterns = globals().get('exclude_patterns', []) exclude_patterns.extend(['_build'])