Skip to content
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion lib/matplotlib/sphinxext/plot_directive.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,24 @@
The plot_srcset option is incompatible with *singlehtml* builds, and an
error will be raised.

plot_rst_directory
By default, the directory for RST files is automatically determined
from the name of the Python file. This works fine with, e.g., the
``sphinx.ext.autodoc`` extension. However, you may need to modify the
path if RST files are generated in another directory. This is the
case if you use the ``autodoc2`` extension.

For it to work, you need to set the ``plot_rst_directory`` option to:
Comment thread
jeertmans marked this conversation as resolved.
Resolved

.. code:: python

plot_rst_directory = "source/apidocs/<your_package>/"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way we can explain the folder situation here? Is this guaranteed to be always under the API docs source dir? I'm thinking of a potential mix between api and narrative docs and where the plots would live for this intermediate state.


.. node::
Comment thread
jeertmans marked this conversation as resolved.
Resolved

This currently only support one directory, and can cause potential
Comment thread
jeertmans marked this conversation as resolved.
Resolved
problems if you have multiple packages documented with ``autodoc2``.

Notes on how it works
---------------------

Expand Down Expand Up @@ -307,6 +325,7 @@ def setup(app):
app.add_config_value('plot_working_directory', None, True)
app.add_config_value('plot_template', None, True)
app.add_config_value('plot_srcset', [], True)
app.add_config_value('plot_rst_directory', None, True)
app.connect('doctree-read', mark_plot_labels)
app.add_css_file('plot_directive.css')
app.connect('build-finished', _copy_css_file)
Expand Down Expand Up @@ -746,7 +765,11 @@ def run(arguments, content, options, state_machine, state, lineno):
context_opt = None if not keep_context else options['context']

rst_file = document.attributes['source']
rst_dir = os.path.dirname(rst_file)

if not config.plot_rst_directory:
rst_dir = os.path.dirname(rst_file)
else:
rst_dir = config.plot_rst_directory

if len(arguments):
if not config.plot_basedir:
Expand Down