The Nefertiti for Sphinx theme.
Project description
Nefertiti for Sphinx 
Nefertiti is a theme for Sphinx that features:
- Responsive design, based on Bootstrap 5.3.
- Text input field to filter the index.
- Font configuration compliant with EU's GDPR.
- Different fonts can be used for different elements.
- Light and dark color schemes, for normal text and code highlighted with Pygments styles.
- Images that switch between color schemes. Released as sphinx-colorschemed-images.
- Diverse color sets are available: blue, indigo, purple, pink, red, orange, yellow, ...
- Header and footer links. Header links can be grouped in dropdown elements.
- Optional highlighting of the project repository in the header.
- Optional project version selector in the header.
- Back-to-top button.
See it in action in sphinx-themes.org.
Tested
- Tested against Sphinx 7.3, 7.4, 8.0 and 8.1, see matrix python-sphinx.
- Tested with NodeJS v20, see javascript-tests.
Index filtering
By default the index shows the content folded. Opening or closing items is remembered while browsing the documentation. To quickly find items use the input filter. The filter will display items that could be invisible within a folded item. When the user types in the input field, let us say fo, the index gets filtered with all the entries that match those two characters. So the index will display three matches: Fonts, Footer links and Footnotes. Those three entries were all folded within their sections:
The TOC on the right side
The Table of Contents, displayed on the right side, spans itself to the right border of the browser to display long items, improving readability.
Other features
Nefertiti for Sphinx comes with the following color sets. Change between them using the attribute display of the html_theme_options setting.
In order to be compliant with EU's GDPR, Nefertiti for Sphinx comes bundled with a group of fonts licensed for free distribution. Adding more fonts is explained in the User's Guide:
- Assistant
- Exo
- Montserrat
- Mulish
- Nunito
- Open Sans
- Red Hat Display
- Sofia Sans
- Ubuntu Sans
- Varta
- Work Sans
- Fira Code (monospace)
- Red Hat Mono (monospace)
- Ubuntu Sans Mono (monospace)
Combine up to 5 different fonts:
html_theme_options = {
"sans_serif_font": "Nunito",
"documentation_font": "Open Sans",
"monospace_font": "Ubuntu Sans Mono",
"project_name_font": "Nunito",
"doc_headers_font": "Georgia",
"documentation_font_size": "1.2rem",
"monospace_font_size": "1.1rem",
}
To use it
Install the package from PyPI:
pip install sphinx-nefertiti
Edit the conf.py file of your Sphinx project and change the html_theme setting:
html_theme = "sphinx_nefertiti"
Now rebuild the docs and serve them to get a first glimpse of your site made up with Nefertiti for Sphinx. It has many customizable options worth to explore. You might want to continue reading the customization section of the docs.
To develop it
Clone the Git repository, create a Python virtual environment, and install the NodeJS packages:
git clone git@github.com:danirus/sphinx-nefertiti.git
cd sphinx-nefertiti
python3.12 -m venv venv
source venv/bin/activate
pip install -e .
nvm use --lts
npm install
Before contributing, please, install the pre-commit hook scripts:
pre-commit install
There are a comprehensive number of scripts in the package.json. Beyond them there is a Makefile that saves time when building the CSS and JavaScript bundles to deliver them within the Python package of the theme.
Further read the following sections:
License
Project distributed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sphinx_nefertiti-0.9.5.tar.gz.
File metadata
- Download URL: sphinx_nefertiti-0.9.5.tar.gz
- Upload date:
- Size: 9.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a12614d7b2b7aec6c7a2ff8cb97f8b215bf41908415348f582c7cb64b432928
|
|
| MD5 |
1b705dd4243383fe24c022d45cb43544
|
|
| BLAKE2b-256 |
388558f442c6e33281fecb8087c78e3168dcb38c83ad1723f4664e5059264774
|
File details
Details for the file sphinx_nefertiti-0.9.5-py3-none-any.whl.
File metadata
- Download URL: sphinx_nefertiti-0.9.5-py3-none-any.whl
- Upload date:
- Size: 9.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d49036bd74f92439bd9a66d5ac04f59fd4ed83091fbbdb56f20155d1f5e57f4
|
|
| MD5 |
a6928fa9371fb138c55ac1bf90555315
|
|
| BLAKE2b-256 |
c2a193ab15fa5ce6b5e0b2c2ff558106d305ca96cc83960bb38bae06ea7f0960
|