mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
So far, we need to bypass application object for modules to emit a event. This make EventManager portable and easy to pass event emitter. This brings modules less coupled with application object.
46 lines
1.0 KiB
ReStructuredText
46 lines
1.0 KiB
ReStructuredText
.. _writing-builders:
|
|
|
|
Builder API
|
|
===========
|
|
|
|
.. todo:: Expand this.
|
|
|
|
.. currentmodule:: sphinx.builders
|
|
|
|
.. class:: Builder
|
|
|
|
This is the base class for all builders.
|
|
|
|
These attributes should be set on builder classes:
|
|
|
|
.. autoattribute:: name
|
|
.. autoattribute:: format
|
|
.. autoattribute:: epilog
|
|
.. autoattribute:: supported_image_types
|
|
.. autoattribute:: supported_remote_images
|
|
.. autoattribute:: supported_data_uri_images
|
|
.. autoattribute:: default_translator_class
|
|
|
|
These methods are predefined and will be called from the application:
|
|
|
|
.. automethod:: get_relative_uri
|
|
.. automethod:: build_all
|
|
.. automethod:: build_specific
|
|
.. automethod:: build_update
|
|
.. automethod:: build
|
|
|
|
These methods can be overridden in concrete builder classes:
|
|
|
|
.. automethod:: init
|
|
.. automethod:: get_outdated_docs
|
|
.. automethod:: get_target_uri
|
|
.. automethod:: prepare_writing
|
|
.. automethod:: write_doc
|
|
.. automethod:: finish
|
|
|
|
**Attributes**
|
|
|
|
.. attribute:: events
|
|
|
|
An :class:`.EventManager` object.
|