A modern Sphinx documentation theme with Tailwind CSS and Alpine.js
Project description
Sphinx Lumina Theme
A modern Sphinx theme that treats documentation as a first-class product experience. Clean typography, responsive layout, dark mode, and instant search — out of the box.
Features
- Dark mode — follows system preference with manual toggle, no flash of unstyled content
- Instant search — Pagefind-powered search with keyboard navigation (
⌘K) - Responsive layout — mobile-first with collapsible sidebar and sticky table of contents
- MyST Markdown — write docs in Markdown with full Sphinx directive support
- Interactive HTTP API — OpenAPI endpoint docs with live "Try it out" panels and curl copy buttons; no Swagger UI needed
- Code blocks — syntax highlighting with one-click copy
- Self-hosted fonts — Source Sans 3 and JetBrains Mono, no external CDN calls
- Version switcher — dropdown to navigate between documentation versions, loaded from a JSON URL
- Customizable — accent colors, navigation links, social links, and more via
conf.py
Quick Start
Requires Python 3.12+ and Sphinx 8.0+.
pip install sphinx-lumina-theme
or with uv:
uv add sphinx-lumina-theme
Set the theme in your conf.py:
html_theme = "lumina"
Build your docs:
uv run sphinx-build docs docs/_build/html
That's it. For MyST Markdown setup and configuration options, see the Getting Started guide.
Configuration
All options go in html_theme_options in your conf.py. Every option has a sensible default — you only need to set what you want to change.
html_theme_options = {
"accent_color": "#10b981",
"dark_mode_default": "auto", # "auto", "light", or "dark"
"nav_links": "Guide=/guide, API=/api",
"source_repository": "https://github.com/you/your-repo",
"social_links": "github=https://github.com/you",
"api_base_url": "https://api.example.com/v1", # enables interactive API features
}
See the full Configuration reference for all available options.
Development
git clone https://github.com/r4sky0/sphinx-lumina-theme.git
cd sphinx-lumina-theme
pnpm install # JS dependencies
uv sync --dev # Python dependencies
pnpm run build # Build CSS + JS assets
uv run pytest # Run tests
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_lumina_theme-1.25.1.tar.gz.
File metadata
- Download URL: sphinx_lumina_theme-1.25.1.tar.gz
- Upload date:
- Size: 929.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb61ea5d8cab762d63b2e242ef811b323ec2af09ad63c6497b17afd169a65418
|
|
| MD5 |
e61e2c700ebc521f3f4ba8a946cf2d85
|
|
| BLAKE2b-256 |
8c554c79158644492343204227cc6cdd5cad81ffba645d3a3049c7eae033f6a2
|
Provenance
The following attestation bundles were made for sphinx_lumina_theme-1.25.1.tar.gz:
Publisher:
release.yml on r4sky0/sphinx-lumina-theme
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sphinx_lumina_theme-1.25.1.tar.gz -
Subject digest:
eb61ea5d8cab762d63b2e242ef811b323ec2af09ad63c6497b17afd169a65418 - Sigstore transparency entry: 1247392989
- Sigstore integration time:
-
Permalink:
r4sky0/sphinx-lumina-theme@8364262b1ec7642123babe30bcf47049510d90dc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/r4sky0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8364262b1ec7642123babe30bcf47049510d90dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file sphinx_lumina_theme-1.25.1-py3-none-any.whl.
File metadata
- Download URL: sphinx_lumina_theme-1.25.1-py3-none-any.whl
- Upload date:
- Size: 922.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a4c264025d4bcdf45d4fe07b3bcae01436404a7a57ce108816cc416dfe508ed
|
|
| MD5 |
dbc8ad8b75f7749628a163df2cfb804d
|
|
| BLAKE2b-256 |
be719d4640b43ae30e346af9631d926e46aa1d12c1b88c3a0cbf84af2353a682
|
Provenance
The following attestation bundles were made for sphinx_lumina_theme-1.25.1-py3-none-any.whl:
Publisher:
release.yml on r4sky0/sphinx-lumina-theme
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sphinx_lumina_theme-1.25.1-py3-none-any.whl -
Subject digest:
5a4c264025d4bcdf45d4fe07b3bcae01436404a7a57ce108816cc416dfe508ed - Sigstore transparency entry: 1247393012
- Sigstore integration time:
-
Permalink:
r4sky0/sphinx-lumina-theme@8364262b1ec7642123babe30bcf47049510d90dc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/r4sky0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8364262b1ec7642123babe30bcf47049510d90dc -
Trigger Event:
push
-
Statement type: