Skip to content

matplotlib.sphinxext.plot_directive generates incorrect links when using dirhtml builder #13858

@glenfletcher

Description

@glenfletcher

When using the dirhtml builder in sphinx with the .. plot:: directive, the generated links are relative to the source file tree not the output, i.e. the source file name become a directory containing index.html, however the relative path generated is based on the location of the source file

dest_dir_link = os.path.join(relpath(setup.confdir, rst_dir),

I fixed this locally using the the following hack, however I don't think this is the appropriate solution there should be some way to make the directive use the output path not the input path, which would remove the need for a hack solution. Hence I'm posting this as a issue rather than a patch.

    if setup.app.builder.name == 'dirhtml':
        subdir = os.path.basename(os.path.splitext(rst_file)[0])
        dest_dir_link = os.path.join(relpath(setup.confdir, os.path.join(rst_dir, subdir)),
                                     source_rel_dir).replace(os.path.sep, '/')
    else:
        dest_dir_link = os.path.join(relpath(setup.confdir, rst_dir),
                                     source_rel_dir).replace(os.path.sep, '/')

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy