Skip to main content

Add support for tree view to Sphinx.

Project description

Sphinx Tree View

A lightweight Sphinx extension that provides a customizable tree view for documentation. A tree view can have an associated decorator type, which can be used to add custom icons to the tree view. By default, the extension provides a decorator type "dir" with file and folder icons.

Installation

pip install sphinx-treeview

Basic Usage

Add the extension to your Sphinx conf.py:

extensions = [
    'sphinx_treeview'
]

Use the directive in your RST files:

:::{treeview}
- {<decorator name>}`<icon1>` foo
  - {<decorator name>}`<icon2>` bar
- <decorator>`<icon1>` baz
:::

For example, with the default decorator "dir":

:::{treeview}
- {dir}`<folder>` folder
  - {dir}`<file>` file.jpeg
  - {dir}`<file>` file.png
:::

The rendered tree view will look like this:

Tree View

Configuration Options

The following options can be configured in your conf.py:

# Add custom decorators
stv_decorators = [
    DecoratorType(name="custom", icons=[DecoratorIcon(path="path/to/icon.svg", sphinx_static_path="icon/path/for/sphinx/", width=1.3, height=1.3, css_properties={...})])
]

# Disable default decorators (dir decorator)
stv_disable_default_decorators = False

A decorator icon is defined by a path to the icon file, and the path where the icon will be copied to in the Sphinx static folder. This second path is used in the CSS to load the icon. width and height are the dimensions of the icon in em, and css_properties is a dictionary of CSS properties to be applied to the icon. The name used for the icon in the tree view is the name of the icon file without the extension.

If you want to load all images of a folder as icons, you can use the imagesToDecoratorIcons function:

icons = imagesToDecoratorIcons(path="path/to/folder", sphinx_static_path="path/to/sphinx/folder")

By default, the dimensions of the icons are 1.3em × 1.3em.

License

This project is licensed under the MPL-2.0 License. See the LICENSE file for details. Images came from pictogrammers and are under Apache-2.0 License.

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_treeview-0.1.1.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sphinx_treeview-0.1.1-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file sphinx_treeview-0.1.1.tar.gz.

File metadata

  • Download URL: sphinx_treeview-0.1.1.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.20.1 CPython/3.12.3 Windows/11

File hashes

Hashes for sphinx_treeview-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e033712168a67f4ccb129a304924f30eb620c56d470f2604d9c5a73b06263f7f
MD5 19b49cde5b92582d964ca85690f2a6b8
BLAKE2b-256 5ad9e803b089489899dc191761a9f97656edbc954aaf714681bd373e840cf9b4

See more details on using hashes here.

File details

Details for the file sphinx_treeview-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: sphinx_treeview-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.20.1 CPython/3.12.3 Windows/11

File hashes

Hashes for sphinx_treeview-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 da654a4da0b3be50dbd6d14495356b883a8681cacb20418107149d644cb5f229
MD5 b4cea521453a4192a3d58327be4a9e76
BLAKE2b-256 5e41c4d9a9bf9774f5034c6cd685aef9377d2d5cc6a353b80699b1953a25ac24

See more details on using hashes here.

Supported by

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