nos*_*nos 4 restructuredtext python-sphinx
假设我有两个文件a.rst在b.rst同一个文件夹中,a.rst看起来像这样
.. _foo: http://stackoverflow.com
`foo`_ is a website
Run Code Online (Sandbox Code Playgroud)
似乎不允许使用fooin 。b.rst有没有办法定义超链接并在多个文件中使用它们?
跟进
我extlinks按照史蒂夫·皮尔西的建议使用了该扩展。它的实现和文档字符串可以在 github 上看到。
就我而言,我在 conf.py 中定义了维基百科链接
extlinks = {'wiki': ('https://en.wikipedia.org/wiki/%s', '')}
Run Code Online (Sandbox Code Playgroud)
在.rst文件中,像这样使用它们
:wiki:`Einstein <Albert_Einstein>`
Run Code Online (Sandbox Code Playgroud)
至少有四种可能的解决方案。
将您的完整休息放入每个文件中。你可能不想要这样。
rst_epilog与替换这个很聪明。rst_epilog在您的值中配置该值conf.py以及带有replace指令的替换:
rst_epilog = """
.. |foo| replace:: foo
.. _foo: http://stackoverflow.com
"""
Run Code Online (Sandbox Code Playgroud)
和休息:
|foo|_ is a website
Run Code Online (Sandbox Code Playgroud)
产量:
|foo|_ is a website
Run Code Online (Sandbox Code Playgroud)
extlinks对于您想要具有基本 URL 并附加路径段或参数的外部网站的链接,您可以extlinks在您的 中使用conf.py:
<a class="reference external" href="http://stackoverflow.com">foo</a>
Run Code Online (Sandbox Code Playgroud)
然后在休息时:
:so:`questions/49016433`
Run Code Online (Sandbox Code Playgroud)
产量:
extensions = [
...
'sphinx.ext.extlinks',
...
]
...
extlinks = {'so': ('https://stackoverflow.com/%s', None)}
Run Code Online (Sandbox Code Playgroud)
intersphinx对于由 Sphinx 生成的文档的外部网站,您可以intersphinx在您的 中使用 , conf.py:
:so:`questions/49016433`
Run Code Online (Sandbox Code Playgroud)
然后在休息时:
:py:mod:`doctest`
Run Code Online (Sandbox Code Playgroud)
产量:
<a class="reference external"
href="https://stackoverflow.com/questions/49016433">
https://stackoverflow.com/questions/49016433
</a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |