diff --git a/.travis.yml b/.travis.yml index abdeb386..2ed49b7f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,8 +4,16 @@ python: - 3.4 - 3.5 - 3.6 +matrix: + include: + - python: 2.7 + env: TOXENV=docs sudo: false install: - pip install tox-travis script: - tox + +branches: + only: + - master diff --git a/Gruntfile.js b/Gruntfile.js index cbbfd7b8..99fde4e9 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -14,7 +14,7 @@ module.exports = function(grunt) { server: { options: { port: 1919, - base: 'demo_docs/build', + base: 'docs/build', livereload: true } } @@ -111,18 +111,39 @@ module.exports = function(grunt) { 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: { bower_update: { cmd: 'bower update' }, build_sphinx: { - cmd: 'sphinx-build demo_docs/source demo_docs/build' + cmd: 'sphinx-build docs/ docs/build' } }, clean: { - build: ["demo_docs/build"], - fonts: ["sphinx_rtd_theme/static/fonts"] + build: ["docs/build"], + 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: { @@ -133,7 +154,7 @@ module.exports = function(grunt) { }, /* Changes in theme dir rebuild 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'] }, /* JavaScript */ @@ -141,9 +162,9 @@ module.exports = function(grunt) { files: ['js/*.js'], tasks: ['browserify:dev'] }, - /* live-reload the demo_docs if sphinx re-builds */ + /* live-reload the docs if sphinx re-builds */ livereload: { - files: ['demo_docs/build/**/*'], + files: ['docs/build/**/*'], options: { livereload: true } } } @@ -159,7 +180,6 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-open'); grunt.loadNpmTasks('grunt-browserify'); - grunt.registerTask('fonts', ['clean:fonts','copy:fonts']); - 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:build','sass:build','browserify:build','exec:build_sphinx']); + grunt.registerTask('default', ['exec:bower_update','clean','copy:fonts','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']); } diff --git a/README.rst b/README.rst index 140f0c04..2162a120 100644 --- a/README.rst +++ b/README.rst @@ -6,7 +6,7 @@ .. _wyrm: http://www.github.com/snide/wyrm/ .. _grunt: http://www.gruntjs.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 .. 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 :target: https://pypi.python.org/pypi/sphinx_rtd_theme/ :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 ************************** .. contents:: + :backlinks: none 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, rather than the .css files on checked into the repo. -.. image:: demo_docs/source/static/screen_mobile.png - :width: 100% - Installation ============ diff --git a/bower.json b/bower.json index c0c8cd99..8bf7fe06 100644 --- a/bower.json +++ b/bower.json @@ -12,7 +12,6 @@ ], "ignore": [ "docs", - "demo_docs", ".gitignore", ".DS_Store", ".sass-cache*", diff --git a/demo_docs/Makefile b/demo_docs/Makefile deleted file mode 100644 index 8c907fd4..00000000 --- a/demo_docs/Makefile +++ /dev/null @@ -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 ' where 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." diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 00000000..90e84f77 --- /dev/null +++ b/docs/Makefile @@ -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) diff --git a/demo_docs/source/conf.py b/docs/conf.py similarity index 94% rename from demo_docs/source/conf.py rename to docs/conf.py index c4204e69..fc97c3d7 100644 --- a/demo_docs/source/conf.py +++ b/docs/conf.py @@ -14,8 +14,11 @@ import sys 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, # add these directories to sys.path here. If the directory is relative to the @@ -36,8 +39,8 @@ extensions = [ 'sphinxcontrib.httpdomain', ] -# Math -mathjax_path = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" +# Do not warn about external images (status badges in README.rst) +suppress_warnings = ['image.nonlocal_uri'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -52,17 +55,17 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = u'Sphinx RTD theme demo' -copyright = u'2013, Dave Snider' +project = u'Read the Docs Sphinx Theme' +copyright = u'Read the Docs, Inc & contributors' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '0.2.4' +version = __version__ # The full version, including alpha/beta/rc tags. -release = '0.2.4' +release = __version__ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -93,7 +96,7 @@ exclude_patterns = [] #show_authors = False # 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. #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 # 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 # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 diff --git a/demo_docs/source/api.rst b/docs/demo/api.rst similarity index 100% rename from demo_docs/source/api.rst rename to docs/demo/api.rst diff --git a/demo_docs/source/demo.rst b/docs/demo/demo.rst similarity index 100% rename from demo_docs/source/demo.rst rename to docs/demo/demo.rst diff --git a/demo_docs/source/index.rst b/docs/demo/index.rst similarity index 81% rename from demo_docs/source/index.rst rename to docs/demo/index.rst index c439b2cf..1c85869f 100644 --- a/demo_docs/source/index.rst +++ b/docs/demo/index.rst @@ -1,7 +1,5 @@ - -***************************** -Read the Docs Theme Demo Docs -***************************** +Read the Docs Theme Demo +************************ These documents are used to test and stress test the Read the Docs Theme. diff --git a/demo_docs/source/lists_tables.rst b/docs/demo/lists_tables.rst similarity index 100% rename from demo_docs/source/lists_tables.rst rename to docs/demo/lists_tables.rst diff --git a/demo_docs/source/long.rst b/docs/demo/long.rst similarity index 100% rename from demo_docs/source/long.rst rename to docs/demo/long.rst diff --git a/demo_docs/source/static/logo-wordmark-light.svg b/docs/demo/static/logo-wordmark-light.svg similarity index 100% rename from demo_docs/source/static/logo-wordmark-light.svg rename to docs/demo/static/logo-wordmark-light.svg diff --git a/demo_docs/source/static/screen_desktop.png b/docs/demo/static/screen_desktop.png similarity index 100% rename from demo_docs/source/static/screen_desktop.png rename to docs/demo/static/screen_desktop.png diff --git a/demo_docs/source/static/screen_mobile.png b/docs/demo/static/screen_mobile.png similarity index 100% rename from demo_docs/source/static/screen_mobile.png rename to docs/demo/static/screen_mobile.png diff --git a/demo_docs/source/static/yi_jing_01_chien.jpg b/docs/demo/static/yi_jing_01_chien.jpg similarity index 100% rename from demo_docs/source/static/yi_jing_01_chien.jpg rename to docs/demo/static/yi_jing_01_chien.jpg diff --git a/demo_docs/source/structure.rst b/docs/demo/structure.rst similarity index 100% rename from demo_docs/source/structure.rst rename to docs/demo/structure.rst diff --git a/demo_docs/source/test_py_module/__init__.py b/docs/demo/test_py_module/__init__.py similarity index 100% rename from demo_docs/source/test_py_module/__init__.py rename to docs/demo/test_py_module/__init__.py diff --git a/demo_docs/source/test_py_module/test.py b/docs/demo/test_py_module/test.py similarity index 100% rename from demo_docs/source/test_py_module/test.py rename to docs/demo/test_py_module/test.py diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 00000000..27bfdb75 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,13 @@ + +.. include:: ../README.rst + +Content +======= + +.. toctree:: + :caption: Theme + +.. toctree:: + :caption: Demo + + demo/index diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 00000000..7283b7d1 --- /dev/null +++ b/docs/make.bat @@ -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 diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..41afd03c --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,2 @@ +sphinxcontrib.httpdomain +sphinx diff --git a/js/theme.js b/js/theme.js index 9fb32829..825ac3eb 100644 --- a/js/theme.js +++ b/js/theme.js @@ -15,17 +15,22 @@ function ThemeNav () { isRunning: false }; - nav.enable = function () { + nav.enable = function (withStickyNav) { var self = this; - if (!self.isRunning) { - self.isRunning = true; - jQuery(function ($) { - self.init($); + if (self.isRunning) { + // Only allow enabling nav logic once + return; + } - self.reset(); - self.win.on('hashchange', self.reset); + self.isRunning = true; + jQuery(function ($) { + self.init($); + self.reset(); + self.win.on('hashchange', self.reset); + + if (withStickyNav) { // Set scroll monitor self.win.on('scroll', function () { if (!self.linkScroll) { @@ -35,18 +40,23 @@ function ThemeNav () { } } }); + } - // Set resize monitor - self.win.on('resize', function () { - if (!self.winResize) { - self.winResize = true; - requestAnimationFrame(function() { self.onResize(); }); - } - }); - - self.onResize(); + // Set resize monitor + self.win.on('resize', function () { + if (!self.winResize) { + self.winResize = true; + requestAnimationFrame(function() { self.onResize(); }); + } }); - }; + + self.onResize(); + }); + + }; + + nav.enableSticky = function() { + this.enable(true); }; nav.init = function ($) { @@ -104,36 +114,40 @@ function ThemeNav () { nav.reset = function () { // Get anchor from URL and open up nested nav - var anchor = encodeURI(window.location.hash); - if (anchor) { - try { - var link = $('.wy-menu-vertical') - .find('[href="' + anchor + '"]'); - // If we didn't find a link, it may be because we clicked on - // something that is not in the sidebar (eg: when using - // sphinxcontrib.httpdomain it generates headerlinks but those - // aren't picked up and placed in the toctree). So let's find - // the closest header in the document and try with that one. - if (link.length === 0) { - var doc_link = $('.document a[href="' + anchor + '"]'); - var closest_section = doc_link.closest('div.section'); - // Try again with the closest section entry. - link = $('.wy-menu-vertical') - .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'); - } + var anchor = encodeURI(window.location.hash) || '#'; + + try { + var link = $('.wy-menu-vertical') + .find('[href="' + anchor + '"]'); + // If we didn't find a link, it may be because we clicked on + // something that is not in the sidebar (eg: when using + // sphinxcontrib.httpdomain it generates headerlinks but those + // aren't picked up and placed in the toctree). So let's find + // the closest header in the document and try with that one. + if (link.length === 0) { + var doc_link = $('.document a[href="' + anchor + '"]'); + var closest_section = doc_link.closest('div.section'); + // Try again with the closest section entry. + link = $('.wy-menu-vertical') + .find('[href="#' + closest_section.attr("id") + '"]'); } - catch (err) { - console.log("Error expanding nav for anchor", err); + // If we found a matching link then reset current and re-apply + // 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 () { @@ -176,7 +190,7 @@ function ThemeNav () { module.exports.ThemeNav = ThemeNav(); if (typeof(window) != 'undefined') { - window.SphinxRtdTheme = { StickyNav: module.exports.ThemeNav }; + window.SphinxRtdTheme = { Navigation: module.exports.ThemeNav }; } diff --git a/package.json b/package.json index 0f198ceb..9cb62f44 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sphinx_rtd_theme", - "version": "0.0.11", + "version": "0.2.5b2", "private": true, "dependencies": {}, "devDependencies": { @@ -11,7 +11,8 @@ "grunt-contrib-clean": "^1.0.0", "grunt-contrib-connect": "^1.0.2", "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-exec": "~1.0.1", "grunt-open": "0.2.3", diff --git a/sass/_theme_layout.sass b/sass/_theme_layout.sass index 626d1f45..895c8537 100644 --- a/sass/_theme_layout.sass +++ b/sass/_theme_layout.sass @@ -78,8 +78,6 @@ position: relative background: $menu-vertical-background-color 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 +font-smooth &:hover @@ -94,6 +92,10 @@ line-height: 1.6em 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 li.toctree-l1.current li.toctree-l2, li.toctree-l2.current li.toctree-l3 > ul @@ -123,8 +125,6 @@ display: block background: darken($menu-vertical-background-color, 25%) padding: $gutter / 4 $gutter * 3.5 - border-top: none - border-bottom: none a:hover span.toctree-expand color: $menu-link-medium span.toctree-expand @@ -247,9 +247,7 @@ .wy-body-for-nav - background: left repeat-y $section-background-color - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC) - background-size: $nav-desktop-width 1px + background: $section-background-color .wy-grid-for-nav position: absolute diff --git a/sass/_theme_rst.sass b/sass/_theme_rst.sass index e3b374ed..ca7d2a22 100644 --- a/sass/_theme_rst.sass +++ b/sass/_theme_rst.sass @@ -19,13 +19,12 @@ max-width: 100% height: auto - .highlight > pre, .linenodiv > pre - line-height: normal - div.figure margin-bottom: $base-line-height p.caption font-style: italic + p:last-child.caption + margin-bottom: 0px div.figure.align-center text-align: center @@ -53,8 +52,39 @@ margin-left: $base-line-height line-height: $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 .note, .attention, .caution, .danger, .error, .hint, .important, .tip, .warning, .seealso, .admonition-todo, .admonition @extend .wy-alert @@ -161,7 +191,10 @@ // These are the little citation links [1] that show up within paragraphs. .footnote-reference, .citation-reference - vertical-align: super + vertical-align: baseline + position: relative + top: -0.4em + line-height: 0 font-size: 90% // Tables! Sphinx LOVES TABLES. Most of wyrm assumes you're only going to use a table as a table diff --git a/sass/theme.sass b/sass/theme.sass index c7322b74..5ae5a075 100644 --- a/sass/theme.sass +++ b/sass/theme.sass @@ -40,10 +40,6 @@ @import wyrm_core/table @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. @import theme_breadcrumbs @import theme_layout diff --git a/sphinx_rtd_theme/layout.html b/sphinx_rtd_theme/layout.html index 965cc45c..2478c009 100644 --- a/sphinx_rtd_theme/layout.html +++ b/sphinx_rtd_theme/layout.html @@ -55,28 +55,22 @@ {%- block linktags %} {%- if hasdoc('about') %} - + {%- endif %} {%- if hasdoc('genindex') %} - + {%- endif %} {%- if hasdoc('search') %} - + {%- endif %} {%- if hasdoc('copyright') %} - - {%- endif %} - - {%- if parents %} - + {%- endif %} {%- if next %} - + {%- endif %} {%- if prev %} - + {%- endif %} {%- endblock %} {%- block extrahead %} {% endblock %} @@ -86,7 +80,7 @@ - + {% block extrabody %} {% endblock %}
@@ -105,7 +99,7 @@ {% if logo %} {# Not strictly valid HTML, but it's the only way to display/scale it properly, without weird scripting or heaps of work #} - + {% endif %} @@ -152,7 +146,7 @@
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #} -