В Python sphinx, как сделать ссылку на файл в каталоге _static - PullRequest
16 голосов
/ 12 декабря 2011

У меня есть некоторые примеры кода и данных, которые я копирую в каталог _static, и я хотел бы сослаться на эти файлы в документации, что-то вроде:

.. _pca-run.py: _static/example.data

Но проблема в том, что sphinx не создаетправильная относительная ссылка на этот файл, но просто копирует значения как есть.Так что для вложенных файлов, где _static не находится в том же каталоге, ссылки не работают.

Ответы [ 2 ]

11 голосов
/ 24 декабря 2011

То, что вы хотите, это текстовая роль :download:.(как упомянул Митар в своем комментарии).

http://www.sphinx -doc.org / ru / 1.6 / markup / inline.html # role-download

Использование этогоскажет Sphinx скопировать данный файл в каталог "_downloads" и создать гиперссылку на него.Первоначально это было предназначено для использования для загружаемых файлов, таких как, возможно, PDF (в выводе html) или tarballs, или что-то еще.Хотя он отлично работает для любого другого файла, не являющегося ReST.

Если вы действительно хотите, вы можете написать расширение для этого, но я никогда не видел в этом необходимости, поскольку :download: делает именно то, что нужно.Я хочу.

7 голосов
/ 31 марта 2016

Просто найдите правильный ответ на этот вопрос для images : предварительно отредактируйте путь к целевому файлу с помощью /. Для изображений, ссылки на которые automodule

.. image:: some_file.png

будет ссылаться на файл some_file.png относительно файла python, обрабатываемого в данный момент, а

.. image:: /some_file.png

будет ссылаться на файл some_file.png относительно местоположения conf.py. Таким образом, нет необходимости загрязнять исходную иерархию изображениями.

...