All Projects → jbms → sphinx-immaterial

jbms / sphinx-immaterial

Licence: other
Adaptation of the popular mkdocs-material material design theme to the sphinx documentation system

Programming Languages

typescript
32286 projects
SCSS
7915 projects
HTML
75241 projects
python
139335 projects - #7 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to sphinx-immaterial

crifan.github.io
用于利用github.io去存放crifan的静态页面
Stars: ✭ 32 (-25.58%)
Mutual labels:  static
lens-jekyll-theme
A Jekyll version of the "Lens" theme by HTML5 UP.
Stars: ✭ 56 (+30.23%)
Mutual labels:  static
dimension-jekyll-theme
A Jekyll version of the "Dimension" theme by HTML5 UP.
Stars: ✭ 29 (-32.56%)
Mutual labels:  static
sphinx-wavedrom
A sphinx extension that allows including wavedrom diagrams by using its text-based representation
Stars: ✭ 26 (-39.53%)
Mutual labels:  sphinx
sphinx-gradle-plugin
Sphinx site generation plugin for Gradle
Stars: ✭ 19 (-55.81%)
Mutual labels:  sphinx
subtle-ui
A collection of clever yet understated user interactions found on the web
Stars: ✭ 39 (-9.3%)
Mutual labels:  static
monopati
a minimalistic static content generator
Stars: ✭ 19 (-55.81%)
Mutual labels:  static
reserve
Lightweight http server statically configurable using regular expressions
Stars: ✭ 19 (-55.81%)
Mutual labels:  static
QtIosCMake
📱 Deploy Qt Application for iOS with a single macro when using CMake.
Stars: ✭ 35 (-18.6%)
Mutual labels:  static
cocoapods-user-defined-build-types
⚒ A cocoapods plugin that can selectively set build type per pod (static library, dynamic framework, etc.)
Stars: ✭ 91 (+111.63%)
Mutual labels:  static
vite-plugin-sloth
Fresh take on static site generation, using HTML-first approach to build website. Powered by ⚡️ Vite
Stars: ✭ 39 (-9.3%)
Mutual labels:  static
openapi
OpenAPI (fka Swagger) spec renderer for Sphinx.
Stars: ✭ 78 (+81.4%)
Mutual labels:  sphinx
Block-Breaker-Original
Arkanoid clone build as part of the Complete Unity C# Developer 2D course (http://gdev.tv/cudgithub)
Stars: ✭ 45 (+4.65%)
Mutual labels:  static
jwql
The James Webb Space Telescope Quicklook Application
Stars: ✭ 42 (-2.33%)
Mutual labels:  sphinx
astro
Build fast websites, faster. 🚀🧑‍🚀✨
Stars: ✭ 11,024 (+25537.21%)
Mutual labels:  static
sphinx-themes.org
A showcase for Sphinx documentation themes
Stars: ✭ 114 (+165.12%)
Mutual labels:  sphinx
projection-pursuit
An implementation of multivariate projection pursuit regression and univariate classification
Stars: ✭ 24 (-44.19%)
Mutual labels:  sphinx
VoiceCom
A Simple Voice Command Application powered by Java and Sphinx4 Speech Recognition Library
Stars: ✭ 17 (-60.47%)
Mutual labels:  sphinx
php-sphinx-search
Sphinx for PHP 5.3 and above. Fully PHPUnit tested.
Stars: ✭ 19 (-55.81%)
Mutual labels:  sphinx
static-string-cpp
Compile-time string manipulation library for modern C++
Stars: ✭ 34 (-20.93%)
Mutual labels:  static

Sphinx-Immaterial Theme

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].