The JupyterHub Documentation Theme
A lightweight theme built on the PyData Sphinx Theme, for use by the JupyterHub community.
It makes minimal changes to the pydata-sphinx-theme in order to standardize styles and a top-bar that can be shared across all JupyterHub documentation.
Defaults this theme sets
This theme sets a few default values to standardize the look and feel across JupyterHub documentation.
If there are other standard features/customizations that would be helpful across the JupyterHub team documentation, we can probably add it here so please open an issue to discuss.
Here is a brief summary:
Style
- Sets the primary color to a slightly-darkened "Jupyter orange"
- Removes primary color from headers and makes them bold to be noticeable
- Aligns the header links to the left
Logo and branding
- Adds a light/dark mode JupyterHub logo
- Adds a favicon
- Adds icon links for our Discourse, Team Compass, and Jupyter.org
Extensions
sphinx-copybuttonfor copy buttons in our code cells.sphinxext-opengraphfor OpenGraph protocol metadata.site_urlwill automatically be detected viaReadTheDocsorGitHub Actionsenvironment variables in CI/CD.
How to use this theme
Follow these steps:
-
Add this theme to the
pipinstall requirements of the repo. For now, point it to themainbranch like so:# in requirements.txt git+https://github.com/jupyterhub/jupyterhub-sphinx-themeor to install locally
$ pip install git+https://github.com/jupyterhub/jupyterhub-sphinx-theme
-
Configure the Sphinx docs to use the theme by editing
conf.py:caption: conf.py html_theme = "jupyterhub_sphinx_theme"
-
Add it to your theme's extensions:
:caption: conf.py extensions = [ "jupyterhub_sphinx_theme" ]
Make customizations on top of these defaults
You can make customizations on top of the defaults in this theme. See the PyData theme documentation for guidance on what is possible.
In general, this theme only sets defaults, and you can override whatever you like.
Developer documentation
Theme build system
This theme uses the sphinx-theme-builder tool, which is a helper tool for automatically compiling Sphinx theme assets.
This will download a local copy of NodeJS and build the theme's assets with the environment specified in package.json.
Theme structure
This theme follows the sphinx-theme-builder filesystem layout.
Build the theme locally
You can build the documentation for this theme to preview it.
The easiest way to build the documentation in this repository is to use the nox automation tool, a tool for quickly building environments and running commands within them.
This ensures that your environment has all the dependencies needed to build the documentation.
To do so, follow these steps:
-
Install
nox$ pip install nox
-
Build the documentation:
$ nox -s docs
This should create a local environment in a .nox folder, build the documentation (as specified in the noxfile.py configuration), and the output will be in docs/_build/html.
To build live documentation that updates when you update local files, run the following command:
$ nox -s docs-live
Make a release
Follow the instructions in RELEASE.md
Metadata
Release files for jupyterhub-sphinx-theme 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jupyterhub_sphinx_theme-0.1.0.tar.gz | 30.9 kB | Without provenance | Details for jupyterhub_sphinx_theme-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jupyterhub_sphinx_theme-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for jupyterhub_sphinx_theme-0.1.0-py3-none-any.whl |
Total release size: 74.3 kB
Release files / jupyterhub_sphinx_theme-0.1.0.tar.gz
| Download URL | jupyterhub_sphinx_theme-0.1.0.tar.gz |
|---|---|
| Size | 30.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b2989c652fdcaba6bbb3941df16c26377caf94611d82c70e1ae845502ef1c10a
|
|
BLAKE2b-256 checksum How to use checksums |
9c5ddc42ebfa5a98efbb76bc329231dc302536664ddc9a5851381c4486ab333b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / jupyterhub_sphinx_theme-0.1.0-py3-none-any.whl
| Download URL | jupyterhub_sphinx_theme-0.1.0-py3-none-any.whl |
|---|---|
| Size | 43.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
08cf776cb81dc81a6ab67e6c2f79bb760872a0483bc21807282f51c899305f14
|
|
BLAKE2b-256 checksum How to use checksums |
d0a95277d22464c4558b34f79272d0481f97c5b03cdd2c858cd02e21262c2ef2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Security for jupyterhub-sphinx-theme 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.