includes jinja templates in a documentation

sphinx, jinja
pip install sphinx-jinja==1.1.1



A sphinx extension to include jinja based templates based documentation into a sphinx doc


In your rst doc, you can use the following snippet to use a jinja template to generate your doc

.. jinja:: first_ctx

    {% for k, v in topics.items() %}

    {% endfor %}

In your sphinx file, you can create or load the contexts needed for your jinja templates

extensions = ['sphinxcontrib.jinja']

jinja_contexts = {
    'first_ctx': {'topics': {'a': 'b', 'c': 'd'}}

Available options

  • file: allow to specify a path to Jinja instead of writing it into the content of the directive. Path is relative to the current directory of sphinx-build tool, typically the directory where the file is located.

  • header_char: character to use for the the headers. You can use it in your template to set your own title character:

    For example:

    {{ options.header_char * 5 }}
  • debug: print debugging information during sphinx-build. This allows you to see the generated rst before sphinx builds it into another format.

Example of declaration in your RST file:

.. jinja:: approval_checks_api
   :file: relative/path/to/template.jinja
   :header_char: -

Each element of the jinja_contexts dictionary is a context dict for use in your jinja templates.

Running tests

  • pip install tox
  • tox