Contents¶
All contents of this documentation.
conf.py¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 | # -*- coding: utf-8 -*-
# Default settings
project = 'Test Builds'
extensions = [
'sphinx_autorun',
]
latex_engine = 'xelatex' # allow us to build Unicode chars
# Include all your settings here
html_theme = 'sphinx_rtd_theme'
###########################################################################
# 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/master/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl
#
import importlib
import sys
import os.path
from six import string_types
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 mulitple 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')
# Add RTD Theme only if they aren't overriding it already
using_rtd_theme = (
(
'html_theme' in globals() and
html_theme in ['default'] and
# Allow people to bail with a hack of having an html_style
'html_style' not in globals()
) or 'html_theme' not in globals()
)
if using_rtd_theme:
theme = importlib.import_module('sphinx_rtd_theme')
html_theme = 'sphinx_rtd_theme'
html_style = None
html_theme_options = {}
if 'html_theme_path' in globals():
html_theme_path.append(theme.get_html_theme_path())
else:
html_theme_path = [theme.get_html_theme_path()]
if globals().get('websupport2_base_url', False):
websupport2_base_url = 'https://readthedocs.org/websupport'
websupport2_static_url = 'https://assets.readthedocs.org/static/'
#Add project information to the template context.
context = {
'using_theme': using_rtd_theme,
'html_theme': html_theme,
'current_version': "file-with-apostrophe",
'version_slug': "file-with-apostrophe",
'MEDIA_URL': "https://media.readthedocs.org/",
'STATIC_URL': "https://assets.readthedocs.org/static/",
'PRODUCTION_DOMAIN': "readthedocs.org",
'versions': [
("latest", "/en/latest/"),
("yaml-v2", "/en/yaml-v2/"),
("use-requirements-from-submodule", "/en/use-requirements-from-submodule/"),
("use-py2", "/en/use-py2/"),
("use-image-5.0rc1", "/en/use-image-5.0rc1/"),
("unicode-filename", "/en/unicode-filename/"),
("d--branch", "/en/d--branch/"),
("typlog-theme", "/en/typlog-theme/"),
("timeout", "/en/timeout/"),
("tag-v2", "/en/tag-v2/"),
("tag-v1", "/en/tag-v1/"),
("submodule-https-scheme", "/en/submodule-https-scheme/"),
("submodule-git-scheme", "/en/submodule-git-scheme/"),
("sphinx2", "/en/sphinx2/"),
("sphinx-es-suggest", "/en/sphinx-es-suggest/"),
("search-with-old-sphinx-and-theme", "/en/search-with-old-sphinx-and-theme/"),
("robots-txt", "/en/robots-txt/"),
("requirements-not-found", "/en/requirements-not-found/"),
("pypy3.5", "/en/pypy3.5/"),
("pygments-custom-lexer-apex", "/en/pygments-custom-lexer-apex/"),
("py3.5", "/en/py3.5/"),
("none-formats", "/en/none-formats/"),
("nbsphinx-3d-plot", "/en/nbsphinx-3d-plot/"),
("multiple-source-suffix", "/en/multiple-source-suffix/"),
("japanese-pdf", "/en/japanese-pdf/"),
("install-pytorch", "/en/install-pytorch/"),
("huge-build-output", "/en/huge-build-output/"),
("git-lfs", "/en/git-lfs/"),
("file-with-apostrophe", "/en/file-with-apostrophe/"),
("environment-variables", "/en/environment-variables/"),
("datetime", "/en/datetime/"),
("custom-404-page", "/en/custom-404-page/"),
("conda-satisfied-skip-solve", "/en/conda-satisfied-skip-solve/"),
("conda-env-py3.7", "/en/conda-env-py3.7/"),
("conda-env", "/en/conda-env/"),
("c-dependencies", "/en/c-dependencies/"),
("build-internals", "/en/build-internals/"),
("branch-with-slashes", "/en/branch-with-slashes/"),
("auto-wipe", "/en/auto-wipe/"),
("all-formats", "/en/all-formats/"),
("alabaster-theme", "/en/alabaster-theme/"),
("activate-me", "/en/activate-me/"),
],
'downloads': [
("pdf", "//readthedocs.org/projects/test-builds/downloads/pdf/file-with-apostrophe/"),
("html", "//readthedocs.org/projects/test-builds/downloads/htmlzip/file-with-apostrophe/"),
("epub", "//readthedocs.org/projects/test-builds/downloads/epub/file-with-apostrophe/"),
],
'subprojects': [
],
'slug': 'test-builds',
'name': u'test-builds',
'rtd_language': u'en',
'programming_language': u'words',
'canonical_url': 'https://test-builds.readthedocs.io/en/latest/',
'analytics_code': 'None',
'single_version': False,
'conf_py_path': '/docs/',
'api_host': 'https://readthedocs.org',
'github_user': 'rtfd',
'github_repo': 'test-builds',
'github_version': 'file-with-apostrophe',
'display_github': True,
'bitbucket_user': 'None',
'bitbucket_repo': 'None',
'bitbucket_version': 'file-with-apostrophe',
'display_bitbucket': False,
'gitlab_user': 'None',
'gitlab_repo': 'None',
'gitlab_version': 'file-with-apostrophe',
'display_gitlab': False,
'READTHEDOCS': True,
'using_theme': (html_theme == "default"),
'new_theme': (html_theme == "sphinx_rtd_theme"),
'source_suffix': SUFFIX,
'ad_free': False,
'user_analytics_code': '',
'global_analytics_code': 'UA-17997319-1',
'commit': 'a3253fd9',
}
if 'html_context' in globals():
html_context.update(context)
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"]
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'
|
File with apostrophe¶
The generated js should be correct for this page.
Test Builds¶
This repository is used internally to create different scenarios on build configs and trigger many builds on Read the Docs productions.
Each branch should explain on it’s docs/index.rst
what’s about and how the
QA process can be considered a success or a failure.
If we need to test a very specific use case, we create a new branch with
the issue number and the repository, like: issue-1234-org
, issue-4321-ext
or similar.
Scenarios¶
Each of these scenarios is a branch that can be built independenly from the others.
- alabaster-theme: use
alabaster
as theme - auto-wipe: used for auto wipe the environment when a config is changed
- branch/with/slashes: used to check that git clones without problem
- conda-env: use a simple conda environment to build the docs
- conda-env-py3.7: use a simple conda environment to build the docs with Python 3.7
- datetime: shows different times (system time, build time, etc)
- environment-variables: shows all the environment variables used to build the docs
- huge-build-output: generate megabytes of output data for commands
- none-formats: use
formats: []
so only HTML is built - requirements-not-found: use
requirements_file: .notfound.txt
- robots-txt: use a custom
robots.txt
for this project - search-with-old-sphinx-and-theme: search box on old Sphinx and RTD theme version
- timeout: generate a timeout by sleeping 1000 seconds
- typlog-theme: use
typlog
as theme - ŭñíč°də-branch: the name of the branch is unicode
- unicode-filename: has a page (rst) that its filename is unicode
- use-py2: use
python: version: 2
- yaml-v2: use a simple YAML for the V2 configuration
Note
There could be more scenarios probably, but this list is not always up to date. Please, check all the branches to be sure.
Tags¶
We also have some tags to have some tests around this.
- tag-v1: points to an specific commit
- tag-v2: points to the same commit than
tag-v1
(Delete tags with same commit)
Addind a new scenario to the repository¶
- Create a new branch from
master
using an appropiate name - Explain what’s the use case in its
docs/index.rst
file- How to check if the QA can be considered success or failure
- Add links to the issue tracker where there are more information
- Add or modify the necessary files
- Make sure that these files contains the minimum configuration needed:
- remove auto generated comments
- configs not used
- Make sure that these files contains the minimum configuration needed:
- Push your changes
- Modify the
README.rst
file frommaster
to add this new branch in the list
The generated js should be correct for this page.
Sphinx configuration file to build this docs (see full file),
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # -*- coding: utf-8 -*-
# Default settings
project = 'Test Builds'
extensions = [
'sphinx_autorun',
]
latex_engine = 'xelatex' # allow us to build Unicode chars
# Include all your settings here
html_theme = 'sphinx_rtd_theme'
|
('>>>', '# Build at')
('>>>', 'import datetime')
('>>>', 'datetime.datetime.utcnow() # UTC')
datetime.datetime(2019, 6, 11, 23, 13, 44, 755302)