Skip to main content

A nice-looking, customizable Sphinx theme

Project description

Read the documentation

See a demo

What is this?

This is a modified version of the default Sphinx theme with the following goals:

  1. Remove frivolous colors, especially hard-coded ones

  2. Improve readability by limiting width and using more whitespace

  3. Encourage visual customization through CSS, not themeconf

  4. Use semantic markup

v0.1 meets goals one and two. Goal three is partially complete; it’s simple to add your own CSS file without creating a whole new theme. Open a ticket if you’d like something changed.

Compatibility

sphinx-better-theme is compatible with Sphinx 0.6.4+ and Jinja 2.3.1+. Older versions may work but have not been tested.

Installation

Method 1: Adding to your source tree

This method is preferred due to the frequency with which sphinx-better-theme is improved.

  1. Put the theme in your source tree. If you use git, you can add sphinx-better-theme’s repository as a submodule. Otherwise you can download the zip file and expand it somewhere predictable. Here’s an example using git:

    > git submodule add \
        https://github.com/irskep/sphinx-better-theme.git \
        docs/sphinx-better-theme
    > git submodule update --init
  1. Add the parent folder of the theme to your conf.py. If you use the folder structure in the block above, you’d do it like this:

    html_theme_path = ['sphinx-better-theme']

    (because the theme path is sphinx-better-theme/better.)

  2. Set html_theme to 'better' in your conf.py.

Method 2: Installing to site-packages

If adding the theme to your source tree is impractical, if you need to share it among several repositories, or if you prefer a more serene frequency of updates, you can install it like a regular Python package.

Download the zip file and run the usual command:

> python setup.py install

Or install from PyPI:

> pip install sphinx-better-theme

To use the theme, set html_theme_path to contain better.better_theme_path, and set html_theme to 'better':

from better import better_theme_path
html_theme_path = [better_theme_path]
html_theme = 'better'

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page