Sphinx:生成外部链接

Ant*_*pov 26 python-sphinx

我想在我的sphinx文档中链接到一些URL:

 <a href="http://some.url">blah</a>
Run Code Online (Sandbox Code Playgroud)

我在文档中找到了类似的东西:http://sphinx-doc.org/ext/extlinks.html - 但它更像是按照惯例用链接替换自定义语法.相反,我只想生成一个指向外部Web资源的链接.

Ant*_*pov 42

reStructuredText文档中找到答案.它可以使用命名引用来完成:

Test hyperlink: SO_.

.. _SO: http://stackoverflow.com/
Run Code Online (Sandbox Code Playgroud)

或者使用嵌入式URI:

Test hyperlink: `Stack Overflow <http://stackoverflow.com/>`_.
Run Code Online (Sandbox Code Playgroud)

  • 我一生都无法让它与使用语法“Stack Overflow home &lt;SO&gt;”的“命名”引用一起工作。我什至复制并粘贴了这个确切的代码!它只是构造当前文档文件的相对路径,末尾带有“SO”。最近版本中是否删除了此语法? (10认同)
  • 是的,但是对于命名引用的情况,我花了很长时间才弄清楚正确的语法是“` Stack Overflow_ `”(没有空格 - 无法在注释中正确格式化)然后“ .. _堆栈溢出:http://stackoverflow.com”。它不在文档中。 (5认同)
  • 链接文本中的多个单词怎么样? (3认同)
  • 我认为文档确实说您可以将文本放在反引号中(下划线在外面),即 \`Stack Overflow\`_,但它显示在快速参考的“内联标记”部分,而不是超链接部分(除非您检查规范本身)。 (2认同)

Ian*_*Ian 6

这非常令人沮丧,但我在 2023 年中期找到了解决方案。

Presently, the fashion something called `"work-stealing" <BL94_>`_.
Run Code Online (Sandbox Code Playgroud)

然后...

.. _BL94: http://supertech.csail.mit.edu/papers/steal.pdf
Run Code Online (Sandbox Code Playgroud)

请注意两个下划线:一次位于尖括号内,一次位于结束重音符号之后。(反引号,如果您比互联网还年轻。)这可以正确地将文本链接"work-stealing"到 PDF 文章。