Skip to main content

Material sphinx theme for SaltStack documentation

Project description

Material Sphinx Theme for SaltStack Projects

This is a SaltStack-themed fork of the Material Sphinx Theme for simplified use in SaltStack projects.

For an example of deployed documentation using this theme:

NOTE: If wanting to use this for personal or non-SaltStack Sphinx-based documentation projects, you may want to use the Material Sphinx Theme instead.

NOTE: Any changes to the theme, that are non-SaltStack specific, should be done to the upstream Material for Sphinx (sphinx-material) project. Those changes can be merged downstream back to this project.

Table of Contents

About the Original Material Sphinx Theme

A Material Design theme for Sphinx documentation. Based on Material for MkDocs, and Guzzle Sphinx Theme.

Theme Differences

This project is a downstream/derivative of the Material for Sphinx project. The primary additions to this project are the following files:

  • sphinx_material_saltstack/sphinx_material_saltstack/static/images/favicon.png
  • sphinx_material_saltstack/sphinx_material_saltstack/static/images/saltstack-logo.png
  • sphinx_material_saltstack/sphinx_material_saltstack/static/stylesheets/saltstack.css

The rest of the theme includes references to these new files.

Overall look at modified files in this repository:

  • LICENSE.md
  • docs/conf.py
    • Since this is the example demo site, some minor changes of the new theme name and modified theme defaults, have been included.
  • setup.py
    • Modifications referring to new package/plugin naming, and other small misc. changes.
  • sphinx_material/sphinx_material/layout.html
    • Made to also include sphinx_material/sphinx_material/static/stylesheets/saltstack.css
  • sphinx_material/sphinx_material/theme.conf
    • Modified defaults that are specific to SaltStack preferences.

License Differences

This project is released under the Apache 2.0 license, due to the inclusion of trademark-related images. Specifically:

  • sphinx_material/sphinx_material/static/images/favicon-salt.png
  • sphinx_material/sphinx_material/static/images/saltstack-logo.png

The rest of the project is otherwise the same as the upstream project, which is released under the MIT license. If wanting to make a derivative of this theme, or include the source code elsewhere, it would be a better idea to make use of the upstream theme source:

The LICENSE file of this repository includes both the content of the Apache 2.0 license, and the content of the original MIT license.

Installation

Setup venv:

python3 -m venv .venv
source .venv/bin/activate
pip install -U pip setuptools wheel

Install via pip:

pip install sphinx-material-saltstack

or if you have the code checked out locally:

pip install -e .

Configuration

Add the following to your imports in conf.py:

import sphinx_material_saltstack

There are a lot more ways to customize this theme, as this more comprehensive example shows:

# Required theme setup
html_theme = 'sphinx_material_saltstack'

# Material theme options (see theme.conf for more information)
html_theme_options = {

    # Set the name of the project to appear in the navigation.
    'nav_title': 'Project Name',

    # Set you GA account ID to enable tracking
    'google_analytics_account': 'UA-XXXXX',

    # Specify a base_url used to generate sitemap.xml. If not
    # specified, then no sitemap will be built.
    'base_url': 'https://project.gitlab.io/project',

    # Set the repo location to get a badge with stats
    'repo_url': 'https://gitlab.com/project/project/',
    'repo_name': 'Project',

    # Visible levels of the global TOC; -1 means unlimited
    'globaltoc_depth': 3,
    # If False, expand all TOC entries
    'globaltoc_collapse': False,
    # If True, show hidden TOC entries
    'globaltoc_includehidden': False,
}

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 %}

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_material_saltstack-1.0.3.tar.gz (777.6 kB view details)

Uploaded Source

Built Distribution

sphinx_material_saltstack-1.0.3-py3-none-any.whl (802.5 kB view details)

Uploaded Python 3

File details

Details for the file sphinx_material_saltstack-1.0.3.tar.gz.

File metadata

  • Download URL: sphinx_material_saltstack-1.0.3.tar.gz
  • Upload date:
  • Size: 777.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for sphinx_material_saltstack-1.0.3.tar.gz
Algorithm Hash digest
SHA256 731064e3732bd7af827786deca1581f7c7e00a16c60a518d991c8f9a385c89ab
MD5 5c4acefe7e66d539bfdb445fe197ccce
BLAKE2b-256 b75138e8a0d8e2c1c6171e674bd2acd9e04a256a8924bb974080286d8b03d02a

See more details on using hashes here.

File details

Details for the file sphinx_material_saltstack-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: sphinx_material_saltstack-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 802.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for sphinx_material_saltstack-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 09033eef024dd8d2c286676b051804c7bdb5c958de96e71f57bb24957fef4081
MD5 935f5e4eccb8a97894efc3d4e370d904
BLAKE2b-256 081f0caa040dc85905849b5e8e3697ca81414010cc165ab3d3231930d4604e63

See more details on using hashes here.

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