如何在具有重组文本的两个链接中使用相同的文本?

Posted

技术标签:

【中文标题】如何在具有重组文本的两个链接中使用相同的文本?【英文标题】:How to have same text in two links with restructured text? 【发布时间】:2011-07-24 19:00:06 【问题描述】:

这是我想做的:

1. `link <http://www.google.com>`__
2. `link <http://www.yahoo.com>`__

获得:

<ol>
<li><a href="http://www.google.com">link</a></li>
<li><a href="http://www.yahoo.com">link</a></li>
</ol>

上下文是一个出版物列表,我希望它们在末尾都有一个标记为“DOI”的链接。

但是,这似乎失败了:

<string>:3: (WARNING/2) Duplicate explicit target name: "doi".

确切的错误似乎取决于我使用的 docutils 版本,但它们都失败了。

有没有办法在重组文本中生成具有相同文本的多个链接?

【问题讨论】:

How to deal with duplicate target names in reStructuredText?的可能重复 【参考方案1】:

警告

(警告/2)重复明确的目标名称:foo

当您对“命名超链接引用”中的两个不同链接使用相同的文本时发生:

`Foo <http://example.org>`_
`Foo <http://example.com>`_

要绕过它,请使用 匿名 hyperlink references 和双下划线:

`Foo <http://example.org>`__
`Foo <http://example.com>`__

这在 docutils 0.8.1 上没有警告。

【讨论】:

我认为这仅适用于较新的版本。我可以确认我现在得到了这个结果(可以说,这是更好的结果)。我接受这个新答案。【参考方案2】:

我想你会想要使用匿名超链接:

1. `link`__
2. `link`__

__ http://www.google.com
__ http://www.yahoo.com

请记住,在文档中引用它们的顺序很重要。更多信息可以在here找到。

【讨论】:

【参考方案3】:

好像你需要一个换行符和两个下划线。

这就是我的工作:

What is that Process object good for? `(html)
<process.html>`__
`(html) 
<other.process.rst>`__

获得:

What is that Process object good for? 
<a class="reference external" href="process.html">(html)</a>
<a class="reference external" href="process.rst">(html)</a>

【讨论】:

以上是关于如何在具有重组文本的两个链接中使用相同的文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在重组文本中注释字符串?

如何在重组后的文本文件中嵌入 HTML?

如何评论重组文本中的字符串?

如果两个类具有相同的类名,如何引用第二个类名 - 使用 selenium webdriver

如何使容器DIV内的所有兄弟DIV具有相同的高度?

如何使字形图标成为 Razor 中的 ajax 链接文本?