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.2.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.2-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sphinx_treeview-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 c34322ba0f3c3e7f6b235153c104146f70e480c9a0cf8388a0f4483add9e30fd
MD5 8d2283984538b4211d7b0e3789fe9278
BLAKE2b-256 3229b1cfcd317b42853dc8b4e4985dd27c99bb84e666b2ab47556345df013c95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sphinx_treeview-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8b52cd5eae1ffceeddd7414ea67a7b29d4ab4d49d6dd5bf878514ba0e3d8c79c
MD5 b5aaa8062c0ebd1e9c0ce70259ff65cb
BLAKE2b-256 f9afa745c7fb0ae3ef1968113870a7c29f79c2a9ce767788d0a1385b70d9415f

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