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-1.0.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-1.0.2-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sphinx_treeview-1.0.2.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.3 CPython/3.13.2 Linux/6.8.0-1021-azure

File hashes

Hashes for sphinx_treeview-1.0.2.tar.gz
Algorithm Hash digest
SHA256 0508ba39a23db2766122f595c518045d16dd3fcd598e009a415b5741efb20987
MD5 00b51805bc3d7fd2d66cc7045834625f
BLAKE2b-256 e270a73e8a94c367c513e87b0883ad81c3b6a5f1ea4fc6165a611cb6a3b97ba4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sphinx_treeview-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.3 CPython/3.13.2 Linux/6.8.0-1021-azure

File hashes

Hashes for sphinx_treeview-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6931d0f290887112c0bfebd947140575cc4d62aeb4cac90099e600ea9f18fa63
MD5 c44eb329fad9badc8147e1eef3d04561
BLAKE2b-256 cfa893324d0c6aabf3049590518e7ecbce10ebe7b336ae8375da7629cc918d45

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