The datatemplate
directive is the interface between the data source and the rendering template.
The datatemplate
directive uses Sphinx's templates_path configuration setting to search for template files.
When a datatemplate
directive is processed, the data from the source
is passed to the template through its context so that the symbol data
is available as a global variable.
Important
The data is loaded from the source and passed directly to the template. No pre-processing is done on the data, so the template needs to handle aspects like None
values and fields that have values that may interfere with parsing reStructuredText.
The application configuration for a project will be passed to the template as the symbol config
. This can be used, for example, to access HTML context via config.html_context
. Refer to the inline
for an example.
The Sphinx build environment for a project will be passed to the template as the symbol env
. This can be used to access all of the information that Sphinx has about the current build, including settings, and document names. Refer to the nodata
for an example.
These helper functions are exposed using their short name (without the module prefix) in the template context.
sphinxcontrib.datatemplates.helpers