Sphinx extension helper about images
Project description
sphinxcontrib-imagehelper
sphinxcontrib-imagehelper is helpers for creating image Sphinx extensions.
Adding new image format support to Sphinx is too boring. This helper helps you to create image sphinx extensions.
It provides these features:
Caching converted images
Conseal sphinx directory structure; determine path of images automatically
Support common options for image directive (cf. :height:, :scale:, :align:, and so on)
Enhance standard imaging directives; image and figure get capability to embed new image format
With sphinxcontrib-imagehelper, all you have to do is only convert new image format to well known image formats.
Install
$ pip install sphinxcontrib-imagehelper
Example
from sphinxcontrib.imagehelper import ( add_image_type, add_image_directive, add_figure_directive, ImageConverter ) # Declare converter class inherits ImageConverter class MyImageConverter(ImageConverter): # Override `get_filename_for()` to determine filename def get_filename_for(self, node): # filename is came from its URI and configuration hashed = sha1((node['uri'] + self.app.config.some_convert_settings).encode('utf-8')).hexdigest() return 'myimage-%s.png' % hashed # Override `convert()` to convert new image format to well known image formats (PNG, JPG and so on) def convert(self, node, filename, to): # Hint: you can refer self.app.builder.format to switch conversion behavior succeeded = convert_myimage_to_png(filename, to, option1=node['option'], option2=self.app.config.some_convert_settings) if succeeded: return True # return True if conversion succeeded else: return False def setup(app) # Register new image type: myimage add_image_type(app, 'my', 'img', MyImageConverter) # Register my-image directive add_image_directive(app, 'my') # Register my-figure directive add_figure_directive(app, 'my')
Helpers
- sphinxcontrib.imagehelper.add_image_type(app, name, ext, handler)
Register a new image type which is identified with file extension ext. The handler is used to convert image formats.
- sphinxcontrib.imagehelper.ImageConverter
A handler class for converting image formats. It is used at add_image_type(). The developers of sphinx-extensions should create a handler class which inherits ImageConverter, and should override two following methods:
- ImageConverter.option_spec
A definition of additional options. By default, it is empty dict.
- ImageConverter.get_filename_for(self, node)
Determine a filename of converted image. By default, this method returns the filename replaced its extension with ‘.png’:
def get_filename_for(self, node): return os.path.splitext(node['uri'])[0] + '.png'
- ImageConverter.convert(self, node, filename, to)
Convert image to embedable format. By default, this method does nothing.
- sphinxcontrib.imagehelper.add_image_directive(app, name, option_spec={})
Add a custom image directive to Sphinx. The directive is named as name-image (cf. astah-image).
If option_spec is given, the new directive accepts custom options.
- sphinxcontrib.imagehelper.add_figure_directive(app, name, option_spec={})
Add a custom figure directive to Sphinx. The directive is named as name-figure (cf. astah-figure).
If option_spec is given, the new directive accepts custom options.
- sphinxcontrib.imagehelper.generate_image_directive(name, option_spec={})
Generate a custom image directive class. The class is not registered to Sphinx. You can enhance the directive class with subclassing.
- sphinxcontrib.imagehelper.generate_figure_directive(name, option_spec={})
Generate a custom figure directive class. The class is not registered to Sphinx. You can enhance the directive class with subclassing.
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
Built Distribution
File details
Details for the file sphinxcontrib-imagehelper-1.0.1.tar.gz
.
File metadata
- Download URL: sphinxcontrib-imagehelper-1.0.1.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbc961ba93b5be0783f0d5693530ad85f32e1742d0b67dc5b5bd64b2d9ba2b75 |
|
MD5 | 149de18bcb4587f9856eba001e91ddc5 |
|
BLAKE2b-256 | d8026788f969ee1d49ab5f76575b03446180b7b6063476f09ff6cf5869258f72 |
File details
Details for the file sphinxcontrib_imagehelper-1.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: sphinxcontrib_imagehelper-1.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad6d0ad394f4fda0ad7098bc14eae2d9ef023aeeb576aab89c263caf8764f5cd |
|
MD5 | 06a0666e47d5e0a2ceb07a05ca8bf423 |
|
BLAKE2b-256 | 7a3be424cd14869cf79c8e5db1e9f2e0e0ef93ab02a4f1486532ca5cb86e2e4e |