Skip to main content

Adaptation of mkdocs-material theme for the Sphinx documentation system

Project description

MIT License PyPI Package CI status

This theme is an adaptation of the popular mkdocs-material theme for the Sphinx documentation tool.

This theme is regularly maintained to stay up to date with the upstream mkdocs-material repository. The HTML templates, JavaScript, and styles from the mkdocs-material theme are incoroprated directly with mostly minor modifications.

This theme is a fork of the sphinx-material theme, which proved the concept of a Sphinx theme based on an earlier version of the mkdocs-material theme, but has now significantly diverged from the upstream mkdocs-material repository.

See the TensorStore documentation for a demonstration of this theme.

WARNING: This theme is currently still a work in progress. The documentation is largely copied from sphinx-material and is inaccurate for this version. It does not yet integrate well with numpydoc or the built-in autosummary.

Installation

Install via pip:

$ pip install sphinx-immaterial

or if you have the code checked out locally:

$ pip -install -e .

Configuration

In your conf.py add sphinx_immaterial as an extension:

extensions = [
    ...,
    "sphinx_immaterial"
]

and add the following:

html_theme = 'sphinx_immaterial'

to set the theme.

Customizing the layout

You can customize the theme by overriding Jinja template blocks. For example, ‘layout.html’ contains several blocks that can be overridden or extended.

Place a ‘layout.html’ file in your project’s ‘/_templates’ directory.

mkdir source/_templates
touch source/_templates/layout.html

Then, configure your ‘conf.py’:

templates_path = ['_templates']

Finally, edit your override file ‘source/_templates/layout.html’:

{# Import the theme's layout. #}
{% extends '!layout.html' %}

{%- block extrahead %}
{# Add custom things to the head HTML tag #}
{# Call the parent block #}
{{ super() }}
{%- endblock %}

Differences from mkdocs-material

This theme closely follows the upstream mkdocs-material repository, but there are a few differences, primarily due to differences between Sphinx and MkDocs:

  • This theme adds styles for Sphinx object descriptions, commonly used for API documentation (e.g. class and function documentation). This is a core element of Sphinx for which there is no corresponding feature in MkDocs.

  • mkdocs-material uses lunr.js for searching, and has custom UI components for displaying search results in a drop-down menu as you type the search query. This theme uses a separate search implementation based on the custom index format used by Sphinx, which fully integrates with the search UI provided by mkdocs-material.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx_immaterial-0.7.3.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

sphinx_immaterial-0.7.3-py3-none-any.whl (5.1 MB view details)

Uploaded Python 3

File details

Details for the file sphinx_immaterial-0.7.3.tar.gz.

File metadata

  • Download URL: sphinx_immaterial-0.7.3.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for sphinx_immaterial-0.7.3.tar.gz
Algorithm Hash digest
SHA256 098e1069494fea1482601c33d6a124eff023d19b1616fdb6c46b482177f3e7b7
MD5 f7e31aef70d6c1bb4e71f0a67bf9e0e5
BLAKE2b-256 f2818e28dc8211aed82c34f10ac26f03ecdec085fd07e56191ccb26d28c1675f

See more details on using hashes here.

Provenance

File details

Details for the file sphinx_immaterial-0.7.3-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinx_immaterial-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 674440fc4eb39aaa4ec9c098fd09b7cd696754438e93ddd539d19828bab0f509
MD5 107cd5a34aa20080d2cf0a54c8a4393a
BLAKE2b-256 8b52ea2556f09bd1ca8e441ffde68e92be2825ce7ea5cea6abb42e00fbceea5e

See more details on using hashes here.

Provenance

Supported by

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