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

DOC: Add theme switcher and default to lightmode. #414

Merged
merged 4 commits into from Jul 7, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 10 additions & 1 deletion doc/conf.py
Expand Up @@ -83,8 +83,17 @@
html_theme_options = {
"github_url": "https://github.com/numpy/numpydoc",
"show_prev_next": False,
"navbar_end": ["theme-switcher", "search-field.html", "navbar-icon-links.html"],
"navbar_end": ["search-field.html", "navbar-icon-links.html"],
}
# Add version switcher for versions of pydata_sphinx_theme that support it
import packaging
import pydata_sphinx_theme

if packaging.version.parse(pydata_sphinx_theme.__version__) >= packaging.version.parse(
"0.9.0"
):
Comment on lines +96 to +98
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the conf.py for our own docs (i.e., won't affect end users, just our own internal doc builds + deployment), so I'd rather just require 0.9.0+ from now on. WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is (I think) we use the doc build in CI as an extra set of testing, which is why I did the pinning (annoyingly) in the doc conf.

I'll try just pinning in the doc requirements - if that doesn't require a bunch of CI overhaul then I'll stick with that!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, the failing CI confirms my suspicions. The potential solutions that come to mind are:

  1. Handle the pinning/version checking dynamically in the conf.py as 26caf95 does
  2. Remove the jobs that build the documentation as part of the tests in CI

Other ideas? Of those two, I prefer the first as doc builds in CI can in principle help catch issues that are not explicitly covered by unit tests.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah the way you had it before is fine, I forgot about needing to stay compatible with older Sphinx etc.

html_theme_options["navbar_end"].insert(0, "theme-switcher")

html_sidebars = {
"**": [],
}
Expand Down