mirror of
https://github.com/readthedocs/sphinx_rtd_theme.git
synced 2026-10-15 10:52:01 -05:00
Compare commits
32
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1ac35ac38 | ||
|
|
e508293fdd | ||
|
|
9e40b6a7e8 | ||
|
|
3db4e2fbfe | ||
|
|
2f12da38c6 | ||
|
|
9df65f15c5 | ||
|
|
ca2719b32f | ||
|
|
aa28eecc3a | ||
|
|
c984d08dae | ||
|
|
7417ff92bd | ||
|
|
3693d4c325 | ||
|
|
6f684828ed | ||
|
|
114fb85b44 | ||
|
|
68d4b8aac7 | ||
|
|
f8e71bf312 | ||
|
|
85f23c9edc | ||
|
|
b33d06444e | ||
|
|
ba1cbb1c07 | ||
|
|
b35637651b | ||
|
|
de76c03824 | ||
|
|
894aef556e | ||
|
|
4ad33d0197 | ||
|
|
e001cca56f | ||
|
|
8ba9c8ac0b | ||
|
|
331ba4e93c | ||
|
|
d91d7e13b3 | ||
|
|
c8ef0fc94f | ||
|
|
3ed52c4df5 | ||
|
|
6d89d9dbdf | ||
|
|
835b20c926 | ||
|
|
60e1c21211 | ||
|
|
5d0a396bf9 |
No files matched your search
@@ -6,10 +6,13 @@ commands:
|
||||
parameters:
|
||||
version:
|
||||
type: string
|
||||
sphinx-version:
|
||||
type: string
|
||||
default: "16,17,18,20,21,22,23,24,30,31,32,33,34,latest"
|
||||
steps:
|
||||
- checkout
|
||||
- run: pip install --user tox
|
||||
- run: tox -e "<<parameters.version>>-sphinx{16,17,18,20,21,22,23,24,30,31,32}"
|
||||
- run: tox -e "<<parameters.version>>-sphinx{<<parameters.sphinx-version>>}"
|
||||
|
||||
jobs:
|
||||
py27:
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: 'Bug, Needed: replication'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
### Problem
|
||||
|
||||
+4
-1
@@ -1,9 +1,12 @@
|
||||
version: 2
|
||||
|
||||
python:
|
||||
version: 3
|
||||
version: 3.8
|
||||
install:
|
||||
- requirements: docs/requirements.txt
|
||||
- method: pip
|
||||
path: .
|
||||
- requirements: docs/docutils-test.txt
|
||||
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
||||
Vendored
+12
-12
@@ -1,6 +1,6 @@
|
||||
{%- extends "!layout.html" %}
|
||||
|
||||
{#
|
||||
{#-
|
||||
|
||||
This template exists as a way to implement a version menu without changing what
|
||||
the theme normally renders the menu on local builds and on builds on Read the
|
||||
@@ -8,9 +8,9 @@ Docs. This is for local testing purposes only.
|
||||
|
||||
#}
|
||||
|
||||
{% block footer %}
|
||||
{% if not READTHEDOCS %}
|
||||
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
|
||||
{%- block footer %}
|
||||
{%- if not READTHEDOCS %}
|
||||
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="{{ _('Versions') }}">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
<span class="fa fa-book"> Read the Docs</span>
|
||||
v: latest
|
||||
@@ -19,15 +19,15 @@ Docs. This is for local testing purposes only.
|
||||
<div class="rst-other-versions">
|
||||
<dl>
|
||||
<dt>{{ _('Versions') }}</dt>
|
||||
{% if test_versions %}
|
||||
{% for version in test_versions %}
|
||||
{%- if test_versions %}
|
||||
{%- for version in test_versions %}
|
||||
<dd><a href="#">{{ version }}</a></dd>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{%- endfor %}
|
||||
{%- else %}
|
||||
<dd><a href="#">latest</a></dd>
|
||||
<dd><a href="#">1.0</a></dd>
|
||||
<dd><a href="#">1.1</a></dd>
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>{{ _('Downloads') }}</dt>
|
||||
@@ -36,7 +36,7 @@ Docs. This is for local testing purposes only.
|
||||
<dd><a href="#">HTML</a></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
{# Translators: The phrase "Read the Docs" is not translated #}
|
||||
{#- Translators: The phrase "Read the Docs" is not translated #}
|
||||
<dt>{{ _('On Read the Docs') }}</dt>
|
||||
<dd>
|
||||
<a href="#">{{ _('Project Home') }}</a>
|
||||
@@ -51,5 +51,5 @@ Docs. This is for local testing purposes only.
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{%- endif %}
|
||||
{%- endblock %}
|
||||
@@ -5,6 +5,40 @@ Changelog
|
||||
master
|
||||
======
|
||||
|
||||
v1.0.0
|
||||
======
|
||||
|
||||
Incompatible Changes
|
||||
--------------------
|
||||
|
||||
* The minimum supported python version is now 2.7 or 3.4 and greater (#1093)
|
||||
* The minimum supported Sphinx version is now 1.6 (#1091)
|
||||
|
||||
Deprecated
|
||||
----------
|
||||
|
||||
* Support for sphinx's html4 writer is deprecated and will be removed in version 2.0 (#1091)
|
||||
|
||||
Other Changes
|
||||
-------------
|
||||
|
||||
* Update npm development dependencies (#1096)
|
||||
* Don't require npm to build from source (#1039)
|
||||
* Use regular toctree instead of toc for singlehtml builder (#507)
|
||||
* Templates: Cleanup Whitespace (#1060)
|
||||
|
||||
Fixes
|
||||
-----
|
||||
|
||||
* Javascript: Add support for deep toc levels (#1089)
|
||||
* Use Proper Sass Syntax (#1069)
|
||||
* Nav: Fix right padding on level2+ (#1068)
|
||||
* Fix Nav Buttons Size (#1067)
|
||||
* Fix: wrap inline literals (#1050)
|
||||
* Fix aria label (#1056)
|
||||
* Respect tab order for prev/next buttons (#1051)
|
||||
* Nav: Don't toggle terminal nodes (#1049)
|
||||
|
||||
v0.5.2
|
||||
======
|
||||
|
||||
|
||||
+9
-19
@@ -4,30 +4,20 @@ import sys
|
||||
import os
|
||||
import re
|
||||
|
||||
# If we are building locally, or the build on Read the Docs looks like a PR
|
||||
# build, prefer to use the version of the theme in this repo, not the installed
|
||||
# version of the theme.
|
||||
def is_development_build():
|
||||
# PR builds have an interger version
|
||||
re_version = re.compile(r'^[\d]+$')
|
||||
if 'READTHEDOCS' in os.environ:
|
||||
version = os.environ.get('READTHEDOCS_VERSION', '')
|
||||
if re_version.match(version):
|
||||
return True
|
||||
return False
|
||||
return True
|
||||
|
||||
if is_development_build():
|
||||
sys.path.insert(0, os.path.abspath('..'))
|
||||
# Prefer to use the version of the theme in this repo
|
||||
# and not the installed version of the theme.
|
||||
sys.path.insert(0, os.path.abspath('..'))
|
||||
sys.path.append(os.path.abspath('./demo/'))
|
||||
|
||||
import sphinx_rtd_theme
|
||||
from sphinx_rtd_theme import __version__ as theme_version
|
||||
from sphinx_rtd_theme import __version_full__ as theme_version_full
|
||||
from sphinx.locale import _
|
||||
|
||||
project = u'Read the Docs Sphinx Theme'
|
||||
slug = re.sub(r'\W+', '-', project.lower())
|
||||
version = '0.5.1'
|
||||
release = '0.5.1'
|
||||
version = theme_version
|
||||
release = theme_version_full
|
||||
author = u'Dave Snider, Read the Docs, Inc. & contributors'
|
||||
copyright = author
|
||||
language = 'en'
|
||||
@@ -52,8 +42,8 @@ suppress_warnings = ['image.nonlocal_uri']
|
||||
pygments_style = 'default'
|
||||
|
||||
intersphinx_mapping = {
|
||||
'rtd': ('https://docs.readthedocs.io/en/latest/', None),
|
||||
'sphinx': ('http://www.sphinx-doc.org/en/stable/', None),
|
||||
'rtd': ('https://docs.readthedocs.io/en/stable/', None),
|
||||
'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
|
||||
}
|
||||
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
|
||||
+41
-41
@@ -37,49 +37,49 @@ documentation navigation.
|
||||
|
||||
.. confval:: collapse_navigation
|
||||
|
||||
:type: boolean
|
||||
:default: ``True``
|
||||
|
||||
With this enabled, navigation entries are not expandable -- the ``[+]``
|
||||
icons next to each entry are removed.
|
||||
|
||||
:type: boolean
|
||||
:default: ``True``
|
||||
|
||||
.. note::
|
||||
Setting :confval:`collapse_navigation` to ``False`` and using a high value
|
||||
for :confval:`navigation_depth` on projects with many files and a deep file
|
||||
structure can cause long compilation times and can result in HTML files that
|
||||
are significantly larger in file size.
|
||||
|
||||
.. confval:: sticky_navigation
|
||||
|
||||
Scroll the navigation with the main page content as you scroll the page.
|
||||
|
||||
:type: boolean
|
||||
:default: ``True``
|
||||
|
||||
Scroll the navigation with the main page content as you scroll the page.
|
||||
|
||||
.. confval:: navigation_depth
|
||||
|
||||
:type: integer
|
||||
:default: ``4``
|
||||
|
||||
The maximum depth of the table of contents tree. Set
|
||||
this to ``-1`` to allow unlimited depth.
|
||||
|
||||
.. confval:: includehidden
|
||||
:type: integer
|
||||
:default: ``4``
|
||||
|
||||
:type: boolean
|
||||
:default: ``True``
|
||||
.. confval:: includehidden
|
||||
|
||||
Specifies if the navigation includes hidden table(s) of contents -- that is,
|
||||
any :rst:dir:`sphinx:toctree` directive that is marked with the ``:hidden:``
|
||||
option.
|
||||
|
||||
.. confval:: titles_only
|
||||
|
||||
:type: boolean
|
||||
:default: False
|
||||
:default: ``True``
|
||||
|
||||
.. confval:: titles_only
|
||||
|
||||
When enabled, page subheadings are not included in the
|
||||
navigation.
|
||||
|
||||
.. note::
|
||||
Setting :confval:`collapse_navigation` to ``False`` and using a high value
|
||||
for :confval:`navigation_depth` on projects with many files and a deep file
|
||||
structure can cause long compilation times and can result in HTML files that
|
||||
are significantly larger in file size.
|
||||
:type: boolean
|
||||
:default: False
|
||||
|
||||
.. _table of contents configuration options: http://www.sphinx-doc.org/en/stable/templating.html#toctree
|
||||
|
||||
@@ -96,28 +96,28 @@ Miscellaneous options
|
||||
|
||||
.. confval:: analytics_id
|
||||
|
||||
:type: string
|
||||
|
||||
If specified, Google Analytics' javascript is included in your pages.
|
||||
Set the value to the ID provided to you by google (like ``UA-XXXXXXX``).
|
||||
|
||||
:type: string
|
||||
|
||||
.. confval:: analytics_anonymize_ip
|
||||
|
||||
Anonymize visitor IP addresses in Google Analytics.
|
||||
|
||||
:type: boolean
|
||||
:default: ``False``
|
||||
|
||||
Anonymize visitor IP addresses in Google Analytics.
|
||||
|
||||
.. confval:: canonical_url
|
||||
|
||||
:type: URL
|
||||
|
||||
This will specify a `canonical URL`_ meta link element to tell search
|
||||
engines which URL should be ranked as the primary URL for your
|
||||
documentation. This is important if you have multiple URLs that your
|
||||
documentation is available through. The URL points to the root path of the
|
||||
documentation and requires a trailing slash.
|
||||
|
||||
:type: URL
|
||||
|
||||
.. deprecated:: 0.6.0
|
||||
|
||||
Use :confval:`sphinx:html_baseurl` instead.
|
||||
@@ -126,51 +126,52 @@ Miscellaneous options
|
||||
|
||||
.. confval:: display_version
|
||||
|
||||
If ``True``, the version number is shown at the top of the sidebar.
|
||||
|
||||
:type: boolean
|
||||
:default: ``True``
|
||||
|
||||
If ``True``, the version number is shown at the top of the sidebar.
|
||||
|
||||
.. confval:: logo_only
|
||||
|
||||
:type: boolean
|
||||
:default: ``False``
|
||||
|
||||
Only display the logo image, do not display the project name at the top of
|
||||
the sidebar
|
||||
|
||||
.. confval:: prev_next_buttons_location
|
||||
:type: boolean
|
||||
:default: ``False``
|
||||
|
||||
:type: string
|
||||
:default: ``bottom``
|
||||
.. confval:: prev_next_buttons_location
|
||||
|
||||
Location to display :guilabel:`Next` and :guilabel:`Previous` buttons. This
|
||||
can be either ``bottom``, ``top``, ``both`` , or ``None``.
|
||||
|
||||
:type: string
|
||||
:default: ``bottom``
|
||||
|
||||
.. confval:: style_external_links
|
||||
|
||||
Add an icon next to external links.
|
||||
|
||||
:type: boolean
|
||||
:default: ``False``
|
||||
|
||||
Add an icon next to external links.
|
||||
|
||||
.. confval:: vcs_pageview_mode
|
||||
|
||||
:type: string
|
||||
:default: ``blob`` or ``view``
|
||||
|
||||
Changes how to view files when using ``display_github``, ``display_gitlab``,
|
||||
etc. When using GitHub or GitLab this can be: ``blob`` (default), ``edit``,
|
||||
or ``raw``. On Bitbucket, this can be either: ``view`` (default) or
|
||||
``edit``.
|
||||
|
||||
:type: string
|
||||
:default: ``blob`` or ``view``
|
||||
|
||||
.. confval:: style_nav_header_background
|
||||
|
||||
Changes the background of the search area in the navigation bar. The value
|
||||
can be anything valid in a CSS `background` property.
|
||||
|
||||
:type: string
|
||||
:default: ``#2980B9``
|
||||
|
||||
Changes the background of the search area in the navigation bar. The value
|
||||
can be anything valid in a CSS `background` property.
|
||||
|
||||
File-wide metadata
|
||||
==================
|
||||
@@ -190,7 +191,6 @@ The following options can be used as :ref:`file-wide metadata
|
||||
|
||||
Force the :guilabel:`Edit on GitLab` button to use the configured URL.
|
||||
|
||||
|
||||
Other configuration
|
||||
===================
|
||||
|
||||
|
||||
@@ -96,22 +96,22 @@ To release a new version of the theme, core team will take the following steps:
|
||||
(with regards to alpha release and development versions). The version
|
||||
increment should reflect these releases and any potentially breaking changes.
|
||||
#. New versions are by default ``alpha`` releases. If this is a release candidate,
|
||||
run ``bump2version --allow-dirty releast`` to update the release to an ``rc``
|
||||
run ``bump2version --allow-dirty release`` to update the release to an ``rc``
|
||||
release. If this is a final release, run the command again.
|
||||
#. Update the changelog (``docs/changelog.rst``) with the version information.
|
||||
#. Run ``python setup.py update_translations`` to compile new translation files
|
||||
and update Transifex.
|
||||
#. Run ``python setup.py build`` to rebuild all the theme assets and the Python
|
||||
#. Run ``python setup.py build_assets`` to rebuild all the theme assets and the Python
|
||||
package.
|
||||
#. Commit these changes.
|
||||
#. Tag the release in git: ``git tag $NEW_VERSION``.
|
||||
#. Push the tag to GitHub: ``git push --tags origin``.
|
||||
#. Upload the package to PyPI:
|
||||
|
||||
.. code:: console
|
||||
.. code:: console
|
||||
|
||||
$ rm -rf dist/
|
||||
$ python setup.py sdist bdist_wheel
|
||||
$ twine upload --sign --identity security@readthedocs.org dist/*
|
||||
$ rm -rf dist/
|
||||
$ python setup.py sdist bdist_wheel
|
||||
$ twine upload --sign --identity security@readthedocs.org dist/*
|
||||
|
||||
.. _PEP440: https://www.python.org/dev/peps/pep-0440/
|
||||
@@ -0,0 +1 @@
|
||||
docutils==0.17
|
||||
+18
-4
@@ -23,14 +23,20 @@ In your ``conf.py`` file:
|
||||
|
||||
|
||||
.. note::
|
||||
Adding this theme as an extension is what enables localization of theme
|
||||
strings in your translated output. If these strings are not translated in
|
||||
your output, either we lack the localized strings for your locale, or you
|
||||
are using an old version of the theme.
|
||||
|
||||
Adding this theme as an extension is what enables localization of theme
|
||||
strings in your translated output. If these strings are not translated in
|
||||
your output, either we lack the localized strings for your locale, or you
|
||||
are using an old version of the theme.
|
||||
|
||||
Via Git or Download
|
||||
===================
|
||||
|
||||
.. warning::
|
||||
|
||||
Installing directly from the repo is deprecated.
|
||||
Static assets won't be included in the repo in a future release.
|
||||
|
||||
Symlink or subtree the ``sphinx_rtd_theme/sphinx_rtd_theme`` repository into your documentation at
|
||||
``docs/_themes/sphinx_rtd_theme`` then add the following two settings to your Sphinx
|
||||
``conf.py`` file:
|
||||
@@ -39,3 +45,11 @@ Symlink or subtree the ``sphinx_rtd_theme/sphinx_rtd_theme`` repository into you
|
||||
|
||||
html_theme = "sphinx_rtd_theme"
|
||||
html_theme_path = ["_themes", ]
|
||||
|
||||
Compatibility
|
||||
=============
|
||||
|
||||
``sphinx_rtd_theme`` depends on at least Sphinx 1.6 although,
|
||||
we recommend at least Sphinx 2 to take advantage of the html5 writer.
|
||||
The html4 writer is still supported however,
|
||||
it is deprecated and support will be removed in the near future.
|
||||
@@ -1,2 +1,2 @@
|
||||
sphinx>=3.0
|
||||
sphinx>=4.0.dev0
|
||||
sphinxcontrib-httpdomain
|
||||
Generated
+1137
-1587
File diff suppressed because it is too large.
Load diff
+18
-8
@@ -7,30 +7,40 @@
|
||||
"build": "webpack --config webpack.prod.js",
|
||||
"preinstall": "bin/preinstall.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/readthedocs/sphinx_rtd_theme.git"
|
||||
},
|
||||
"author": "Read the Docs",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/readthedocs/sphinx_rtd_theme/issues"
|
||||
},
|
||||
"homepage": "https://github.com/readthedocs/sphinx_rtd_theme",
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"bourbon": "~4.3",
|
||||
"bourbon-neat": "~1.9",
|
||||
"copy-webpack-plugin": "^5.1.1",
|
||||
"css-loader": "^3.1.0",
|
||||
"copy-webpack-plugin": "^5.1.2",
|
||||
"css-loader": "^3.6.0",
|
||||
"file-loader": "^3.0.1",
|
||||
"font-awesome": "^4.7.0",
|
||||
"html5shiv": "^3.7.3",
|
||||
"imports-loader": "^0.8.0",
|
||||
"jquery": "^3.4.1",
|
||||
"jquery": "^3.6.0",
|
||||
"lato-font": "^3.0.0",
|
||||
"mini-css-extract-plugin": "^0.6.0",
|
||||
"node-sass": "^4.13.1",
|
||||
"optimize-css-assets-webpack-plugin": "^5.0.3",
|
||||
"optimize-css-assets-webpack-plugin": "^5.0.4",
|
||||
"roboto-fontface": "^0.10.0",
|
||||
"sass-loader": "^7.3.0",
|
||||
"style-loader": "^0.23.1",
|
||||
"webpack": "^4.30.0",
|
||||
"webpack-cli": "^3.3.1",
|
||||
"webpack-dev-server": "^3.3.1",
|
||||
"webpack": "^4.46.0",
|
||||
"webpack-cli": "^3.3.12",
|
||||
"webpack-dev-server": "^3.11.2",
|
||||
"webpack-merge": "^4.2.1",
|
||||
"webpack-shell-plugin": "^0.5.0",
|
||||
"webpack-watch-files-plugin": "^1.0.3",
|
||||
"webpack-watch-files-plugin": "^1.1.0",
|
||||
"wyrm": "^1.0.9"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
[bumpversion]
|
||||
current_version = 0.5.1
|
||||
current_version = 0.5.2
|
||||
commit = false
|
||||
tag = false
|
||||
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)((?P<release>[a-z]+)(?P<dev>\d+))?
|
||||
|
||||
@@ -1,27 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""`sphinx_rtd_theme` lives on `Github`_.
|
||||
|
||||
.. _github: https://github.com/readthedocs/sphinx_rtd_theme
|
||||
|
||||
"""
|
||||
|
||||
import distutils.cmd
|
||||
import os
|
||||
import subprocess
|
||||
import distutils.cmd
|
||||
import setuptools.command.build_py
|
||||
from io import open
|
||||
|
||||
from setuptools import setup
|
||||
|
||||
|
||||
class WebpackBuildCommand(setuptools.command.build_py.build_py):
|
||||
class WebpackBuildCommand(distutils.cmd.Command):
|
||||
|
||||
"""Prefix Python build with Webpack asset build"""
|
||||
description = "Generate static assets"
|
||||
|
||||
user_options = []
|
||||
|
||||
def initialize_options(self):
|
||||
pass
|
||||
|
||||
def finalize_options(self):
|
||||
pass
|
||||
|
||||
def run(self):
|
||||
if not 'CI' in os.environ and not 'TOX_ENV_NAME' in os.environ:
|
||||
subprocess.run(['npm', 'install'], check=True)
|
||||
subprocess.run(['node_modules/.bin/webpack', '--config', 'webpack.prod.js'], check=True)
|
||||
setuptools.command.build_py.build_py.run(self)
|
||||
|
||||
|
||||
class WebpackDevelopCommand(distutils.cmd.Command):
|
||||
@@ -95,7 +97,7 @@ setup(
|
||||
cmdclass={
|
||||
'update_translations': UpdateTranslationsCommand,
|
||||
'transifex': TransifexCommand,
|
||||
'build_py': WebpackBuildCommand,
|
||||
'build_assets': WebpackBuildCommand,
|
||||
'watch': WebpackDevelopCommand,
|
||||
},
|
||||
zip_safe=False,
|
||||
@@ -115,7 +117,7 @@ setup(
|
||||
]
|
||||
},
|
||||
install_requires=[
|
||||
'sphinx',
|
||||
'sphinx>=1.6',
|
||||
'docutils<0.17', # https://github.com/sphinx-doc/sphinx/issues/9001
|
||||
],
|
||||
tests_require=[
|
||||
@@ -138,12 +140,17 @@ setup(
|
||||
'Intended Audience :: Developers',
|
||||
'Programming Language :: Python :: 2.7',
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3.3',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'Programming Language :: Python :: 3.7',
|
||||
'Programming Language :: Python :: 3.8',
|
||||
'Programming Language :: Python :: 3.9',
|
||||
'Operating System :: OS Independent',
|
||||
'Topic :: Documentation',
|
||||
'Topic :: Software Development :: Documentation',
|
||||
],
|
||||
project_urls={
|
||||
'Homepage': 'https://sphinx-rtd-theme.readthedocs.io/',
|
||||
'Source Code': 'https://github.com/readthedocs/sphinx_rtd_theme',
|
||||
'Issue Tracker': 'https://github.com/readthedocs/sphinx_rtd_theme/issues',
|
||||
},
|
||||
)
|
||||
@@ -5,18 +5,14 @@ From https://github.com/ryan-roemer/sphinx-bootstrap-theme.
|
||||
"""
|
||||
|
||||
from os import path
|
||||
from sys import version_info as python_version
|
||||
|
||||
from sphinx import version_info
|
||||
from sphinx import version_info as sphinx_version
|
||||
from sphinx.locale import _
|
||||
|
||||
try:
|
||||
# Avaliable from Sphinx 1.6
|
||||
from sphinx.util.logging import getLogger
|
||||
except ImportError:
|
||||
from logging import getLogger
|
||||
from sphinx.util.logging import getLogger
|
||||
|
||||
|
||||
__version__ = '0.5.1'
|
||||
__version__ = '0.5.2'
|
||||
__version_full__ = __version__
|
||||
|
||||
logger = getLogger(__name__)
|
||||
@@ -38,11 +34,21 @@ def config_initiated(app, config):
|
||||
|
||||
# See http://www.sphinx-doc.org/en/stable/theming.html#distribute-your-theme-as-a-python-package
|
||||
def setup(app):
|
||||
if version_info >= (1, 6, 0):
|
||||
# Register the theme that can be referenced without adding a theme path
|
||||
app.add_html_theme('sphinx_rtd_theme', path.abspath(path.dirname(__file__)))
|
||||
if python_version[0] < 3:
|
||||
logger.warning("Python 2 is deprecated with sphinx_rtd_theme, update to Python 3")
|
||||
app.require_sphinx('1.6')
|
||||
if sphinx_version <= (2, 0, 0):
|
||||
logger.warning("Sphinx 1.x is deprecated with sphinx_rtd_theme, update to Sphinx 2.x or greater")
|
||||
if not app.config.html_experimental_html5_writer:
|
||||
logger.warning("'html4_writer' is deprecated with sphinx_rtd_theme")
|
||||
else:
|
||||
if app.config.html4_writer:
|
||||
logger.warning("'html4_writer' is deprecated with sphinx_rtd_theme")
|
||||
|
||||
if version_info >= (1, 8, 0):
|
||||
# Register the theme that can be referenced without adding a theme path
|
||||
app.add_html_theme('sphinx_rtd_theme', path.abspath(path.dirname(__file__)))
|
||||
|
||||
if sphinx_version >= (1, 8, 0):
|
||||
# Add Sphinx message catalog for newer versions of Sphinx
|
||||
# See http://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_message_catalog
|
||||
rtd_locale_path = path.join(path.abspath(path.dirname(__file__)), 'locale')
|
||||
|
||||
@@ -1,84 +1,75 @@
|
||||
{# Support for Sphinx 1.3+ page_source_suffix, but don't break old builds. #}
|
||||
{%- if meta is defined and meta is not none %}
|
||||
{%- set check_meta = True %}
|
||||
{%- else %}
|
||||
{%- set check_meta = False %}
|
||||
{%- endif %}
|
||||
|
||||
{% if page_source_suffix %}
|
||||
{% set suffix = page_source_suffix %}
|
||||
{% else %}
|
||||
{% set suffix = source_suffix %}
|
||||
{% endif %}
|
||||
{%- if check_meta and 'github_url' in meta %}
|
||||
{%- set display_github = True %}
|
||||
{%- endif %}
|
||||
|
||||
{% if meta is defined and meta is not none %}
|
||||
{% set check_meta = True %}
|
||||
{% else %}
|
||||
{% set check_meta = False %}
|
||||
{% endif %}
|
||||
{%- if check_meta and 'bitbucket_url' in meta %}
|
||||
{%- set display_bitbucket = True %}
|
||||
{%- endif %}
|
||||
|
||||
{% if check_meta and 'github_url' in meta %}
|
||||
{% set display_github = True %}
|
||||
{% endif %}
|
||||
{%- if check_meta and 'gitlab_url' in meta %}
|
||||
{%- set display_gitlab = True %}
|
||||
{%- endif %}
|
||||
|
||||
{% if check_meta and 'bitbucket_url' in meta %}
|
||||
{% set display_bitbucket = True %}
|
||||
{% endif %}
|
||||
|
||||
{% if check_meta and 'gitlab_url' in meta %}
|
||||
{% set display_gitlab = True %}
|
||||
{% endif %}
|
||||
|
||||
{% set display_vcs_links = display_vcs_links if display_vcs_links is defined else True %}
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
{%- set display_vcs_links = display_vcs_links if display_vcs_links is defined else True %}
|
||||
|
||||
<div role="navigation" aria-label="{{ _('Breadcrumbs') }}">
|
||||
<ul class="wy-breadcrumbs">
|
||||
{% block breadcrumbs %}
|
||||
{%- block breadcrumbs %}
|
||||
<li><a href="{{ pathto(master_doc) }}" class="icon icon-home"></a> »</li>
|
||||
{% for doc in parents %}
|
||||
{%- for doc in parents %}
|
||||
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> »</li>
|
||||
{% endfor %}
|
||||
{%- endfor %}
|
||||
<li>{{ title }}</li>
|
||||
{% endblock %}
|
||||
{% block breadcrumbs_aside %}
|
||||
{%- endblock %}
|
||||
{%- block breadcrumbs_aside %}
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
{% if hasdoc(pagename) and display_vcs_links %}
|
||||
{% if display_github %}
|
||||
{% if check_meta and 'github_url' in meta %}
|
||||
{%- if hasdoc(pagename) and display_vcs_links %}
|
||||
{%- if display_github %}
|
||||
{%- if check_meta and 'github_url' in meta %}
|
||||
<!-- User defined GitHub URL -->
|
||||
<a href="{{ meta['github_url'] }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
|
||||
{% else %}
|
||||
<a href="https://{{ github_host|default("github.com") }}/{{ github_user }}/{{ github_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ github_version }}{{ conf_py_path }}{{ pagename }}{{ suffix }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
|
||||
{% endif %}
|
||||
{% elif display_bitbucket %}
|
||||
{% if check_meta and 'bitbucket_url' in meta %}
|
||||
{%- else %}
|
||||
<a href="https://{{ github_host|default("github.com") }}/{{ github_user }}/{{ github_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ github_version }}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
|
||||
{%- endif %}
|
||||
{%- elif display_bitbucket %}
|
||||
{%- if check_meta and 'bitbucket_url' in meta %}
|
||||
<!-- User defined Bitbucket URL -->
|
||||
<a href="{{ meta['bitbucket_url'] }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
|
||||
{% else %}
|
||||
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}{{ suffix }}?mode={{ theme_vcs_pageview_mode or "view" }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
|
||||
{% endif %}
|
||||
{% elif display_gitlab %}
|
||||
{% if check_meta and 'gitlab_url' in meta %}
|
||||
{%- else %}
|
||||
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}?mode={{ theme_vcs_pageview_mode or "view" }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
|
||||
{%- endif %}
|
||||
{%- elif display_gitlab %}
|
||||
{%- if check_meta and 'gitlab_url' in meta %}
|
||||
<!-- User defined GitLab URL -->
|
||||
<a href="{{ meta['gitlab_url'] }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
|
||||
{% else %}
|
||||
<a href="https://{{ gitlab_host|default("gitlab.com") }}/{{ gitlab_user }}/{{ gitlab_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ gitlab_version }}{{ conf_py_path }}{{ pagename }}{{ suffix }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
|
||||
{% endif %}
|
||||
{% elif show_source and source_url_prefix %}
|
||||
<a href="{{ source_url_prefix }}{{ pagename }}{{ suffix }}">{{ _('View page source') }}</a>
|
||||
{% elif show_source and has_source and sourcename %}
|
||||
{%- else %}
|
||||
<a href="https://{{ gitlab_host|default("gitlab.com") }}/{{ gitlab_user }}/{{ gitlab_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ gitlab_version }}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
|
||||
{%- endif %}
|
||||
{%- elif show_source and source_url_prefix %}
|
||||
<a href="{{ source_url_prefix }}{{ pagename }}{{ page_source_suffix }}">{{ _('View page source') }}</a>
|
||||
{%- elif show_source and has_source and sourcename %}
|
||||
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow"> {{ _('View page source') }}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
</li>
|
||||
{% endblock %}
|
||||
{%- endblock %}
|
||||
</ul>
|
||||
|
||||
{% if (theme_prev_next_buttons_location == 'top' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
|
||||
<div class="rst-breadcrumbs-buttons" role="navigation" aria-label="breadcrumb navigation">
|
||||
{% if next %}
|
||||
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
{% endif %}
|
||||
{% if prev %}
|
||||
{%- if (theme_prev_next_buttons_location == 'top' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
|
||||
<div class="rst-breadcrumbs-buttons" role="navigation" aria-label="{{ _('Breadcrumbs') }}">
|
||||
{%- if prev %}
|
||||
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- if next %}
|
||||
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
{%- endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
<hr/>
|
||||
</div>
|
||||
@@ -1,12 +1,12 @@
|
||||
<footer>
|
||||
{%- if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
{%- if next %}
|
||||
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n" rel="next">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
{%- endif %}
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="{{ _('Footer') }}">
|
||||
{%- if prev %}
|
||||
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
|
||||
{%- endif %}
|
||||
{%- if next %}
|
||||
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n" rel="next">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endif %}
|
||||
|
||||
@@ -17,44 +17,44 @@
|
||||
<p>
|
||||
{%- if show_copyright %}
|
||||
{%- if hasdoc('copyright') %}
|
||||
{% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
|
||||
{%- trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
|
||||
{%- else %}
|
||||
{% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %}
|
||||
{%- trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
{%- if build_id and build_url %}
|
||||
<span class="build">
|
||||
{# Translators: Build is a noun, not a verb #}
|
||||
{% trans %}Build{% endtrans %}
|
||||
{#- Translators: Build is a noun, not a verb -#}
|
||||
{%- trans %}Build{% endtrans -%}
|
||||
<a href="{{ build_url }}">{{ build_id }}</a>.
|
||||
</span>
|
||||
{%- elif commit %}
|
||||
<span class="commit">
|
||||
{# Translators: the phrase "revision" comes from Git, referring to a commit #}
|
||||
{% trans %}Revision{% endtrans %} <code>{{ commit }}</code>.
|
||||
{#- Translators: the phrase "revision" comes from Git, referring to a commit #}
|
||||
{%- trans %}Revision{% endtrans %} <code>{{ commit }}</code>.
|
||||
</span>
|
||||
{%- endif %}
|
||||
{%- if last_updated %}
|
||||
<span class="lastupdated">
|
||||
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
|
||||
{%- trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
|
||||
</span>
|
||||
{%- endif %}
|
||||
{%- endif -%}
|
||||
|
||||
</p>
|
||||
{%- endblock %}
|
||||
</div>
|
||||
|
||||
{%- if show_sphinx %}
|
||||
{% set sphinx_web = '<a href="https://www.sphinx-doc.org/">Sphinx</a>' %}
|
||||
{% set readthedocs_web = '<a href="https://readthedocs.org">Read the Docs</a>' %}
|
||||
{# Translators: the variable "sphinx_web" is a link to the Sphinx project documentation with the text "Sphinx" #}
|
||||
{% trans sphinx_web=sphinx_web, readthedocs_web=readthedocs_web %}Built with {{ sphinx_web }} using a{% endtrans %}
|
||||
{# Translators: "theme" refers to a theme for Sphinx, which alters the appearance of the generated documenation #}
|
||||
{% if show_sphinx %}
|
||||
{%- set sphinx_web = '<a href="https://www.sphinx-doc.org/">Sphinx</a>' %}
|
||||
{%- set readthedocs_web = '<a href="https://readthedocs.org">Read the Docs</a>' %}
|
||||
{#- Translators: the variable "sphinx_web" is a link to the Sphinx project documentation with the text "Sphinx" #}
|
||||
{%- trans sphinx_web=sphinx_web, readthedocs_web=readthedocs_web %}Built with {{ sphinx_web }} using a{% endtrans %}
|
||||
{#- Translators: "theme" refers to a theme for Sphinx, which alters the appearance of the generated documenation #}
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">{% trans %}theme{% endtrans %}</a>
|
||||
{# Translators: this is always used as "provided by Read the Docs", and should not imply Read the Docs is an author of the generated documentation. #}
|
||||
{% trans %}provided by {{ readthedocs_web }}{% endtrans %}.
|
||||
{%- endif %}
|
||||
{#- Translators: this is always used as "provided by Read the Docs", and should not imply Read the Docs is an author of the generated documentation. #}
|
||||
{%- trans %}provided by {{ readthedocs_web }}{% endtrans %}.
|
||||
{% endif %}
|
||||
|
||||
{%- block extrafooter %} {% endblock %}
|
||||
|
||||
|
||||
@@ -7,61 +7,61 @@
|
||||
{%- set titlesuffix = "" %}
|
||||
{%- endif %}
|
||||
{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %}
|
||||
{%- set sphinx_writer = 'writer-html5' if html5_doctype else 'writer-html4' %}
|
||||
{%- set sphinx_writer = 'writer-html5' if html5_doctype else 'writer-html4' -%}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="{{ sphinx_writer }}" lang="{{ lang_attr }}" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
{{ metatags }}
|
||||
{{- metatags }}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{% block htmltitle %}
|
||||
{%- block htmltitle %}
|
||||
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
|
||||
{% endblock %}
|
||||
{%- endblock -%}
|
||||
|
||||
{# CSS #}
|
||||
{#- CSS #}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
|
||||
{%- for css in css_files %}
|
||||
{%- if css|attr("rel") %}
|
||||
<link rel="{{ css.rel }}" href="{{ pathto(css.filename, 1) }}" type="text/css"{% if css.title is not none %} title="{{ css.title }}"{% endif %} />
|
||||
<link rel="{{ css.rel }}" href="{{ pathto(css.filename, 1) }}" type="text/css"{% if css.title is not none %} title="{{ css.title }}"{% endif %} />
|
||||
{%- else %}
|
||||
<link rel="stylesheet" href="{{ pathto(css, 1) }}" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ pathto(css, 1) }}" type="text/css" />
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
{%- for cssfile in extra_css_files %}
|
||||
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
|
||||
{%- endfor %}
|
||||
{%- endfor -%}
|
||||
|
||||
{# FAVICON #}
|
||||
{% if favicon %}
|
||||
{#- FAVICON #}
|
||||
{%- if favicon %}
|
||||
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
|
||||
{% endif %}
|
||||
{%- endif -%}
|
||||
|
||||
{# CANONICAL URL (deprecated) #}
|
||||
{% if theme_canonical_url and not pageurl %}
|
||||
{#- CANONICAL URL (deprecated) #}
|
||||
{%- if theme_canonical_url and not pageurl %}
|
||||
<link rel="canonical" href="{{ theme_canonical_url }}{{ pagename }}.html"/>
|
||||
{% endif %}
|
||||
{%- endif -%}
|
||||
|
||||
{# CANONICAL URL #}
|
||||
{#- CANONICAL URL #}
|
||||
{%- if pageurl %}
|
||||
<link rel="canonical" href="{{ pageurl|e }}" />
|
||||
{%- endif %}
|
||||
{%- endif -%}
|
||||
|
||||
{# JAVASCRIPTS #}
|
||||
{#- JAVASCRIPTS #}
|
||||
{%- block scripts %}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="{{ pathto('_static/js/html5shiv.min.js', 1) }}"></script>
|
||||
<![endif]-->
|
||||
{%- if not embedded %}
|
||||
{# XXX Sphinx 1.8.0 made this an external js-file, quick fix until we refactor the template to inherert more blocks directly from sphinx #}
|
||||
{% if sphinx_version >= "1.8.0" %}
|
||||
{%- if sphinx_version >= "1.8.0" -%}
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="{{ url_root }}" src="{{ pathto('_static/documentation_options.js', 1) }}"></script>
|
||||
{%- for scriptfile in script_files %}
|
||||
{{ js_tag(scriptfile) }}
|
||||
{%- endfor %}
|
||||
{% else %}
|
||||
{%- else %}
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT:'{{ url_root }}',
|
||||
@@ -76,10 +76,10 @@
|
||||
{%- for scriptfile in script_files %}
|
||||
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
|
||||
|
||||
{# OPENSEARCH #}
|
||||
{#- OPENSEARCH #}
|
||||
{%- if use_opensearch %}
|
||||
<link rel="search" type="application/opensearchdescription+xml"
|
||||
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
|
||||
@@ -113,110 +113,101 @@
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
{% block extrabody %} {% endblock %}
|
||||
{%- block extrabody %} {% endblock %}
|
||||
<div class="wy-grid-for-nav">
|
||||
{# SIDE NAV, TOGGLES ON MOBILE #}
|
||||
{#- SIDE NAV, TOGGLES ON MOBILE #}
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" {% if theme_style_nav_header_background %} style="background: {{theme_style_nav_header_background}}" {% endif %}>
|
||||
{% block sidebartitle %}
|
||||
{%- block sidebartitle %}
|
||||
|
||||
{% if logo and theme_logo_only %}
|
||||
{%- if logo and theme_logo_only %}
|
||||
<a href="{{ pathto(master_doc) }}">
|
||||
{% else %}
|
||||
{%- else %}
|
||||
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
|
||||
{% if logo %}
|
||||
{# Not strictly valid HTML, but it's the only way to display/scale
|
||||
it properly, without weird scripting or heaps of work
|
||||
{%- if logo %}
|
||||
{#- Not strictly valid HTML, but it's the only way to display/scale
|
||||
it properly, without weird scripting or heaps of work
|
||||
#}
|
||||
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" alt="{{ _('Logo') }}"/>
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
</a>
|
||||
|
||||
{% if theme_display_version %}
|
||||
{%- if theme_display_version %}
|
||||
{%- set nav_version = version %}
|
||||
{% if READTHEDOCS and current_version %}
|
||||
{%- if READTHEDOCS and current_version %}
|
||||
{%- set nav_version = current_version %}
|
||||
{% endif %}
|
||||
{% if nav_version %}
|
||||
{%- endif %}
|
||||
{%- if nav_version %}
|
||||
<div class="version">
|
||||
{{ nav_version }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
{% include "searchbox.html" %}
|
||||
{%- include "searchbox.html" %}
|
||||
|
||||
{% endblock %}
|
||||
{%- endblock %}
|
||||
</div>
|
||||
|
||||
{% block navigation %}
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
{% block menu %}
|
||||
{#
|
||||
The singlehtml builder doesn't handle this toctree call when the
|
||||
toctree is empty. Skip building this for now.
|
||||
#}
|
||||
{% if 'singlehtml' not in builder %}
|
||||
{% set global_toc = toctree(maxdepth=theme_navigation_depth|int,
|
||||
collapse=theme_collapse_navigation|tobool,
|
||||
includehidden=theme_includehidden|tobool,
|
||||
titles_only=theme_titles_only|tobool) %}
|
||||
{% endif %}
|
||||
{% if global_toc %}
|
||||
{{ global_toc }}
|
||||
{% else %}
|
||||
{%- block navigation %}
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="{{ _('Main') }}">
|
||||
{%- block menu %}
|
||||
{%- set toctree = toctree(maxdepth=theme_navigation_depth|int,
|
||||
collapse=theme_collapse_navigation|tobool,
|
||||
includehidden=theme_includehidden|tobool,
|
||||
titles_only=theme_titles_only|tobool) %}
|
||||
{%- if toctree %}
|
||||
{{ toctree }}
|
||||
{%- else %}
|
||||
<!-- Local TOC -->
|
||||
<div class="local-toc">{{ toc }}</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{%- endif %}
|
||||
{%- endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{%- endblock %}
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
{% block mobile_nav %}
|
||||
{#- MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
|
||||
<nav class="wy-nav-top" aria-label="{{ _('Top') }}">
|
||||
{%- block mobile_nav %}
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
|
||||
{% endblock %}
|
||||
{%- endblock %}
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
{%- block content %}
|
||||
{% if theme_style_external_links|tobool %}
|
||||
{%- if theme_style_external_links|tobool %}
|
||||
<div class="rst-content style-external-links">
|
||||
{% else %}
|
||||
{%- else %}
|
||||
<div class="rst-content">
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{% include "breadcrumbs.html" %}
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
{%- block document %}
|
||||
<div itemprop="articleBody">
|
||||
{% block body %}{% endblock %}
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
{% if self.comments()|trim %}
|
||||
<div class="articleComments">
|
||||
{% block comments %}{% endblock %}
|
||||
</div>
|
||||
{% endif%}
|
||||
{%- if self.comments()|trim %}
|
||||
<div class="articleComments">
|
||||
{%- block comments %}{% endblock %}
|
||||
</div>
|
||||
{%- endif%}
|
||||
</div>
|
||||
{%- endblock %}
|
||||
{% include "footer.html" %}
|
||||
</div>
|
||||
{%- endblock %}
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
{% include "versions.html" %}
|
||||
{% include "versions.html" -%}
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
@@ -224,9 +215,9 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
{# Do not conflict with RTD insertion of analytics script #}
|
||||
{% if not READTHEDOCS %}
|
||||
{% if theme_analytics_id %}
|
||||
{#- Do not conflict with RTD insertion of analytics script #}
|
||||
{%- if not READTHEDOCS %}
|
||||
{%- if theme_analytics_id %}
|
||||
<!-- Theme Analytics -->
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
@@ -235,14 +226,14 @@
|
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', '{{ theme_analytics_id }}', 'auto');
|
||||
{% if theme_analytics_anonymize_ip|tobool %}
|
||||
{%- if theme_analytics_anonymize_ip|tobool %}
|
||||
ga('set', 'anonymizeIp', true);
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
{%- block footer %} {% endblock %}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a,.wy-menu-vertical li.current>a span.toctree-expand:before,.wy-menu-vertical li.on a,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li span.toctree-expand:before,.wy-nav-top a,.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*!
|
||||
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
|
||||
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
|
||||
*/@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li span.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p.caption .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a span.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-left.toctree-expand,.wy-menu-vertical li span.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p.caption .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a span.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-right.toctree-expand,.wy-menu-vertical li span.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li span.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.downloadLine truncated
|
||||
*/@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li span.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p.caption .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a span.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-left.toctree-expand,.wy-menu-vertical li span.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p.caption .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a span.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-right.toctree-expand,.wy-menu-vertical li span.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li span.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.downloadLine truncated
|
||||
@@ -1 +1 @@
|
||||
!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n('<span class="toctree-expand"></span>'),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}t.length>0&&($(".wy-menu-vertical .current").removeClass("current"),t.addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l1").parent().addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l2").addClass("current"),t.closest("li.toctree-l3").addClass("current"),t.closest("li.toctree-l4").addClass("current"),t.closest("li.toctree-l5").addClass("current"),t[0].scrollIntoView())}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current"),e.find("> ul li.current").removeClass("current"),e.toggleClass("current")}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var i=(new Date).getTime(),o=Math.max(0,16-(i-n)),r=window.setTimeout((function(){e(i+o)}),o);return n=i+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()}).call(window)},function(n,e){n.exports=jQuery},function(n,e,t){}]);
|
||||
!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n('<span class="toctree-expand"></span>'),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}t.length>0&&($(".wy-menu-vertical .current").removeClass("current"),t.addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l1").parent().addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l2").addClass("current"),t.closest("li.toctree-l3").addClass("current"),t.closest("li.toctree-l4").addClass("current"),t.closest("li.toctree-l5").addClass("current"),t[0].scrollIntoView())}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current");var t=e.find("> ul li");t.length&&(t.removeClass("current"),e.toggleClass("current"))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var i=(new Date).getTime(),o=Math.max(0,16-(i-n)),r=window.setTimeout((function(){e(i+o)}),o);return n=i+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()}).call(window)},function(n,e){n.exports=jQuery},function(n,e,t){}]);
|
||||
@@ -1,6 +1,6 @@
|
||||
{% if READTHEDOCS %}
|
||||
{# Add rst-badge after rst-versions for small badge style. #}
|
||||
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
|
||||
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="{{ _('Versions') }}">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
<span class="fa fa-book"> Read the Docs</span>
|
||||
v: {{ current_version }}
|
||||
|
||||
@@ -30,7 +30,7 @@ ul.fas
|
||||
text-indent: -0.8em
|
||||
li
|
||||
.fa
|
||||
width: .8em
|
||||
width: 0.8em
|
||||
.fa-large:before,
|
||||
.fa-large:before
|
||||
/* 1.5 increased font size for fa-large * 1.25 width
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
$lato-font-path: "~lato-font/fonts";
|
||||
$roboto-font-path: "~roboto-fontface/fonts/roboto-slab";
|
||||
|
||||
// $font-full-path: '#{$roboto-font-path}/roboto-slab/Roboto-Slab';
|
||||
$lato-font-path: "~lato-font/fonts"
|
||||
$roboto-font-path: "~roboto-fontface/fonts/roboto-slab"
|
||||
|
||||
@font-face
|
||||
font-family: 'Lato'
|
||||
|
||||
+22
-23
@@ -15,7 +15,7 @@ html
|
||||
ul, li
|
||||
display: inline-block
|
||||
li:hover
|
||||
background: rgba(255,255,255,.1)
|
||||
background: rgba(255, 255, 255, 0.1)
|
||||
li
|
||||
&.divide-left
|
||||
border-left: solid 1px hsl(0, 0%, 25%)
|
||||
@@ -35,7 +35,7 @@ html
|
||||
height: $base-font-size * 2
|
||||
line-height: $base-font-size * 2
|
||||
padding: 0 $gutter
|
||||
margin: $base-line-height / 2 0 0 0
|
||||
margin: ($base-line-height / 2) 0 0 0
|
||||
display: block
|
||||
font-weight: bold
|
||||
text-transform: uppercase
|
||||
@@ -54,7 +54,7 @@ html
|
||||
a
|
||||
color: $menu-link-medium
|
||||
border-right: solid 1px darken($menu-vertical-background-color, 20%)
|
||||
padding: $gutter / 4 $gutter * 1.5
|
||||
padding: ($gutter / 4) ($gutter * 1.5)
|
||||
&:hover
|
||||
background: darken($menu-vertical-background-color, 15%)
|
||||
code
|
||||
@@ -70,14 +70,13 @@ html
|
||||
margin-left: -1.2em
|
||||
@extend .fa
|
||||
@extend .fa-plus-square-o
|
||||
font-size: .8em
|
||||
line-height: 1.6em
|
||||
line-height: 18px
|
||||
color: darken($menu-link-medium, 20%)
|
||||
|
||||
// On state for the first level
|
||||
li.on a, li.current > a
|
||||
color: $menu-link-color
|
||||
padding: $gutter / 4 $gutter
|
||||
padding: ($gutter / 4) $gutter
|
||||
font-weight: bold
|
||||
position: relative
|
||||
background: $menu-vertical-background-color
|
||||
@@ -92,8 +91,7 @@ html
|
||||
@extend .fa
|
||||
@extend .fa-minus-square-o
|
||||
display: block
|
||||
font-size: .8em
|
||||
line-height: 1.6em
|
||||
line-height: 18px
|
||||
color: darken($menu-link-medium, 30%)
|
||||
|
||||
li.toctree-l1.current > a
|
||||
@@ -109,7 +107,7 @@ html
|
||||
display: block
|
||||
|
||||
%shrink_toctree_element
|
||||
font-size: .9em
|
||||
font-size: 0.9em
|
||||
|
||||
%toctree_link_color
|
||||
color: $menu-link-color
|
||||
@@ -130,11 +128,12 @@ html
|
||||
@extend %toctree_link_color
|
||||
&.current
|
||||
> a
|
||||
padding: $gutter / 4 $gutter * ($toc_level - 1 + .5)
|
||||
padding: ($gutter / 4) ($gutter * ($toc_level - 1 + 0.5))
|
||||
|
||||
li.toctree-l#{$toc_level + 1} > a
|
||||
@extend %display_current_toctree_element
|
||||
padding: $gutter / 4 $gutter * ($toc_level + .5)
|
||||
padding: ($gutter / 4) ($gutter * ($toc_level + 0.5))
|
||||
padding-right: $gutter
|
||||
a:hover span.toctree-expand
|
||||
@extend %toctree_hover_link_color
|
||||
@if $toc_level > 2 and $toc_level < 5
|
||||
@@ -169,7 +168,7 @@ html
|
||||
font-weight: normal
|
||||
a
|
||||
line-height: 18px
|
||||
padding: $gutter / 4 $gutter
|
||||
padding: ($gutter / 4) $gutter
|
||||
display: block
|
||||
position: relative
|
||||
font-size: 90%
|
||||
@@ -202,7 +201,7 @@ html
|
||||
border-color: darken($link-color, 5%)
|
||||
img
|
||||
display: block
|
||||
margin: auto auto $gutter / 2 auto
|
||||
margin: auto auto ($gutter / 2) auto
|
||||
height: 45px
|
||||
width: 45px
|
||||
background-color: $menu-logo-color
|
||||
@@ -213,11 +212,11 @@ html
|
||||
font-size: 100%
|
||||
font-weight: bold
|
||||
display: inline-block
|
||||
padding: $base-line-height / 6 $base-line-height / 4
|
||||
padding: ($base-line-height / 6) ($base-line-height / 4)
|
||||
margin-bottom: $gutter / 2
|
||||
+font-smooth
|
||||
&:hover
|
||||
background: rgba(255,255,255,.1)
|
||||
background: rgba(255, 255, 255, 0.1)
|
||||
img.logo
|
||||
display: block // display on its own line all the time
|
||||
margin: 0 auto
|
||||
@@ -225,15 +224,15 @@ html
|
||||
width: auto
|
||||
border-radius: 0
|
||||
max-width: 100% // shrink on mobile, if appropriate
|
||||
background: rgba(0,0,0,0) // make hover background of parent show up properly
|
||||
background: rgba(0, 0, 0, 0) // make hover background of parent show up properly
|
||||
&.icon
|
||||
img.logo
|
||||
margin-top: 0.85em // space it away from the title text
|
||||
> div.version
|
||||
margin-top: -1 * ($gutter / 4)
|
||||
margin-top: -1 * $gutter / 4
|
||||
margin-bottom: $gutter / 2
|
||||
font-weight: normal
|
||||
color: rgba(255,255,255,.3)
|
||||
color: rgba(255, 255, 255, 0.3)
|
||||
|
||||
.wy-nav .wy-menu-vertical
|
||||
header
|
||||
@@ -245,7 +244,7 @@ html
|
||||
color: $white
|
||||
|
||||
[data-menu-wrap]
|
||||
+transition(all .2s ease-in)
|
||||
+transition(all 0.2s ease-in)
|
||||
position: absolute
|
||||
opacity: 1
|
||||
width: 100%
|
||||
@@ -296,7 +295,7 @@ html
|
||||
display: none
|
||||
background: $link-color
|
||||
color: $white
|
||||
padding: $gutter / 4 $gutter / 2
|
||||
padding: ($gutter / 4) ($gutter / 2)
|
||||
position: relative
|
||||
line-height: 50px
|
||||
text-align: center
|
||||
@@ -325,7 +324,7 @@ html
|
||||
min-height: 100%
|
||||
|
||||
.wy-nav-content
|
||||
padding: $gutter $gutter * 2
|
||||
padding: $gutter ($gutter * 2)
|
||||
height: 100%
|
||||
max-width: $nav-content-width
|
||||
margin: auto
|
||||
@@ -334,7 +333,7 @@ html
|
||||
position: fixed
|
||||
width: 100%
|
||||
height: 100%
|
||||
background: rgba(0,0,0,.2)
|
||||
background: rgba(0, 0, 0, 0.2)
|
||||
display: none
|
||||
z-index: $z-index-modal - 1
|
||||
&.on
|
||||
@@ -412,7 +411,7 @@ footer
|
||||
|
||||
@media screen and (min-width: $nav-media-query)
|
||||
.wy-nav-content-wrap
|
||||
background: rgba(0,0,0,.05)
|
||||
background: rgba(0, 0, 0, 0.05)
|
||||
.wy-nav-content
|
||||
margin: 0
|
||||
background: $section-background-color
|
||||
|
||||
+23
-22
@@ -56,7 +56,7 @@
|
||||
pre.literal-block
|
||||
white-space: pre
|
||||
margin: 0
|
||||
padding: $base-line-height / 2 $base-line-height / 2
|
||||
padding: ($base-line-height / 2) ($base-line-height / 2)
|
||||
font-family: $code-font-family
|
||||
display: block
|
||||
overflow: auto
|
||||
@@ -75,21 +75,21 @@
|
||||
.linenodiv pre
|
||||
border-right: solid 1px lighten($table-border-color, 2%)
|
||||
margin: 0
|
||||
padding: $base-line-height / 2 $base-line-height / 2
|
||||
padding: ($base-line-height / 2) ($base-line-height / 2)
|
||||
font-family: $code-font-family
|
||||
user-select: none
|
||||
pointer-events: none
|
||||
div[class^='highlight'] pre
|
||||
white-space: pre
|
||||
margin: 0
|
||||
padding: $base-line-height / 2 $base-line-height / 2
|
||||
padding: ($base-line-height / 2) ($base-line-height / 2)
|
||||
display: block
|
||||
overflow: auto
|
||||
& .hll
|
||||
// Line emphasis spans full width
|
||||
display: block
|
||||
margin: 0 -1 * $base-line-height / 2
|
||||
padding: 0 $base-line-height / 2
|
||||
margin: 0 (-1 * $base-line-height / 2)
|
||||
padding: 0 ($base-line-height / 2)
|
||||
pre.literal-block, div[class^='highlight'] pre, .linenodiv pre
|
||||
font-family: $code-font-family
|
||||
font-size: 12px
|
||||
@@ -135,10 +135,10 @@
|
||||
@extend .wy-alert.wy-alert-warning
|
||||
// Some people put tables in notes. Let's give them very basic support.
|
||||
.admonition table
|
||||
border-color: rgba(0,0,0,.1)
|
||||
border-color: rgba(0, 0, 0, 0.1)
|
||||
td, th
|
||||
background: transparent !important
|
||||
border-color: rgba(0,0,0,.1) !important
|
||||
border-color: rgba(0, 0, 0, 0.1) !important
|
||||
.section ul, .toctree-wrapper ul
|
||||
@extend .wy-plain-list-disc
|
||||
.section ol.loweralpha, .section ol.loweralpha > li
|
||||
@@ -234,14 +234,14 @@
|
||||
font-family: $custom-font-family
|
||||
font-weight: bold
|
||||
background: $table-border-color
|
||||
padding: $base-line-height / 4 $base-line-height / 2
|
||||
padding: ($base-line-height / 4) ($base-line-height / 2)
|
||||
margin: -$base-line-height
|
||||
margin-bottom: $base-line-height
|
||||
font-size: 100%
|
||||
// Sphinx can highlight searched text with ?highlighted=searchterm
|
||||
.highlighted
|
||||
background: $highlight-color
|
||||
box-shadow: 0 0 0 $base-line-height / 12 $highlight-color
|
||||
box-shadow: 0 0 0 ($base-line-height / 12) $highlight-color
|
||||
display: inline
|
||||
font-weight: bold
|
||||
|
||||
@@ -289,14 +289,14 @@
|
||||
> dt, > dd
|
||||
margin-bottom: 0rem
|
||||
dl.footnote
|
||||
font-size: .9rem
|
||||
font-size: 0.9rem
|
||||
> dt
|
||||
margin: 0rem .5rem .5rem 0rem
|
||||
margin: 0rem 0.5rem 0.5rem 0rem
|
||||
line-height: 1.2rem
|
||||
word-break: break-all
|
||||
font-weight: normal
|
||||
> span.brackets
|
||||
margin-right: .5rem
|
||||
margin-right: 0.5rem
|
||||
&:before
|
||||
content: "["
|
||||
&:after
|
||||
@@ -304,13 +304,13 @@
|
||||
> span.fn-backref
|
||||
font-style: italic
|
||||
> dd
|
||||
margin: 0rem 0rem .5rem 0rem
|
||||
margin: 0rem 0rem 0.5rem 0rem
|
||||
line-height: 1.2rem
|
||||
p
|
||||
font-size: .9rem
|
||||
font-size: 0.9rem
|
||||
dl.option-list
|
||||
kbd
|
||||
font-size: .9rem
|
||||
font-size: 0.9rem
|
||||
// Both
|
||||
html.writer-html4 & table.docutils.citation, table.docutils.footnote,
|
||||
html.writer-html5 & dl.footnote
|
||||
@@ -340,7 +340,7 @@
|
||||
th > p, td > p
|
||||
line-height: 1rem
|
||||
margin-bottom: 0rem
|
||||
font-size: .9rem
|
||||
font-size: 0.9rem
|
||||
&:not(.field-list)
|
||||
@extend .wy-table-striped
|
||||
// Remove bottom margin for the last element (and it's last child)
|
||||
@@ -376,6 +376,7 @@
|
||||
|
||||
&.literal
|
||||
color: $text-code-color
|
||||
white-space: normal
|
||||
&.xref, a &
|
||||
font-weight: bold
|
||||
color: $text-codexref-color
|
||||
@@ -394,14 +395,14 @@
|
||||
margin-bottom: $base-line-height / 2
|
||||
// rST seems to want dds to be treated as the browser would, indented.
|
||||
dd
|
||||
margin: 0 0 $base-line-height / 2 $base-line-height
|
||||
margin: 0 0 ($base-line-height / 2) $base-line-height
|
||||
line-height: $base-line-height
|
||||
html.writer-html4 & dl:not(.docutils),
|
||||
html.writer-html5 & dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)
|
||||
margin-bottom: $base-line-height
|
||||
> dt
|
||||
display: table
|
||||
margin: $base-line-height / 4 0
|
||||
margin: ($base-line-height / 4) 0
|
||||
font-size: 90%
|
||||
line-height: normal
|
||||
background: lighten($class-color, 50%)
|
||||
@@ -419,8 +420,8 @@
|
||||
dl:not(.field-list) > dt
|
||||
margin-bottom: $base-line-height / 4
|
||||
border: none
|
||||
border-left: solid 3px hsl(0,0%,80%)
|
||||
background: hsl(0,0%,94%)
|
||||
border-left: solid 3px hsl(0, 0%, 80%)
|
||||
background: hsl(0, 0%, 94%)
|
||||
color: $method-color
|
||||
.headerlink
|
||||
color: $headerlink-color
|
||||
@@ -480,8 +481,8 @@
|
||||
font-size: 80%
|
||||
font-weight: 700
|
||||
border-radius: $base-line-height / 6
|
||||
padding: $base-line-height / 10 $base-line-height / 4
|
||||
margin: auto $base-line-height / 12
|
||||
padding: ($base-line-height / 10) ($base-line-height / 4)
|
||||
margin: auto ($base-line-height / 12)
|
||||
.versionmodified
|
||||
font-style: italic
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ $fa-font-path: "~font-awesome/fonts"
|
||||
$static-img: "../img/"
|
||||
|
||||
$nav-content-width: 800px
|
||||
$nav-media-query: (($nav-desktop-width) + ($nav-content-width))
|
||||
$nav-media-query: $nav-desktop-width + $nav-content-width
|
||||
|
||||
$mathjax-color: $text-color
|
||||
|
||||
|
||||
+9
-8
@@ -146,13 +146,10 @@ function ThemeNav () {
|
||||
if (link.length > 0) {
|
||||
$('.wy-menu-vertical .current').removeClass('current');
|
||||
link.addClass('current');
|
||||
link.closest('li.toctree-l1').addClass('current');
|
||||
link.closest('li.toctree-l1').parent().addClass('current');
|
||||
link.closest('li.toctree-l1').addClass('current');
|
||||
link.closest('li.toctree-l2').addClass('current');
|
||||
link.closest('li.toctree-l3').addClass('current');
|
||||
link.closest('li.toctree-l4').addClass('current');
|
||||
link.closest('li.toctree-l5').addClass('current');
|
||||
for (let i = 1; i <= 10; i++) {
|
||||
link.closest('li.toctree-l' + i).addClass('current');
|
||||
}
|
||||
link[0].scrollIntoView();
|
||||
}
|
||||
}
|
||||
@@ -192,8 +189,12 @@ function ThemeNav () {
|
||||
var parent_li = elem.closest('li');
|
||||
parent_li.siblings('li.current').removeClass('current');
|
||||
parent_li.siblings().find('li.current').removeClass('current');
|
||||
parent_li.find('> ul li.current').removeClass('current');
|
||||
parent_li.toggleClass('current');
|
||||
var children = parent_li.find('> ul li');
|
||||
// Don't toggle terminal elements.
|
||||
if (children.length) {
|
||||
children.removeClass('current');
|
||||
parent_li.toggleClass('current');
|
||||
}
|
||||
}
|
||||
|
||||
return nav;
|
||||
|
||||
+9
-29
@@ -30,12 +30,9 @@ def test_basic():
|
||||
assert search in content
|
||||
elif isinstance(app.builder, SingleFileHTMLBuilder):
|
||||
search = (
|
||||
'<div class="local-toc"><ul>\n'
|
||||
'<ul>\n'
|
||||
'<li class="toctree-l1">'
|
||||
'<a class="reference internal" href="index.html#document-foo">foo</a>'
|
||||
'<ul>\n'
|
||||
'<li class="toctree-l2">'
|
||||
'<a class="reference internal" href="index.html#document-bar">bar</a>'
|
||||
'</li>\n'
|
||||
'</ul>'
|
||||
)
|
||||
@@ -63,31 +60,14 @@ def test_empty():
|
||||
for (app, status, warning) in build_all('test-empty'):
|
||||
assert app.env.get_doctree('index').traverse(addnodes.toctree)
|
||||
content = open(os.path.join(app.outdir, 'index.html')).read()
|
||||
if sphinx.version_info < (1, 4):
|
||||
if isinstance(app.builder, SingleFileHTMLBuilder):
|
||||
assert '<div class="toctree-wrapper compound">\n</div>' in content
|
||||
assert '<div class="local-toc">' in content
|
||||
else:
|
||||
global_toc = (
|
||||
'<div class="toctree-wrapper compound">\n'
|
||||
'<ul class="simple">\n</ul>\n'
|
||||
'</div>'
|
||||
)
|
||||
local_toc = (
|
||||
'<div class="local-toc"><ul class="simple">'
|
||||
'</ul>\n</div>'
|
||||
)
|
||||
assert global_toc in content
|
||||
assert local_toc not in content
|
||||
else:
|
||||
global_toc = '<div class="toctree-wrapper compound">\n</div>'
|
||||
local_toc = (
|
||||
'<div class="local-toc"><ul>\n'
|
||||
'<li><a class="reference internal" href="#">test-empty</a></li>'
|
||||
'</ul>\n</div>'
|
||||
)
|
||||
assert global_toc in content
|
||||
assert local_toc not in content
|
||||
global_toc = '<div class="toctree-wrapper compound">\n</div>'
|
||||
local_toc = (
|
||||
'<div class="local-toc"><ul>\n'
|
||||
'<li><a class="reference internal" href="#">test-empty</a></li>'
|
||||
'</ul>\n</div>'
|
||||
)
|
||||
assert global_toc in content
|
||||
assert local_toc not in content
|
||||
|
||||
|
||||
def test_missing_toctree():
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[tox]
|
||||
envlist = py{27,36,37,38,39}-sphinx{16,17,18,20,21,22,23,24,30,31,32}
|
||||
envlist = py{27,36,37,38,39}-sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,latest}
|
||||
|
||||
[testenv]
|
||||
setev =
|
||||
@@ -20,6 +20,9 @@ deps =
|
||||
sphinx30: Sphinx < 3.1
|
||||
sphinx31: Sphinx < 3.2
|
||||
sphinx32: Sphinx < 3.3
|
||||
sphinx33: Sphinx < 3.4
|
||||
sphinx34: Sphinx < 3.5
|
||||
sphinxlatest: Sphinx
|
||||
commands =
|
||||
pytest {posargs} tests/
|
||||
sphinx-build -b html -d {envtmpdir}/doctrees docs/ {envtmpdir}/html
|
||||
Reference in new issue
Block a user