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

Uploaded Source

Built Distribution

sphinx_material_saltstack-1.0.5-py3-none-any.whl (802.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sphinx_material_saltstack-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 2f2a7cc7c89ff030e1647555e579d654d668cd99a8d854c634f703acbf515909
MD5 fe560a7714e57980fe574bef2bcc96a9
BLAKE2b-256 881b99ff5958609dfe108c58cd5b8448f63c07031e24c0472a01f2b5e13fb5e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sphinx_material_saltstack-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 802.6 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4fb05296a82c64488d9616a318f32cd34d26ea2d5c61aa0af7ae8ca529ad0cc4
MD5 c364488e586644695bc0b861ea45c6bc
BLAKE2b-256 dbe2167cd446beeb2cfad42c0f8fe6690c4959d9d11691d2a3548bfa953bf317

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