【问题标题】:What is the standard syntax for hyperlink in reStructuredText: `Foo`_ or Foo_?reStructuredText 中超链接的标准语法是什么:`Foo`_ 或 Foo_?
【发布时间】:2019-01-22 08:18:03
【问题描述】:

http://docutils.sourceforge.net/docs/user/rst/quickref.html#external-hyperlink-targets 显示此示例:

External hyperlinks, like Python_.

.. _Python: http://www.python.org/

但是http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#external-links 显示了这个例子:

This is a paragraph that contains `a link`_.

.. _a link: https://domain.invalid/

我试图了解这两种语法中哪一种是正确的,并适用于所有重组文本渲染器。

我应该使用:

Foo_

引用超链接?

或者我应该使用:

`Foo`_

引用超链接?

【问题讨论】:

  • 当你有多个单词作为一个超链接的一部分时,你需要反引号,否则它如何区分第一个例子应该是Python还是like Python还是@ 987654331@,还是……链接文字?
  • @jonrsharpe 你说的很有道理。我看到需要使用反引号来选择由空格组成的短语作为超文本的特殊语法。这种用法是否记录在 reStructuredText 文档的某处?
  • 它在您已经链接到的文档中,就在顶部:docutils.sourceforge.net/docs/user/rst/…
  • 我个人更喜欢inline syntax,因为它让我可以控制超链接的标签,并且 URL 更靠近文本而不是页面或部分的末尾。在阅读叙述文本时,我更有可能在视觉上检查更新的链接,尽管我也运行make linkcheck

标签: standards markup restructuredtext


【解决方案1】:

两者都是正确的。超链接的语法只是一个下划线_。当超链接的名称包含空格时,需要使用反引号。否则,两者都可以接受。从技术上讲,反引号被称为“分组语法”。

即使超链接的名称不包含空格,通常也只包含反引号。这是因为对于应该包含下划线或超链接的短语来说,并不总是能立即理解单独的 _ 是否是拼写错误。然而,``_ 语法在 reST 中被称为超链接。

【讨论】:

    猜你喜欢
    • 2011-02-20
    • 2015-09-10
    • 2013-02-10
    • 2015-09-11
    • 2016-05-20
    • 1970-01-01
    • 2013-06-03
    • 2021-02-03
    • 2016-06-28
    相关资源
    最近更新 更多