sphinx-contrib / sphinxcontrib-versioning

Sphinx extension that allows building versioned docs for self-hosting.
https://sphinxcontrib-versioning.readthedocs.io/en/latest/
MIT License
125 stars 81 forks source link

Sphinx 1.6.1 compatibility #39

Open zegkljan opened 7 years ago

zegkljan commented 7 years ago

Yesterday, on May 16th, sphinx 1.6.1 was released. sphixcontrib-versioning does not work with that version of sphinx, since the StandaloneHTMLBuilder does not have the default_sidebars attribute anymore, so it fails on AttributeError:

=> Pre-running Sphinx to collect versions' master_doc and other info.
Running Sphinx v1.6.1
loading translations [cs]... done
loading pickled environment... not yet created

Exception occurred:
  File "/home/zegklitz/sandbox/sphinxversioning-env/lib/python3.5/site-packages/sphinxcontrib/versioning/sphinx_.py", line 60, in builder_inited
    app.config.html_sidebars['**'] = StandaloneHTMLBuilder.default_sidebars + ['versions.html']
AttributeError: type object 'StandaloneHTMLBuilder' has no attribute 'default_sidebars'
The full traceback has been saved in /tmp/sphinx-err-hnfq1qko.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
Process Process-1:
Traceback (most recent call last):
  File "/usr/lib/python3.5/multiprocessing/process.py", line 249, in _bootstrap
    self.run()
  File "/usr/lib/python3.5/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/home/zegklitz/sandbox/sphinxversioning-env/lib/python3.5/site-packages/sphinxcontrib/versioning/sphinx_.py", line 204, in _build
    raise SphinxError
sphinx.errors.SphinxError
=> sphinx-build failed for branch/tag: feature/sdgraph2
Failure.

There are probably more things that went off-rails, this is just the first one that comes up. It works with sphinx 1.5.6 just fine.

The best option would be to make it compatible with 1.6.1. But, fixing it or not, it would be wise to indicate with which sphinx versions does sphinxcontrib-versioning work. It took me quite a lot of digging in the sphinx files and changelogs until I found the source of the issue.

Lingnik commented 6 years ago

46