mirror of
https://github.com/readthedocs/sphinx_rtd_theme.git
synced 2026-10-15 02:42:01 -05:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
679021d714 | ||
|
|
bf3eb39425 |
No files matched your search
@@ -1,8 +1,5 @@
|
||||
version: 2.1
|
||||
|
||||
orbs:
|
||||
node: circleci/node@5.0.2
|
||||
|
||||
commands:
|
||||
run-tox:
|
||||
description: "Run tox"
|
||||
@@ -20,8 +17,6 @@ commands:
|
||||
description: "Ensure built assets are up to date"
|
||||
steps:
|
||||
- checkout
|
||||
- node/install:
|
||||
node-version: '14.20'
|
||||
- run: npm ci
|
||||
- run: npm run build
|
||||
- run:
|
||||
@@ -46,7 +41,6 @@ jobs:
|
||||
steps:
|
||||
- run-tox:
|
||||
version: py27
|
||||
sphinx-version: "16,17,18"
|
||||
py36:
|
||||
docker:
|
||||
- image: 'cimg/python:3.6'
|
||||
@@ -71,22 +65,12 @@ jobs:
|
||||
steps:
|
||||
- run-tox:
|
||||
version: py39
|
||||
py310:
|
||||
docker:
|
||||
- image: 'cimg/python:3.10'
|
||||
steps:
|
||||
- run-tox:
|
||||
version: py310
|
||||
sphinx-version: "42,43,44,45,50,51,latest"
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
tests:
|
||||
jobs:
|
||||
- build
|
||||
- py310:
|
||||
requires:
|
||||
- build
|
||||
- py39:
|
||||
requires:
|
||||
- build
|
||||
|
||||
@@ -27,5 +27,3 @@ sphinx_rtd_theme/static/js/html5shiv.min.js
|
||||
sphinx_rtd_theme/static/js/html5shiv-printshiv.min.js
|
||||
.direnv/
|
||||
.envrc
|
||||
# Used for dockerized builds
|
||||
.container_id
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
# This implicitely includes Python 3.10
|
||||
FROM node:14-alpine
|
||||
|
||||
# Do not use --update since that will also fetch the
|
||||
# latest node-current package
|
||||
# 'make' is needed for building documentation
|
||||
RUN apk add npm make py3-pip py3-wheel
|
||||
|
||||
# Add an extra verification that we have the right node
|
||||
# because the above caused issues
|
||||
RUN node -v && node -v | grep -q v14 &&\
|
||||
python3 --version && python3 --version | grep -q "3.10"
|
||||
|
||||
RUN pip install pip --upgrade
|
||||
|
||||
RUN mkdir -p /project/src/ &&\
|
||||
mkdir -p /project/docs/build/ &&\
|
||||
mkdir -p /project-minimal-copy/sphinx_rtd_theme &&\
|
||||
touch /project-minimal-copy/sphinx_rtd_theme/__init__.py
|
||||
|
||||
# This is the main working directory where node_modules
|
||||
# gets built. During runtime, it's mixed with directories
|
||||
# from an external environment through a bind mount
|
||||
WORKDIR /project
|
||||
|
||||
# Copy files necessary to run "npm install" and save
|
||||
# installed packages in the docker image (makes the runtime
|
||||
# so much faster)
|
||||
COPY package.json /project/
|
||||
COPY bin/preinstall.js /project/bin/preinstall.js
|
||||
|
||||
RUN cd /project
|
||||
|
||||
# It matters that the node environment is installed into the same
|
||||
# folder, i.e. /project where we will run the environment from
|
||||
RUN npm install --package-lock-only &&\
|
||||
npm audit fix &&\
|
||||
npm install
|
||||
|
||||
# This is strictly speaking not necessary, just makes
|
||||
# running the container faster...
|
||||
# Install dependencies, then uninstall project itself
|
||||
COPY setup.py README.rst /project-minimal-copy/
|
||||
RUN cd /project-minimal-copy &&\
|
||||
pip install ".[dev]" &&\
|
||||
/usr/bin/yes | pip uninstall sphinx_rtd_theme
|
||||
|
||||
|
||||
# Copy in files that we need to run the project. These files
|
||||
# will not be mounted into the runtime from external environment
|
||||
# so we copy them during build.
|
||||
COPY webpack.common.js webpack.dev.js webpack.prod.js /project/
|
||||
|
||||
# Copy in the entrypoint and we're done
|
||||
COPY docker-entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
@@ -1,18 +0,0 @@
|
||||
SHELL := /bin/bash
|
||||
CWD := $(shell cd -P -- '$(shell dirname -- "$0")' && pwd -P)
|
||||
|
||||
docker-images:
|
||||
docker-compose build
|
||||
|
||||
docker-npm-build:
|
||||
rm -f .container_id
|
||||
docker-compose run -d sphinx_rtd_theme build > .container_id
|
||||
docker container wait "$(shell cat .container_id)"
|
||||
docker cp "$(shell cat .container_id):/project/sphinx_rtd_theme" .
|
||||
docker cp "$(shell cat .container_id):/project/package-lock.json" .
|
||||
@echo "Done building"
|
||||
|
||||
docker-npm-dev:
|
||||
docker-compose run sphinx_rtd_theme dev
|
||||
|
||||
docker-build-all: docker-images docker-npm-build
|
||||
@@ -1,26 +0,0 @@
|
||||
version: "3.2"
|
||||
services:
|
||||
|
||||
sphinx_rtd_theme:
|
||||
build: .
|
||||
volumes:
|
||||
- type: "bind"
|
||||
source: "./"
|
||||
target: "/project-readonly"
|
||||
read_only: true
|
||||
- type: "volume"
|
||||
target: "/project-readonly/sphinx_rtd_theme.egg-info"
|
||||
- type: "bind"
|
||||
source: "./src"
|
||||
target: "/project/src"
|
||||
read_only: true
|
||||
- type: "bind"
|
||||
source: "./docs"
|
||||
target: "/project/docs"
|
||||
read_only: false #todo: fix this
|
||||
- type: "volume"
|
||||
target: "/project/docs/_build"
|
||||
|
||||
network_mode: host
|
||||
ports:
|
||||
- "1919:1919"
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Update latest Python dependencies in case they have changed
|
||||
cd /project-readonly
|
||||
pip install --upgrade -e ".[dev]"
|
||||
|
||||
# This helps a potential permission issue, but might be removed
|
||||
# pending some more investigation of docker host file system
|
||||
# permissions in the bind mount
|
||||
# npm cache clean --force
|
||||
# npm install
|
||||
|
||||
cd /project
|
||||
cp -r /project-readonly/sphinx_rtd_theme .
|
||||
|
||||
echo "Going to invoke: npm run $@"
|
||||
npm run $@
|
||||
+2
-38
@@ -6,9 +6,6 @@ This project follows the Read the Docs :doc:`code of conduct
|
||||
<rtd:code-of-conduct>`. If you are not familiar with our code of conduct policy,
|
||||
take a minute to read the policy before starting with your first contribution.
|
||||
|
||||
.. tip::
|
||||
There is a new dockerized build environment, see :ref:`dockerized-build`.
|
||||
|
||||
Modifying the theme
|
||||
===================
|
||||
|
||||
@@ -65,36 +62,6 @@ can be used to test built assets:
|
||||
.. _Wyrm: http://www.github.com/snide/wyrm/
|
||||
.. _Sphinx: http://www.sphinx-doc.org/en/stable/
|
||||
|
||||
|
||||
_dockerized-build::
|
||||
|
||||
Dockerized development
|
||||
======================
|
||||
|
||||
If you have Docker available on your platform, you can get started building CSS and JS artifacts a bit faster and won't have to worry about any of the setup spilling over into your general environment.
|
||||
|
||||
When building with Docker, we create an image containing the build dependencies. Some of these are quite outdated and therefore ideal to isolate a container. The image is tagged as ``sphinx_rtd_theme:latest``.
|
||||
|
||||
Inside the running docker image, we mount the working copy of the repository, build the artifacts and finally observe that the artifacts have been built and left in your current git checkout.
|
||||
|
||||
Use the following steps:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# Builds an updated version of the docker image
|
||||
$ docker-compose build
|
||||
|
||||
# Runs the development webserver
|
||||
$ docker-compose run sphinx_rtd_theme dev
|
||||
|
||||
# If you want to copy stuff out of the Docker environment, run this make
|
||||
# target or read the actual Makefile to see what is going on.
|
||||
# We suggest running this command every time that you want to quickly build
|
||||
# new CSS/JS assets
|
||||
$ make docker-build-all
|
||||
|
||||
Every time you change the Node or Python requirements, you will need to rebuild images with ``docker-compose run sphinx_rtd_theme build``. If you change SASS or JS, you will need to rebuild assets.
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
@@ -217,11 +184,8 @@ To release a new version of the theme, core team will take the following steps:
|
||||
#. 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 ``npm install && npm run build`` to rebuild all the theme assets,
|
||||
notice that ``package-lock.json`` will be updated with a new package
|
||||
version. But take care that it isn't also bumping versions of dependencies
|
||||
in ways that are risky to the release. *If* ``package-lock.json`` changes, you
|
||||
need to commit it to git and tag it together with your release.
|
||||
#. 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``.
|
||||
|
||||
+5
-3
@@ -264,7 +264,7 @@ Footnotes
|
||||
Citations
|
||||
---------
|
||||
|
||||
.. [Citation] This is the citation I made, let's make this extremely long so that we can tell that it doesn't follow the normal responsive table stuff.
|
||||
.. [11] This is the citation I made, let's make this extremely long so that we can tell that it doesn't follow the normal responsive table stuff.
|
||||
|
||||
.. [12] This citation has some ``code blocks`` in it, maybe some **bold** and
|
||||
*italics* too. Heck, lets put a link to a meta citation [13]_ too.
|
||||
@@ -272,7 +272,9 @@ Citations
|
||||
.. [13] This citation will have two backlinks.
|
||||
|
||||
|
||||
Here's a reference to the above, [Citation]_, and a [nonexistent]_ citation.
|
||||
Here's a reference to the above, [12]_, and a [nonexistent]_ citation.
|
||||
|
||||
Here is another type of citation: `citation`
|
||||
|
||||
Glossary
|
||||
--------
|
||||
@@ -300,7 +302,7 @@ A reference can be found under `Inline Markup`_, above. `Inline
|
||||
hyperlink targets`_ are also possible.
|
||||
|
||||
Section headers are implicit targets, referred to by name. See
|
||||
Targets_, which is a subsection of `References`_.
|
||||
Targets_, which is a subsection of `Body Elements`_.
|
||||
|
||||
Explicit external targets are interpolated into references such as "Python_".
|
||||
|
||||
|
||||
@@ -346,26 +346,3 @@ List Tables
|
||||
|
||||
This is a long caption for a figure. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
Donec porttitor dolor in odio posuere, vitae ornare libero mattis. In lobortis justo vestibulum nibh aliquet, non.
|
||||
|
||||
|
||||
Tables with paragraphs
|
||||
----------------------
|
||||
|
||||
.. regression test for https://github.com/readthedocs/sphinx_rtd_theme/issues/289
|
||||
|
||||
Test to see that tables behave well with nested paragraphs.
|
||||
|
||||
+------------+----------+-------------------------+
|
||||
| Precedence | Operator | Description |
|
||||
+============+==========+=========================+
|
||||
| 1 | \:: | Scope resolution |
|
||||
+------------+----------+-------------------------+
|
||||
| 2 | ( ) | Function call |
|
||||
| | | |
|
||||
| | [ ] | Subscript |
|
||||
| | | |
|
||||
| | . | Member access |
|
||||
| | | |
|
||||
| | .{ } | Bit-field concatenation |
|
||||
+------------+----------+-------------------------+
|
||||
|
||||
@@ -65,7 +65,6 @@ class Foo:
|
||||
:type val2: int
|
||||
:rtype: int
|
||||
|
||||
The parameters of this method are described in the parameter list.
|
||||
"""
|
||||
|
||||
return val1 + val2
|
||||
@@ -112,23 +111,3 @@ class Foo:
|
||||
This is deprecated since 3.0
|
||||
"""
|
||||
return sum(kwargs.values()) / len(kwargs), a + b
|
||||
|
||||
|
||||
def add_numbers(a: int, b: int = 0) -> int:
|
||||
"""Add two numbers together
|
||||
|
||||
:param a: The first number
|
||||
:param b: The second number
|
||||
|
||||
Here is some more text.
|
||||
"""
|
||||
return a + b
|
||||
|
||||
|
||||
def subtract_numbers(a: int, b: int = 0) -> int:
|
||||
"""Subtract two numbers
|
||||
|
||||
:param a: The first number
|
||||
:param b: The second number
|
||||
"""
|
||||
return a - b
|
||||
Generated
+1621
-1426
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -30,7 +30,7 @@
|
||||
"jquery": "^3.6.0",
|
||||
"lato-font": "^3.0.0",
|
||||
"mini-css-extract-plugin": "^0.6.0",
|
||||
"node-sass": "^4.14.1",
|
||||
"node-sass": "^4.13.1",
|
||||
"optimize-css-assets-webpack-plugin": "^5.0.4",
|
||||
"roboto-fontface": "^0.10.0",
|
||||
"sass-loader": "^7.3.0",
|
||||
|
||||
@@ -1,63 +1,3 @@
|
||||
[metadata]
|
||||
name = sphinx_rtd_theme
|
||||
url = https://github.com/readthedocs/sphinx_rtd_theme
|
||||
license = MIT
|
||||
author = Dave Snider, Read the Docs, Inc. & contributors
|
||||
author_email = dev@readthedocs.org
|
||||
description = Read the Docs theme for Sphinx
|
||||
long_description = file: README.rst
|
||||
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
|
||||
classifiers =
|
||||
Framework :: Sphinx
|
||||
Framework :: Sphinx :: Theme
|
||||
Development Status :: 5 - Production/Stable
|
||||
License :: OSI Approved :: MIT License
|
||||
Environment :: Console
|
||||
Environment :: Web Environment
|
||||
Intended Audience :: Developers
|
||||
Programming Language :: Python :: 2.7
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.6
|
||||
Programming Language :: Python :: 3.7
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Operating System :: OS Independent
|
||||
Topic :: Documentation
|
||||
Topic :: Software Development :: Documentation
|
||||
[options]
|
||||
include_package_data = True
|
||||
zip_safe = False
|
||||
packages = sphinx_rtd_theme
|
||||
install_requires =
|
||||
sphinx >=1.6,<6
|
||||
docutils <0.18
|
||||
Jinja2 <3.1
|
||||
tests_require =
|
||||
pytest
|
||||
|
||||
[options.extras_require]
|
||||
dev =
|
||||
transifex-client
|
||||
sphinxcontrib-httpdomain
|
||||
bump2version
|
||||
wheel
|
||||
|
||||
[options.entry_points]
|
||||
sphinx.html_themes =
|
||||
sphinx_rtd_theme = sphinx_rtd_theme
|
||||
|
||||
[options.package_data]
|
||||
sphinx_rtd_theme =
|
||||
theme.conf
|
||||
*.html
|
||||
static/css/*.css
|
||||
static/css/fonts/*.*
|
||||
static/js/*.js
|
||||
|
||||
[bumpversion]
|
||||
current_version = 1.0.1alpha1
|
||||
commit = false
|
||||
@@ -109,6 +49,10 @@ first_value = 1
|
||||
search = "version": "{current_version}",
|
||||
replace = "version": "{new_version}",
|
||||
|
||||
[bumpversion:file:package-lock.json]
|
||||
search = "version": "{current_version}",
|
||||
replace = "version": "{new_version}",
|
||||
|
||||
[bumpversion:file:docs/changelog.rst]
|
||||
search = .. |development_version| replace:: {current_version}
|
||||
replace = .. |development_version| replace:: {new_version}
|
||||
@@ -86,7 +86,14 @@ class TransifexCommand(distutils.cmd.Command):
|
||||
|
||||
|
||||
setup(
|
||||
name='sphinx_rtd_theme',
|
||||
version='1.0.1alpha1',
|
||||
url='https://github.com/readthedocs/sphinx_rtd_theme',
|
||||
license='MIT',
|
||||
author='Dave Snider, Read the Docs, Inc. & contributors',
|
||||
author_email='dev@readthedocs.org',
|
||||
description='Read the Docs theme for Sphinx',
|
||||
long_description=open('README.rst', encoding='utf-8').read(),
|
||||
cmdclass={
|
||||
'update_translations': UpdateTranslationsCommand,
|
||||
'transifex': TransifexCommand,
|
||||
@@ -113,7 +120,6 @@ setup(
|
||||
install_requires=[
|
||||
'sphinx>=1.6',
|
||||
'docutils<0.18',
|
||||
'Jinja2<3.1',
|
||||
],
|
||||
tests_require=[
|
||||
'pytest',
|
||||
@@ -123,7 +129,6 @@ setup(
|
||||
'transifex-client',
|
||||
'sphinxcontrib-httpdomain',
|
||||
'bump2version',
|
||||
'wheel',
|
||||
],
|
||||
},
|
||||
classifiers=[
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
includehidden=theme_includehidden|tobool,
|
||||
titles_only=theme_titles_only|tobool) %}
|
||||
{%- if toctree %}
|
||||
{{- toctree }}
|
||||
{{ toctree }}
|
||||
{%- else %}
|
||||
<!-- Local TOC -->
|
||||
<div class="local-toc">{{ toc }}</div>
|
||||
|
||||
@@ -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 .eqno .headerlink:before,.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 p .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 button.toctree-expand:before,.wy-menu-vertical li.on a,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.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 .eqno .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 p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.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 .eqno .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 .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 button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.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 .eqno .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 .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 button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.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 .eqno .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 .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 button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .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-coLine 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 .eqno .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 p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.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 .eqno .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 .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 button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.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 .eqno .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 .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 button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.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 .eqno .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 .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 button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .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-coLine truncated
|
||||
+11
-18
@@ -225,12 +225,6 @@
|
||||
&:hover .headerlink
|
||||
opacity: 1
|
||||
|
||||
// Consistent font sizing for table typography
|
||||
.wy-table
|
||||
th, td
|
||||
p, ul
|
||||
font-size: inherit
|
||||
|
||||
// override the Wyrm accessibility anti-pattern of hiding button focus
|
||||
.btn:focus
|
||||
outline: 2px solid
|
||||
@@ -310,7 +304,8 @@
|
||||
vertical-align: top
|
||||
// HTML5 writer
|
||||
html.writer-html5 &
|
||||
dl.footnote, dl.citation, dl.field-list
|
||||
dl.footnote,
|
||||
dl.field-list
|
||||
display: grid
|
||||
grid-template-columns: max-content auto
|
||||
> dt
|
||||
@@ -319,8 +314,8 @@
|
||||
content: ":"
|
||||
> dt, > dd
|
||||
margin-bottom: 0rem
|
||||
dl.footnote, dl.citation
|
||||
font-size: .9rem
|
||||
dl.footnote
|
||||
font-size: 0.9rem
|
||||
> dt
|
||||
margin: 0rem 0.5rem 0.5rem 0rem
|
||||
line-height: 1.2rem
|
||||
@@ -344,7 +339,7 @@
|
||||
font-size: 0.9rem
|
||||
// Both
|
||||
html.writer-html4 & table.docutils.citation, table.docutils.footnote,
|
||||
html.writer-html5 & dl.footnote, dl.citation
|
||||
html.writer-html5 & dl.footnote
|
||||
color: $text-medium
|
||||
code
|
||||
color: $gray
|
||||
@@ -384,6 +379,7 @@
|
||||
td
|
||||
border: none
|
||||
p
|
||||
font-size: inherit
|
||||
line-height: inherit
|
||||
td > strong
|
||||
display: inline-block
|
||||
@@ -427,13 +423,8 @@
|
||||
dd
|
||||
margin: 0 0 ($base-line-height / 2) $base-line-height
|
||||
line-height: $base-line-height
|
||||
> p:last-child,
|
||||
> ol:last-child,
|
||||
> ul:last-child,
|
||||
> table:last-child
|
||||
margin-bottom: 0
|
||||
html.writer-html4 & dl:not(.docutils),
|
||||
html.writer-html5 & dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)
|
||||
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
|
||||
@@ -524,8 +515,10 @@
|
||||
border-radius: $base-line-height / 6
|
||||
padding: ($base-line-height / 10) ($base-line-height / 4)
|
||||
margin: auto ($base-line-height / 12)
|
||||
*:not(dl.option-list) > :not(dt):not(kbd):not(.kbd) > kbd,
|
||||
*:not(dl.option-list) > :not(dt):not(kbd):not(.kbd) > .kbd
|
||||
:not(kbd) > kbd,
|
||||
:not(kbd) > .kbd,
|
||||
:not(.kbd) > kbd,
|
||||
:not(.kbd) > .kbd
|
||||
color: inherit
|
||||
font-size: 80%
|
||||
background-color: lighten($text-light, 30%)
|
||||
|
||||
@@ -2,8 +2,3 @@
|
||||
|
||||
master_doc = 'index'
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
html_theme_options = {
|
||||
'collapse_navigation': False,
|
||||
'navigation_depth': -1,
|
||||
}
|
||||
@@ -23,7 +23,7 @@ def test_basic():
|
||||
|
||||
if isinstance(app.builder, DirectoryHTMLBuilder):
|
||||
search = (
|
||||
'<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Main">'
|
||||
'<div class="toctree-wrapper compound">\n'
|
||||
'<ul>\n'
|
||||
'<li class="toctree-l1">'
|
||||
'<a class="reference internal" href="foo/">foo</a>'
|
||||
@@ -33,25 +33,21 @@ def test_basic():
|
||||
'</ul>\n'
|
||||
'</li>\n'
|
||||
'</ul>\n'
|
||||
'</div>'
|
||||
)
|
||||
assert search in content
|
||||
elif isinstance(app.builder, SingleFileHTMLBuilder):
|
||||
search = (
|
||||
'<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Main">'
|
||||
'<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>\n'
|
||||
'</li>\n'
|
||||
'</ul>\n'
|
||||
'</ul>'
|
||||
)
|
||||
assert search in content
|
||||
else:
|
||||
search = (
|
||||
'<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Main">'
|
||||
'<div class="toctree-wrapper compound">\n'
|
||||
'<ul>\n'
|
||||
'<li class="toctree-l1">'
|
||||
'<a class="reference internal" href="foo.html">foo</a>'
|
||||
@@ -61,6 +57,7 @@ def test_basic():
|
||||
'</ul>\n'
|
||||
'</li>\n'
|
||||
'</ul>\n'
|
||||
'</div>'
|
||||
)
|
||||
assert search in content, ('Missing search with builder {0}'
|
||||
.format(app.builder.name))
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
[tox]
|
||||
envlist =
|
||||
py{2,27}-sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,42,43,44,45,50,51}{-html4,-html5,}{-qa,}
|
||||
py{3,36,37,38,39}-sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,42,43,44,45,50,51,latest}{-html4,-html5,}{-qa,}
|
||||
py{310}-sphinx{42,43,44,45,50,51,latest}{-html4,-html5,}{-qa,}
|
||||
envlist = py{2,27,3,36,37,38,39}-sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,latest}{-html4,-html5,}{-qa,}
|
||||
|
||||
[testenv]
|
||||
setev =
|
||||
@@ -12,29 +9,22 @@ deps =
|
||||
readthedocs-sphinx-ext
|
||||
pytest
|
||||
sphinxcontrib-httpdomain
|
||||
sphinx16: Sphinx>=1.6,<1.7
|
||||
sphinx17: Sphinx>=1.7,<1.8
|
||||
sphinx18: Sphinx>=1.8,<1.9
|
||||
sphinx20: Sphinx>=2.0,<2.1
|
||||
sphinx21: Sphinx>=2.1,<2.2
|
||||
sphinx22: Sphinx>=2.2,<2.3
|
||||
sphinx23: Sphinx>=2.3,<2.4
|
||||
sphinx24: Sphinx>=2.4,<2.5
|
||||
sphinx30: Sphinx>=3.0,<3.1
|
||||
sphinx31: Sphinx>=3.1,<3.2
|
||||
sphinx32: Sphinx>=3.2,<3.3
|
||||
sphinx33: Sphinx>=3.3,<3.4
|
||||
sphinx34: Sphinx>=3.4,<3.5
|
||||
sphinx35: Sphinx>=3.5,<3.6
|
||||
sphinx40: Sphinx>=4.0,<4.1
|
||||
sphinx41: Sphinx>=4.1,<4.2
|
||||
sphinx42: Sphinx>=4.2,<4.3
|
||||
sphinx43: Sphinx>=4.3,<4.4
|
||||
sphinx44: Sphinx>=4.4,<4.5
|
||||
sphinx45: Sphinx>=4.5,<4.6
|
||||
sphinx50: Sphinx>=5.0,<5.1
|
||||
sphinx51: Sphinx>=5.1,<5.2
|
||||
sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,42}: docutils<0.18
|
||||
sphinx16: Sphinx < 1.7
|
||||
sphinx17: Sphinx < 1.8
|
||||
sphinx18: Sphinx < 1.9
|
||||
sphinx20: Sphinx < 2.1
|
||||
sphinx21: Sphinx < 2.2
|
||||
sphinx22: Sphinx < 2.3
|
||||
sphinx23: Sphinx < 2.4
|
||||
sphinx24: Sphinx < 2.5
|
||||
sphinx30: Sphinx < 3.1
|
||||
sphinx31: Sphinx < 3.2
|
||||
sphinx32: Sphinx < 3.3
|
||||
sphinx33: Sphinx < 3.4
|
||||
sphinx34: Sphinx < 3.5
|
||||
sphinx35: Sphinx < 3.6
|
||||
sphinx40: Sphinx < 4.1
|
||||
sphinx41: Sphinx < 4.2
|
||||
sphinxlatest: Sphinx
|
||||
commands =
|
||||
pytest {posargs} tests/
|
||||
|
||||
Reference in new issue
Block a user