Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Update #1

Closed
wants to merge 1 commit into from
Closed

Initial Update #1

wants to merge 1 commit into from

Conversation

pyup-bot
Copy link

@pyup-bot pyup-bot commented Sep 8, 2017

This is my first visit to this fine repo so I have bundled all updates in a single pull request to make things easier for you to merge.

Close this pull request and delete the branch if you want me to start with single pull requests right away

Here's the executive summary:

Updates

Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.

sphinx-rtd-theme 0.2.4 » 0.2.4 PyPI | Changelog | Repo

Changelogs

sphinx-rtd-theme -> 0.2.4

0.2.4


  • Yet another patch to deal with extra builders outside Spinx, such as the
    singlehtml builders from the Read the Docs Sphinx extension

0.2.3


  • Temporarily patch Sphinx issue with singlehtml builder by inspecting the
    builder in template.

0.2.2


  • Roll back toctree fix in 0.2.1 (367). This didn't fix the issue and
    introduced another bug with toctrees display.

0.2.1


  • Add the rel HTML attribute to the footer links which point to
    the previous and next pages.
  • Fix toctree issue caused by Sphinx singlehtml builder (367)

0.2.0


  • Adds the comments block after the body block in the template
  • Added "Edit on GitLab" support
  • Many bug fixes

0.1.10alpha


.. note::
This is a pre-release version

  • Removes Sphinx dependency
  • Fixes hamburger on mobile display
  • Adds a body_begin block to the template
  • Add prev_next_buttons_location which can take the value bottom,
    top, both , None and will display the "Next" and "Previous"
    buttons accordingly

0.1.9


  • Intermittent scrollbar visibility bug fixed. This change introduces a
    backwards incompatible change to the theme's layout HTML. This should only be
    a problem for derivative themes that have overridden styling of nav elements
    using direct decendant selectors. See 215_ for more information.
  • Safari overscroll bug fixed
  • Version added to the nav header
  • Revision id was added to the documentation footer if you are using RTD
  • An extra block, extrafooter was added to allow extra content in the
    document footer block
  • Fixed modernizr URL
  • Small display style changes on code blocks, figure captions, and nav elements

.. _215: readthedocs/sphinx_rtd_theme#215

0.1.8


  • Start keeping changelog :)
  • Support for third and fourth level headers in the sidebar
  • Add support for Sphinx 1.3
  • Add sidebar headers for :caption: in Sphinx toctree
  • Clean up sidebar scrolling behavior so it never scrolls out of view

How the Table of Contents builds

Currently the left menu will build based upon any toctree(s) defined in your index.rst file.
It outputs 2 levels of depth, which should give your visitors a high level of access to your
docs. If no toctrees are set the theme reverts to sphinx's usual local toctree.

It's important to note that if you don't follow the same styling for your rST headers across
your documents, the toctree will misbuild, and the resulting menu might not show the correct
depth when it renders.

Also note that the table of contents is set with includehidden=true. This allows you
to set a hidden toc in your index file with the hidden_ property that will allow you
to build a toc without it rendering in your index.

By default, the navigation will "stick" to the screen as you scroll. However if your toc
is vertically too large, it will revert to static positioning. To disable the sticky nav
altogether change the setting in conf.py.

Contributing or modifying the theme

The sphinx_rtd_theme is primarily a sass_ project that requires a few other sass libraries. I'm
using bower_ to manage these dependencies and sass_ to build the css. The good news is
I have a very nice set of grunt_ operations that will not only load these dependencies, but watch
for changes, rebuild the sphinx demo docs and build a distributable version of the theme.
The bad news is this means you'll need to set up your environment similar to that
of a front-end developer (vs. that of a python developer). That means installing node and ruby.

Set up your environment

  1. Install sphinx_ into a virtual environment.

.. code::

pip install sphinx

  1. Install sass

.. code::

gem install sass

  1. Install node, bower and grunt.

.. code::

// Install node
brew install node

// Install bower and grunt
npm install -g bower grunt-cli

// Now that everything is installed, let's install the theme dependecies.
npm install

Now that our environment is set up, make sure you're in your virtual environment, go to
this repository in your terminal and run grunt:

.. code::

grunt

This default task will do the following very cool things that make it worth the trouble.

  1. It'll install and update any bower dependencies.
  2. It'll run sphinx and build new docs.
  3. It'll watch for changes to the sass files and build css from the changes.
  4. It'll rebuild the sphinx docs anytime it notices a change to .rst, .html, .js
    or .css files.

Before you create an issue

I don't have a lot of time to maintain this project due to other responsibilities.
I know there are a lot of Python engineers out there that can't code sass / css and
are unable to submit pull requests. That said, submitting random style bugs without
at least providing sample documentation that replicates your problem is a good
way for me to ignore your request. RST unfortunately can spit out a lot of things
in a lot of ways. I don't have time to research your problem for you, but I do
have time to fix the actual styling issue if you can replicate the problem for me.

Releasing the Theme

When you release a new version,
you should do the following:

  • Bump the version in sphinx_rtd_theme/__init__.py - we try to follow semver <http://semver.org/>_, so be careful with breaking changes.
  • Run a grunt build to rebuild all the theme assets.
  • Commit that change
  • Tag the release in git: git tag $NEW_VERSION.
  • Push the tag to GitHub: git push --tags origin
  • Upload the package to PyPI: python setup.py sdist bdist_wheel upload
  • In the readthedocs.org repo, edit the bower.json file to point at the correct version (sphinx-rtd-theme": "https://github.com/rtfd/sphinx-rtd-theme.git$NEW_VERSION")
  • In the readthedocs.org repo, run gulp build to update the distributed theme files

TODO

  • Separate some sass variables at the theme level so you can overwrite some basic colors.

Once you have closed this pull request, I'll create separate pull requests for every update as soon as I find them.

That's it for now!

Happy merging! 🤖

@dethos dethos closed this Sep 15, 2017
@dethos dethos deleted the pyup-initial-update branch September 15, 2017 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants