Merge branch 'master' into master
@ -4,8 +4,16 @@ python:
|
|||||||
- 3.4
|
- 3.4
|
||||||
- 3.5
|
- 3.5
|
||||||
- 3.6
|
- 3.6
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- python: 2.7
|
||||||
|
env: TOXENV=docs
|
||||||
sudo: false
|
sudo: false
|
||||||
install:
|
install:
|
||||||
- pip install tox-travis
|
- pip install tox-travis
|
||||||
script:
|
script:
|
||||||
- tox
|
- tox
|
||||||
|
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
42
Gruntfile.js
@ -14,7 +14,7 @@ module.exports = function(grunt) {
|
|||||||
server: {
|
server: {
|
||||||
options: {
|
options: {
|
||||||
port: 1919,
|
port: 1919,
|
||||||
base: 'demo_docs/build',
|
base: 'docs/build',
|
||||||
livereload: true
|
livereload: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -111,18 +111,39 @@ module.exports = function(grunt) {
|
|||||||
dest: 'sphinx_rtd_theme/static/js/theme.js'
|
dest: 'sphinx_rtd_theme/static/js/theme.js'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
uglify: {
|
||||||
|
dist: {
|
||||||
|
options: {
|
||||||
|
sourceMap: false,
|
||||||
|
mangle: {
|
||||||
|
reserved: ['jQuery'] // Leave 'jQuery' identifier unchanged
|
||||||
|
},
|
||||||
|
ie8: true // compliance with IE 6-8 quirks
|
||||||
|
},
|
||||||
|
files: [{
|
||||||
|
expand: true,
|
||||||
|
src: ['sphinx_rtd_theme/static/js/*.js', '!sphinx_rtd_theme/static/js/*.min.js'],
|
||||||
|
dest: 'sphinx_rtd_theme/static/js/',
|
||||||
|
rename: function (dst, src) {
|
||||||
|
// Use unminified file name for minified file
|
||||||
|
return src;
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
},
|
||||||
exec: {
|
exec: {
|
||||||
bower_update: {
|
bower_update: {
|
||||||
cmd: 'bower update'
|
cmd: 'bower update'
|
||||||
},
|
},
|
||||||
build_sphinx: {
|
build_sphinx: {
|
||||||
cmd: 'sphinx-build demo_docs/source demo_docs/build'
|
cmd: 'sphinx-build docs/ docs/build'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
clean: {
|
clean: {
|
||||||
build: ["demo_docs/build"],
|
build: ["docs/build"],
|
||||||
fonts: ["sphinx_rtd_theme/static/fonts"]
|
fonts: ["sphinx_rtd_theme/static/fonts"],
|
||||||
|
css: ["sphinx_rtd_theme/static/css"],
|
||||||
|
js: ["sphinx_rtd_theme/static/js/*", "!sphinx_rtd_theme/static/js/modernizr.min.js"]
|
||||||
},
|
},
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
@ -133,7 +154,7 @@ module.exports = function(grunt) {
|
|||||||
},
|
},
|
||||||
/* Changes in theme dir rebuild sphinx */
|
/* Changes in theme dir rebuild sphinx */
|
||||||
sphinx: {
|
sphinx: {
|
||||||
files: ['sphinx_rtd_theme/**/*', 'demo_docs/**/*.rst', 'demo_docs/**/*.py'],
|
files: ['sphinx_rtd_theme/**/*', 'README.rst', 'docs/**/*.rst', 'docs/**/*.py'],
|
||||||
tasks: ['clean:build','exec:build_sphinx']
|
tasks: ['clean:build','exec:build_sphinx']
|
||||||
},
|
},
|
||||||
/* JavaScript */
|
/* JavaScript */
|
||||||
@ -141,9 +162,9 @@ module.exports = function(grunt) {
|
|||||||
files: ['js/*.js'],
|
files: ['js/*.js'],
|
||||||
tasks: ['browserify:dev']
|
tasks: ['browserify:dev']
|
||||||
},
|
},
|
||||||
/* live-reload the demo_docs if sphinx re-builds */
|
/* live-reload the docs if sphinx re-builds */
|
||||||
livereload: {
|
livereload: {
|
||||||
files: ['demo_docs/build/**/*'],
|
files: ['docs/build/**/*'],
|
||||||
options: { livereload: true }
|
options: { livereload: true }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -159,7 +180,6 @@ module.exports = function(grunt) {
|
|||||||
grunt.loadNpmTasks('grunt-open');
|
grunt.loadNpmTasks('grunt-open');
|
||||||
grunt.loadNpmTasks('grunt-browserify');
|
grunt.loadNpmTasks('grunt-browserify');
|
||||||
|
|
||||||
grunt.registerTask('fonts', ['clean:fonts','copy:fonts']);
|
grunt.registerTask('default', ['exec:bower_update','clean','copy:fonts','sass:dev','browserify:dev','exec:build_sphinx','connect','open','watch']);
|
||||||
grunt.registerTask('default', ['exec:bower_update','clean:build','sass:dev','browserify:dev','exec:build_sphinx','connect','open','watch']);
|
grunt.registerTask('build', ['exec:bower_update','clean','copy:fonts','sass:build','browserify:build','uglify','exec:build_sphinx']);
|
||||||
grunt.registerTask('build', ['exec:bower_update','clean:build','sass:build','browserify:build','exec:build_sphinx']);
|
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
.. _wyrm: http://www.github.com/snide/wyrm/
|
.. _wyrm: http://www.github.com/snide/wyrm/
|
||||||
.. _grunt: http://www.gruntjs.com
|
.. _grunt: http://www.gruntjs.com
|
||||||
.. _node: http://www.nodejs.com
|
.. _node: http://www.nodejs.com
|
||||||
.. _demo: http://docs.readthedocs.org
|
.. _demo: https://sphinx-rtd-theme.readthedocs.io/en/latest/
|
||||||
.. _hidden: http://sphinx-doc.org/markup/toctree.html
|
.. _hidden: http://sphinx-doc.org/markup/toctree.html
|
||||||
|
|
||||||
.. image:: https://img.shields.io/pypi/v/sphinx_rtd_theme.svg
|
.. image:: https://img.shields.io/pypi/v/sphinx_rtd_theme.svg
|
||||||
@ -16,12 +16,16 @@
|
|||||||
.. image:: https://img.shields.io/pypi/l/sphinx_rtd_theme.svg
|
.. image:: https://img.shields.io/pypi/l/sphinx_rtd_theme.svg
|
||||||
:target: https://pypi.python.org/pypi/sphinx_rtd_theme/
|
:target: https://pypi.python.org/pypi/sphinx_rtd_theme/
|
||||||
:alt: license
|
:alt: license
|
||||||
|
.. image:: https://readthedocs.org/projects/sphinx-rtd-theme/badge/?version=latest
|
||||||
|
:target: http://sphinx-rtd-theme.readthedocs.io/en/latest/?badge=latest
|
||||||
|
:alt: Documentation Status
|
||||||
|
|
||||||
**************************
|
**************************
|
||||||
Read the Docs Sphinx Theme
|
Read the Docs Sphinx Theme
|
||||||
**************************
|
**************************
|
||||||
|
|
||||||
.. contents::
|
.. contents::
|
||||||
|
:backlinks: none
|
||||||
|
|
||||||
View a working demo_ over on readthedocs.org_.
|
View a working demo_ over on readthedocs.org_.
|
||||||
|
|
||||||
@ -31,9 +35,6 @@ If you'd like to update the theme,
|
|||||||
please make your edits to the SASS files here,
|
please make your edits to the SASS files here,
|
||||||
rather than the .css files on checked into the repo.
|
rather than the .css files on checked into the repo.
|
||||||
|
|
||||||
.. image:: demo_docs/source/static/screen_mobile.png
|
|
||||||
:width: 100%
|
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
],
|
],
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"docs",
|
"docs",
|
||||||
"demo_docs",
|
|
||||||
".gitignore",
|
".gitignore",
|
||||||
".DS_Store",
|
".DS_Store",
|
||||||
".sass-cache*",
|
".sass-cache*",
|
||||||
|
@ -1,153 +0,0 @@
|
|||||||
# Makefile for Sphinx documentation
|
|
||||||
#
|
|
||||||
|
|
||||||
# You can set these variables from the command line.
|
|
||||||
SPHINXOPTS =
|
|
||||||
SPHINXBUILD = sphinx-build
|
|
||||||
PAPER =
|
|
||||||
BUILDDIR = build
|
|
||||||
|
|
||||||
# Internal variables.
|
|
||||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
|
||||||
PAPEROPT_letter = -D latex_paper_size=letter
|
|
||||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
|
||||||
# the i18n builder cannot share the environment and doctrees with the others
|
|
||||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
|
||||||
|
|
||||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo "Please use \`make <target>' where <target> is one of"
|
|
||||||
@echo " html to make standalone HTML files"
|
|
||||||
@echo " dirhtml to make HTML files named index.html in directories"
|
|
||||||
@echo " singlehtml to make a single large HTML file"
|
|
||||||
@echo " pickle to make pickle files"
|
|
||||||
@echo " json to make JSON files"
|
|
||||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
|
||||||
@echo " qthelp to make HTML files and a qthelp project"
|
|
||||||
@echo " devhelp to make HTML files and a Devhelp project"
|
|
||||||
@echo " epub to make an epub"
|
|
||||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
|
||||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
|
||||||
@echo " text to make text files"
|
|
||||||
@echo " man to make manual pages"
|
|
||||||
@echo " texinfo to make Texinfo files"
|
|
||||||
@echo " info to make Texinfo files and run them through makeinfo"
|
|
||||||
@echo " gettext to make PO message catalogs"
|
|
||||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
|
||||||
@echo " linkcheck to check all external links for integrity"
|
|
||||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm -rf $(BUILDDIR)/*
|
|
||||||
|
|
||||||
html:
|
|
||||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
|
||||||
@echo
|
|
||||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
|
||||||
|
|
||||||
dirhtml:
|
|
||||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
|
||||||
@echo
|
|
||||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
|
||||||
|
|
||||||
singlehtml:
|
|
||||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
|
||||||
@echo
|
|
||||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
|
||||||
|
|
||||||
pickle:
|
|
||||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
|
||||||
@echo
|
|
||||||
@echo "Build finished; now you can process the pickle files."
|
|
||||||
|
|
||||||
json:
|
|
||||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
|
||||||
@echo
|
|
||||||
@echo "Build finished; now you can process the JSON files."
|
|
||||||
|
|
||||||
htmlhelp:
|
|
||||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
|
||||||
@echo
|
|
||||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
|
||||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
|
||||||
|
|
||||||
qthelp:
|
|
||||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
|
||||||
@echo
|
|
||||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
|
||||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
|
||||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/SphinxRTDthemedemo.qhcp"
|
|
||||||
@echo "To view the help file:"
|
|
||||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/SphinxRTDthemedemo.qhc"
|
|
||||||
|
|
||||||
devhelp:
|
|
||||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
|
||||||
@echo
|
|
||||||
@echo "Build finished."
|
|
||||||
@echo "To view the help file:"
|
|
||||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/SphinxRTDthemedemo"
|
|
||||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/SphinxRTDthemedemo"
|
|
||||||
@echo "# devhelp"
|
|
||||||
|
|
||||||
epub:
|
|
||||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
|
||||||
@echo
|
|
||||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
|
||||||
|
|
||||||
latex:
|
|
||||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
|
||||||
@echo
|
|
||||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
|
||||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
|
||||||
"(use \`make latexpdf' here to do that automatically)."
|
|
||||||
|
|
||||||
latexpdf:
|
|
||||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
|
||||||
@echo "Running LaTeX files through pdflatex..."
|
|
||||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
|
||||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
|
||||||
|
|
||||||
text:
|
|
||||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
|
||||||
@echo
|
|
||||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
|
||||||
|
|
||||||
man:
|
|
||||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
|
||||||
@echo
|
|
||||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
|
||||||
|
|
||||||
texinfo:
|
|
||||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
|
||||||
@echo
|
|
||||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
|
||||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
|
||||||
"(use \`make info' here to do that automatically)."
|
|
||||||
|
|
||||||
info:
|
|
||||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
|
||||||
@echo "Running Texinfo files through makeinfo..."
|
|
||||||
make -C $(BUILDDIR)/texinfo info
|
|
||||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
|
||||||
|
|
||||||
gettext:
|
|
||||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
|
||||||
@echo
|
|
||||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
|
||||||
|
|
||||||
changes:
|
|
||||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
|
||||||
@echo
|
|
||||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
|
||||||
|
|
||||||
linkcheck:
|
|
||||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
|
||||||
@echo
|
|
||||||
@echo "Link check complete; look for any errors in the above output " \
|
|
||||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
|
||||||
|
|
||||||
doctest:
|
|
||||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
|
||||||
@echo "Testing of doctests in the sources finished, look at the " \
|
|
||||||
"results in $(BUILDDIR)/doctest/output.txt."
|
|
20
docs/Makefile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Minimal makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line.
|
||||||
|
SPHINXOPTS =
|
||||||
|
SPHINXBUILD = sphinx-build
|
||||||
|
SPHINXPROJ = ReadtheDocsSphinxTheme
|
||||||
|
SOURCEDIR = .
|
||||||
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
# Put it first so that "make" without argument is like "make help".
|
||||||
|
help:
|
||||||
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
|
.PHONY: help Makefile
|
||||||
|
|
||||||
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||||
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||||
|
%: Makefile
|
||||||
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
@ -14,8 +14,11 @@
|
|||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
|
||||||
sys.path.append(os.path.abspath('.'))
|
|
||||||
sys.path.append(os.path.abspath('./test_py_module'))
|
sys.path.append(os.path.abspath('..'))
|
||||||
|
sys.path.append(os.path.abspath('./demo/'))
|
||||||
|
|
||||||
|
from sphinx_rtd_theme import __version__
|
||||||
|
|
||||||
# If extensions (or modules to document with autodoc) are in another directory,
|
# If extensions (or modules to document with autodoc) are in another directory,
|
||||||
# add these directories to sys.path here. If the directory is relative to the
|
# add these directories to sys.path here. If the directory is relative to the
|
||||||
@ -36,8 +39,8 @@ extensions = [
|
|||||||
'sphinxcontrib.httpdomain',
|
'sphinxcontrib.httpdomain',
|
||||||
]
|
]
|
||||||
|
|
||||||
# Math
|
# Do not warn about external images (status badges in README.rst)
|
||||||
mathjax_path = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
|
suppress_warnings = ['image.nonlocal_uri']
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
@ -52,17 +55,17 @@ source_suffix = '.rst'
|
|||||||
master_doc = 'index'
|
master_doc = 'index'
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'Sphinx RTD theme demo'
|
project = u'Read the Docs Sphinx Theme'
|
||||||
copyright = u'2013, Dave Snider'
|
copyright = u'Read the Docs, Inc & contributors'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = '0.2.4'
|
version = __version__
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = '0.2.4'
|
release = __version__
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
@ -93,7 +96,7 @@ exclude_patterns = []
|
|||||||
#show_authors = False
|
#show_authors = False
|
||||||
|
|
||||||
# The name of the Pygments (syntax highlighting) style to use.
|
# The name of the Pygments (syntax highlighting) style to use.
|
||||||
pygments_style = 'sphinx'
|
pygments_style = 'default'
|
||||||
|
|
||||||
# A list of ignored prefixes for module index sorting.
|
# A list of ignored prefixes for module index sorting.
|
||||||
#modindex_common_prefix = []
|
#modindex_common_prefix = []
|
||||||
@ -126,7 +129,7 @@ html_theme_path = ["../.."]
|
|||||||
|
|
||||||
# The name of an image file (relative to this directory) to place at the top
|
# The name of an image file (relative to this directory) to place at the top
|
||||||
# of the sidebar.
|
# of the sidebar.
|
||||||
html_logo = "static/logo-wordmark-light.svg"
|
html_logo = "demo/static/logo-wordmark-light.svg"
|
||||||
|
|
||||||
# The name of an image file (within the static path) to use as favicon of the
|
# The name of an image file (within the static path) to use as favicon of the
|
||||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
@ -1,7 +1,5 @@
|
|||||||
|
Read the Docs Theme Demo
|
||||||
*****************************
|
************************
|
||||||
Read the Docs Theme Demo Docs
|
|
||||||
*****************************
|
|
||||||
|
|
||||||
These documents are used to test and stress test the Read the Docs Theme.
|
These documents are used to test and stress test the Read the Docs Theme.
|
||||||
|
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
13
docs/index.rst
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
.. include:: ../README.rst
|
||||||
|
|
||||||
|
Content
|
||||||
|
=======
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:caption: Theme
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:caption: Demo
|
||||||
|
|
||||||
|
demo/index
|
38
docs/make.bat
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
pushd %~dp0
|
||||||
|
|
||||||
|
REM Command file for Sphinx documentation
|
||||||
|
|
||||||
|
if "%SPHINXBUILD%" == "" (
|
||||||
|
set SPHINXBUILD=python -msphinx
|
||||||
|
)
|
||||||
|
set SPHINXOPTS=
|
||||||
|
set SPHINXBUILD=sphinx-build
|
||||||
|
set SOURCEDIR=.
|
||||||
|
set BUILDDIR=_build
|
||||||
|
set SPHINXPROJ=ReadtheDocsSphinxTheme
|
||||||
|
|
||||||
|
if "%1" == "" goto help
|
||||||
|
|
||||||
|
%SPHINXBUILD% >NUL 2>NUL
|
||||||
|
if errorlevel 9009 (
|
||||||
|
echo.
|
||||||
|
echo.The Sphinx module was not found. Make sure you have Sphinx installed,
|
||||||
|
echo.then set the SPHINXBUILD environment variable to point to the full
|
||||||
|
echo.path of the 'sphinx-build' executable. Alternatively you may add the
|
||||||
|
echo.Sphinx directory to PATH.
|
||||||
|
echo.
|
||||||
|
echo.If you don't have Sphinx installed, grab it from
|
||||||
|
echo.http://sphinx-doc.org/
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:help
|
||||||
|
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||||
|
|
||||||
|
:end
|
||||||
|
popd
|
2
docs/requirements.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
sphinxcontrib.httpdomain
|
||||||
|
sphinx
|
104
js/theme.js
@ -15,17 +15,22 @@ function ThemeNav () {
|
|||||||
isRunning: false
|
isRunning: false
|
||||||
};
|
};
|
||||||
|
|
||||||
nav.enable = function () {
|
nav.enable = function (withStickyNav) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
if (!self.isRunning) {
|
if (self.isRunning) {
|
||||||
self.isRunning = true;
|
// Only allow enabling nav logic once
|
||||||
jQuery(function ($) {
|
return;
|
||||||
self.init($);
|
}
|
||||||
|
|
||||||
self.reset();
|
self.isRunning = true;
|
||||||
self.win.on('hashchange', self.reset);
|
jQuery(function ($) {
|
||||||
|
self.init($);
|
||||||
|
|
||||||
|
self.reset();
|
||||||
|
self.win.on('hashchange', self.reset);
|
||||||
|
|
||||||
|
if (withStickyNav) {
|
||||||
// Set scroll monitor
|
// Set scroll monitor
|
||||||
self.win.on('scroll', function () {
|
self.win.on('scroll', function () {
|
||||||
if (!self.linkScroll) {
|
if (!self.linkScroll) {
|
||||||
@ -35,18 +40,23 @@ function ThemeNav () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Set resize monitor
|
// Set resize monitor
|
||||||
self.win.on('resize', function () {
|
self.win.on('resize', function () {
|
||||||
if (!self.winResize) {
|
if (!self.winResize) {
|
||||||
self.winResize = true;
|
self.winResize = true;
|
||||||
requestAnimationFrame(function() { self.onResize(); });
|
requestAnimationFrame(function() { self.onResize(); });
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
self.onResize();
|
|
||||||
});
|
});
|
||||||
};
|
|
||||||
|
self.onResize();
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
nav.enableSticky = function() {
|
||||||
|
this.enable(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
nav.init = function ($) {
|
nav.init = function ($) {
|
||||||
@ -104,36 +114,40 @@ function ThemeNav () {
|
|||||||
|
|
||||||
nav.reset = function () {
|
nav.reset = function () {
|
||||||
// Get anchor from URL and open up nested nav
|
// Get anchor from URL and open up nested nav
|
||||||
var anchor = encodeURI(window.location.hash);
|
var anchor = encodeURI(window.location.hash) || '#';
|
||||||
if (anchor) {
|
|
||||||
try {
|
try {
|
||||||
var link = $('.wy-menu-vertical')
|
var link = $('.wy-menu-vertical')
|
||||||
.find('[href="' + anchor + '"]');
|
.find('[href="' + anchor + '"]');
|
||||||
// If we didn't find a link, it may be because we clicked on
|
// If we didn't find a link, it may be because we clicked on
|
||||||
// something that is not in the sidebar (eg: when using
|
// something that is not in the sidebar (eg: when using
|
||||||
// sphinxcontrib.httpdomain it generates headerlinks but those
|
// sphinxcontrib.httpdomain it generates headerlinks but those
|
||||||
// aren't picked up and placed in the toctree). So let's find
|
// aren't picked up and placed in the toctree). So let's find
|
||||||
// the closest header in the document and try with that one.
|
// the closest header in the document and try with that one.
|
||||||
if (link.length === 0) {
|
if (link.length === 0) {
|
||||||
var doc_link = $('.document a[href="' + anchor + '"]');
|
var doc_link = $('.document a[href="' + anchor + '"]');
|
||||||
var closest_section = doc_link.closest('div.section');
|
var closest_section = doc_link.closest('div.section');
|
||||||
// Try again with the closest section entry.
|
// Try again with the closest section entry.
|
||||||
link = $('.wy-menu-vertical')
|
link = $('.wy-menu-vertical')
|
||||||
.find('[href="#' + closest_section.attr("id") + '"]');
|
.find('[href="#' + closest_section.attr("id") + '"]');
|
||||||
}
|
|
||||||
// If we found a matching link then reset current and re-apply
|
|
||||||
// otherwise retain the existing match
|
|
||||||
if (link.length > 0) {
|
|
||||||
$('.wy-menu-vertical li.toctree-l1 li.current').removeClass('current');
|
|
||||||
link.closest('li.toctree-l2').addClass('current');
|
|
||||||
link.closest('li.toctree-l3').addClass('current');
|
|
||||||
link.closest('li.toctree-l4').addClass('current');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (err) {
|
// If we found a matching link then reset current and re-apply
|
||||||
console.log("Error expanding nav for anchor", err);
|
// otherwise retain the existing match
|
||||||
|
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');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (err) {
|
||||||
|
console.log("Error expanding nav for anchor", err);
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nav.onScroll = function () {
|
nav.onScroll = function () {
|
||||||
@ -176,7 +190,7 @@ function ThemeNav () {
|
|||||||
module.exports.ThemeNav = ThemeNav();
|
module.exports.ThemeNav = ThemeNav();
|
||||||
|
|
||||||
if (typeof(window) != 'undefined') {
|
if (typeof(window) != 'undefined') {
|
||||||
window.SphinxRtdTheme = { StickyNav: module.exports.ThemeNav };
|
window.SphinxRtdTheme = { Navigation: module.exports.ThemeNav };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sphinx_rtd_theme",
|
"name": "sphinx_rtd_theme",
|
||||||
"version": "0.0.11",
|
"version": "0.2.5b2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@ -11,7 +11,8 @@
|
|||||||
"grunt-contrib-clean": "^1.0.0",
|
"grunt-contrib-clean": "^1.0.0",
|
||||||
"grunt-contrib-connect": "^1.0.2",
|
"grunt-contrib-connect": "^1.0.2",
|
||||||
"grunt-contrib-copy": "~1.0.0",
|
"grunt-contrib-copy": "~1.0.0",
|
||||||
"grunt-contrib-sass": "~0.8.0",
|
"grunt-contrib-sass": "~1.0.0",
|
||||||
|
"grunt-contrib-uglify": "~3.3.0",
|
||||||
"grunt-contrib-watch": "~1.0.0",
|
"grunt-contrib-watch": "~1.0.0",
|
||||||
"grunt-exec": "~1.0.1",
|
"grunt-exec": "~1.0.1",
|
||||||
"grunt-open": "0.2.3",
|
"grunt-open": "0.2.3",
|
||||||
|
@ -78,8 +78,6 @@
|
|||||||
position: relative
|
position: relative
|
||||||
background: $menu-vertical-background-color
|
background: $menu-vertical-background-color
|
||||||
border: none
|
border: none
|
||||||
border-bottom: solid 1px darken($menu-vertical-background-color, 20%)
|
|
||||||
border-top: solid 1px darken($menu-vertical-background-color, 20%)
|
|
||||||
padding-left: $gutter -4px
|
padding-left: $gutter -4px
|
||||||
+font-smooth
|
+font-smooth
|
||||||
&:hover
|
&:hover
|
||||||
@ -94,6 +92,10 @@
|
|||||||
line-height: 1.6em
|
line-height: 1.6em
|
||||||
color: darken($menu-link-medium, 30%)
|
color: darken($menu-link-medium, 30%)
|
||||||
|
|
||||||
|
li.toctree-l1.current > a
|
||||||
|
border-bottom: solid 1px darken($menu-vertical-background-color, 20%)
|
||||||
|
border-top: solid 1px darken($menu-vertical-background-color, 20%)
|
||||||
|
|
||||||
// This is the on state for pages beyond second level
|
// This is the on state for pages beyond second level
|
||||||
li.toctree-l1.current li.toctree-l2, li.toctree-l2.current li.toctree-l3
|
li.toctree-l1.current li.toctree-l2, li.toctree-l2.current li.toctree-l3
|
||||||
> ul
|
> ul
|
||||||
@ -123,8 +125,6 @@
|
|||||||
display: block
|
display: block
|
||||||
background: darken($menu-vertical-background-color, 25%)
|
background: darken($menu-vertical-background-color, 25%)
|
||||||
padding: $gutter / 4 $gutter * 3.5
|
padding: $gutter / 4 $gutter * 3.5
|
||||||
border-top: none
|
|
||||||
border-bottom: none
|
|
||||||
a:hover span.toctree-expand
|
a:hover span.toctree-expand
|
||||||
color: $menu-link-medium
|
color: $menu-link-medium
|
||||||
span.toctree-expand
|
span.toctree-expand
|
||||||
@ -247,9 +247,7 @@
|
|||||||
|
|
||||||
|
|
||||||
.wy-body-for-nav
|
.wy-body-for-nav
|
||||||
background: left repeat-y $section-background-color
|
background: $section-background-color
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC)
|
|
||||||
background-size: $nav-desktop-width 1px
|
|
||||||
|
|
||||||
.wy-grid-for-nav
|
.wy-grid-for-nav
|
||||||
position: absolute
|
position: absolute
|
||||||
|
@ -19,13 +19,12 @@
|
|||||||
max-width: 100%
|
max-width: 100%
|
||||||
height: auto
|
height: auto
|
||||||
|
|
||||||
.highlight > pre, .linenodiv > pre
|
|
||||||
line-height: normal
|
|
||||||
|
|
||||||
div.figure
|
div.figure
|
||||||
margin-bottom: $base-line-height
|
margin-bottom: $base-line-height
|
||||||
p.caption
|
p.caption
|
||||||
font-style: italic
|
font-style: italic
|
||||||
|
p:last-child.caption
|
||||||
|
margin-bottom: 0px
|
||||||
|
|
||||||
div.figure.align-center
|
div.figure.align-center
|
||||||
text-align: center
|
text-align: center
|
||||||
@ -53,8 +52,39 @@
|
|||||||
margin-left: $base-line-height
|
margin-left: $base-line-height
|
||||||
line-height: $base-line-height
|
line-height: $base-line-height
|
||||||
margin-bottom: $base-line-height
|
margin-bottom: $base-line-height
|
||||||
.literal-block, pre.literal-block
|
|
||||||
@extend .codeblock
|
pre.literal-block, div[class^='highlight']
|
||||||
|
border: 1px solid $table-border-color
|
||||||
|
padding: 0px
|
||||||
|
overflow-x: auto
|
||||||
|
// 1px hack otherwise border won't show. lame
|
||||||
|
margin: 1px 0 $base-line-height 0
|
||||||
|
div[class^='highlight']
|
||||||
|
border: none
|
||||||
|
margin: 0
|
||||||
|
// Needs 100% width for line highlighting to work properly
|
||||||
|
div[class^='highlight'] td.code
|
||||||
|
width: 100%
|
||||||
|
.linenodiv pre
|
||||||
|
border-right: solid 1px lighten($table-border-color, 2%)
|
||||||
|
margin: 0
|
||||||
|
padding: $base-line-height / 2 $base-line-height / 2
|
||||||
|
font-family: $code-font-family
|
||||||
|
div[class^='highlight'] pre
|
||||||
|
white-space: pre
|
||||||
|
margin: 0
|
||||||
|
padding: $base-line-height / 2 $base-line-height / 2
|
||||||
|
font-family: $code-font-family
|
||||||
|
display: block
|
||||||
|
overflow: auto
|
||||||
|
pre.literal-block, div[class^='highlight'] pre, .linenodiv pre
|
||||||
|
font-size: 12px
|
||||||
|
line-height: normal
|
||||||
|
|
||||||
|
@media print
|
||||||
|
.codeblock, div[class^='highlight'], div[class^='highlight'] pre
|
||||||
|
white-space: pre-wrap
|
||||||
|
|
||||||
// These are the various note pullouts that sphinx applies
|
// These are the various note pullouts that sphinx applies
|
||||||
.note, .attention, .caution, .danger, .error, .hint, .important, .tip, .warning, .seealso, .admonition-todo, .admonition
|
.note, .attention, .caution, .danger, .error, .hint, .important, .tip, .warning, .seealso, .admonition-todo, .admonition
|
||||||
@extend .wy-alert
|
@extend .wy-alert
|
||||||
@ -161,7 +191,10 @@
|
|||||||
|
|
||||||
// These are the little citation links [1] that show up within paragraphs.
|
// These are the little citation links [1] that show up within paragraphs.
|
||||||
.footnote-reference, .citation-reference
|
.footnote-reference, .citation-reference
|
||||||
vertical-align: super
|
vertical-align: baseline
|
||||||
|
position: relative
|
||||||
|
top: -0.4em
|
||||||
|
line-height: 0
|
||||||
font-size: 90%
|
font-size: 90%
|
||||||
|
|
||||||
// Tables! Sphinx LOVES TABLES. Most of wyrm assumes you're only going to use a table as a table
|
// Tables! Sphinx LOVES TABLES. Most of wyrm assumes you're only going to use a table as a table
|
||||||
|
@ -40,10 +40,6 @@
|
|||||||
@import wyrm_core/table
|
@import wyrm_core/table
|
||||||
@import wyrm_core/type
|
@import wyrm_core/type
|
||||||
|
|
||||||
// Pygments styling
|
|
||||||
@import wyrm_addons/pygments/pygments
|
|
||||||
@import wyrm_addons/pygments/pygments_light
|
|
||||||
|
|
||||||
// Theme specific styles. These are likely the files you want to edit.
|
// Theme specific styles. These are likely the files you want to edit.
|
||||||
@import theme_breadcrumbs
|
@import theme_breadcrumbs
|
||||||
@import theme_layout
|
@import theme_layout
|
||||||
|
@ -55,28 +55,22 @@
|
|||||||
|
|
||||||
{%- block linktags %}
|
{%- block linktags %}
|
||||||
{%- if hasdoc('about') %}
|
{%- if hasdoc('about') %}
|
||||||
<link rel="author" title="{{ _('About these documents') }}"
|
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
|
||||||
href="{{ pathto('about') }}"/>
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if hasdoc('genindex') %}
|
{%- if hasdoc('genindex') %}
|
||||||
<link rel="index" title="{{ _('Index') }}"
|
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
|
||||||
href="{{ pathto('genindex') }}"/>
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if hasdoc('search') %}
|
{%- if hasdoc('search') %}
|
||||||
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}"/>
|
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if hasdoc('copyright') %}
|
{%- if hasdoc('copyright') %}
|
||||||
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}"/>
|
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
|
||||||
{%- endif %}
|
|
||||||
<link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}"/>
|
|
||||||
{%- if parents %}
|
|
||||||
<link rel="up" title="{{ parents[-1].title|striptags|e }}" href="{{ parents[-1].link|e }}"/>
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if next %}
|
{%- if next %}
|
||||||
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}"/>
|
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if prev %}
|
{%- if prev %}
|
||||||
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}"/>
|
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endblock %}
|
{%- endblock %}
|
||||||
{%- block extrahead %} {% endblock %}
|
{%- block extrahead %} {% endblock %}
|
||||||
@ -86,7 +80,7 @@
|
|||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav" role="document">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
{% block extrabody %} {% endblock %}
|
{% block extrabody %} {% endblock %}
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
@ -105,7 +99,7 @@
|
|||||||
|
|
||||||
{% if logo %}
|
{% if logo %}
|
||||||
{# Not strictly valid HTML, but it's the only way to display/scale it properly, without weird scripting or heaps of work #}
|
{# 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" />
|
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" alt="Logo"/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
@ -152,7 +146,7 @@
|
|||||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||||
|
|
||||||
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
|
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
|
||||||
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
<nav class="wy-nav-top" aria-label="top navigation">
|
||||||
{% block mobile_nav %}
|
{% block mobile_nav %}
|
||||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
|
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
|
||||||
@ -209,14 +203,15 @@
|
|||||||
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
|
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{# STICKY NAVIGATION #}
|
|
||||||
{% if theme_sticky_navigation|tobool %}
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.StickyNav.enable();
|
{% if theme_sticky_navigation|tobool %}
|
||||||
|
SphinxRtdTheme.Navigation.enableSticky();
|
||||||
|
{% else %}
|
||||||
|
SphinxRtdTheme.Navigation.enable();
|
||||||
|
{% endif %}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{%- block footer %} {% endblock %}
|
{%- block footer %} {% endblock %}
|
||||||
|
|
||||||
|
@ -1,2 +1 @@
|
|||||||
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../fonts/fontawesome-webfont.eot");src:url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff") format("woff"),url("../fonts/fontawesome-webfont.ttf") format("truetype"),url("../fonts/fontawesome-webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
|
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../fonts/fontawesome-webfont.eot");src:url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff") format("woff"),url("../fonts/fontawesome-webfont.ttf") format("truetype"),url("../fonts/fontawesome-webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
|
||||||
/*# sourceMappingURL=badge_only.css.map */
|
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"mappings": "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",
|
|
||||||
"sources": ["../../../bower_components/wyrm/sass/wyrm_core/_mixin.sass","../../../bower_components/bourbon/dist/css3/_font-face.scss","../../../sass/_theme_badge_fa.sass","../../../sass/_theme_badge.sass","../../../bower_components/wyrm/sass/wyrm_core/_wy_variables.sass","../../../sass/_theme_variables.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_media.scss"],
|
|
||||||
"names": [],
|
|
||||||
"file": "badge_only.css"
|
|
||||||
}
|
|
@ -16,17 +16,22 @@ function ThemeNav () {
|
|||||||
isRunning: false
|
isRunning: false
|
||||||
};
|
};
|
||||||
|
|
||||||
nav.enable = function () {
|
nav.enable = function (withStickyNav) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
if (!self.isRunning) {
|
if (self.isRunning) {
|
||||||
self.isRunning = true;
|
// Only allow enabling nav logic once
|
||||||
jQuery(function ($) {
|
return;
|
||||||
self.init($);
|
}
|
||||||
|
|
||||||
self.reset();
|
self.isRunning = true;
|
||||||
self.win.on('hashchange', self.reset);
|
jQuery(function ($) {
|
||||||
|
self.init($);
|
||||||
|
|
||||||
|
self.reset();
|
||||||
|
self.win.on('hashchange', self.reset);
|
||||||
|
|
||||||
|
if (withStickyNav) {
|
||||||
// Set scroll monitor
|
// Set scroll monitor
|
||||||
self.win.on('scroll', function () {
|
self.win.on('scroll', function () {
|
||||||
if (!self.linkScroll) {
|
if (!self.linkScroll) {
|
||||||
@ -36,18 +41,23 @@ function ThemeNav () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Set resize monitor
|
// Set resize monitor
|
||||||
self.win.on('resize', function () {
|
self.win.on('resize', function () {
|
||||||
if (!self.winResize) {
|
if (!self.winResize) {
|
||||||
self.winResize = true;
|
self.winResize = true;
|
||||||
requestAnimationFrame(function() { self.onResize(); });
|
requestAnimationFrame(function() { self.onResize(); });
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
self.onResize();
|
|
||||||
});
|
});
|
||||||
};
|
|
||||||
|
self.onResize();
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
nav.enableSticky = function() {
|
||||||
|
this.enable(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
nav.init = function ($) {
|
nav.init = function ($) {
|
||||||
@ -80,9 +90,16 @@ function ThemeNav () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Make tables responsive
|
// Make tables responsive
|
||||||
$("table.docutils:not(.field-list)")
|
$("table.docutils:not(.field-list,.footnote,.citation)")
|
||||||
.wrap("<div class='wy-table-responsive'></div>");
|
.wrap("<div class='wy-table-responsive'></div>");
|
||||||
|
|
||||||
|
// Add extra class to responsive tables that contain
|
||||||
|
// footnotes or citations so that we can target them for styling
|
||||||
|
$("table.docutils.footnote")
|
||||||
|
.wrap("<div class='wy-table-responsive footnote'></div>");
|
||||||
|
$("table.docutils.citation")
|
||||||
|
.wrap("<div class='wy-table-responsive citation'></div>");
|
||||||
|
|
||||||
// Add expand links to all parents of nested ul
|
// Add expand links to all parents of nested ul
|
||||||
$('.wy-menu-vertical ul').not('.simple').siblings('a').each(function () {
|
$('.wy-menu-vertical ul').not('.simple').siblings('a').each(function () {
|
||||||
var link = $(this);
|
var link = $(this);
|
||||||
@ -170,7 +187,7 @@ function ThemeNav () {
|
|||||||
module.exports.ThemeNav = ThemeNav();
|
module.exports.ThemeNav = ThemeNav();
|
||||||
|
|
||||||
if (typeof(window) != 'undefined') {
|
if (typeof(window) != 'undefined') {
|
||||||
window.SphinxRtdTheme = { StickyNav: module.exports.ThemeNav };
|
window.SphinxRtdTheme = { Navigation: module.exports.ThemeNav };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
10
tox.ini
@ -1,5 +1,5 @@
|
|||||||
[tox]
|
[tox]
|
||||||
envlist = py{27,34,35,36}-sphinx{13,14,15}
|
envlist = py{27,34,35,36}-sphinx{13,14,15,16}, docs
|
||||||
|
|
||||||
[tox:travis]
|
[tox:travis]
|
||||||
2.7 = py27-sphinx{13,14,15}
|
2.7 = py27-sphinx{13,14,15}
|
||||||
@ -17,5 +17,13 @@ deps =
|
|||||||
sphinx13: Sphinx < 1.4
|
sphinx13: Sphinx < 1.4
|
||||||
sphinx14: Sphinx < 1.5
|
sphinx14: Sphinx < 1.5
|
||||||
sphinx15: Sphinx < 1.6
|
sphinx15: Sphinx < 1.6
|
||||||
|
sphinx16: Sphinx < 1.7
|
||||||
commands =
|
commands =
|
||||||
py.test {posargs}
|
py.test {posargs}
|
||||||
|
|
||||||
|
[testenv:docs]
|
||||||
|
changedir = {toxinidir}/docs
|
||||||
|
deps =
|
||||||
|
-r{toxinidir}/docs/requirements.txt
|
||||||
|
commands =
|
||||||
|
sphinx-build -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
|
||||||
|