如何链接到 README.rst 中 docs 文件夹中的图像?
Posted
技术标签:
【中文标题】如何链接到 README.rst 中 docs 文件夹中的图像?【英文标题】:How do you link to images from your docs folder in your README.rst? 【发布时间】:2019-01-19 02:18:38 【问题描述】:我正在努力寻找一种方法来使用我的 README.rst 中的图像,该图像将同时显示在 github 和 PyPI 上。
目前我正在使用以下标记:
.. image:: https://github.com/thebjorn/pydeps/blob/master/docs/_static/pydeps.svg
在 github (https://github.com/thebjorn/pydeps) 上看起来很棒,但在 PyPI (https://pypi.org/project/pydeps/1.6.0/) 上显示为断开的链接。
这可能吗,还是我需要在其他地方托管这些图像?
【问题讨论】:
【参考方案1】:您需要使用raw.githubusercontent.com
而不是github.com
:
.. image:: https://github.com/thebjorn/pydeps/blob/master/docs/_static/pydeps-pylib.svg
只会在 Github 上正确渲染,而
.. image:: https://raw.githubusercontent.com/thebjorn/pydeps/master/docs/_static/pydeps-pylib.svg?sanitize=true
将呈现在任何网站上。
第一次尝试(损坏并删除)
第二次尝试:
-
正确替换 URL(同时删除路径中的
blob
部分 - 我的错!),
将?sanitize=true
附加到要替换的每个网址。
$ sed -i '' 's,.. image:: https://github.com/\(.*\)/blob/\(.*\).svg,.. image:: https://raw.githubusercontent.com/\1/\2.svg?sanitize=true,g' README.rst
测试on Github 和on TestPyPI,看起来都不错。
替代方案:使用RawGit
另一种可能性是使用RawGit,虽然缺点是这是第三方服务,所以当它关闭时,虽然可用,但图像不会被渲染。尽管如此,为了完整性:
$ sed -i '' 's,.. image:: https://github.com/\(.*\)/blob/\(.*\)$,.. image:: https://cdn.rawgit.com/\1/\2,g' README.rst
【讨论】:
这似乎不起作用(它在 github 上给出了一个损坏的图像)。起初我以为是因为内容类型是 text/html,但我发现 .png 图像也有问题(例如raw.githubusercontent.com/divio/django-cms/blob/develop/docs/…) 实际上,如果您从我之前的评论中删除 blob,它适用于 .png 文件。看起来 github 将 .svg 文件转换为数据 url,但 .rst 似乎并不喜欢...... :-( 已获得sed
oneliner,请再次验证。
很高兴能帮上忙!以上是关于如何链接到 README.rst 中 docs 文件夹中的图像?的主要内容,如果未能解决你的问题,请参考以下文章
我怎样才能使这个 long_description 和 README 相差几句话?
github 上 Python 包的 README 格式是啥?
我的第一个 README 没有在 pypi.python.org 上格式化