How to have same text in two links with restructured text?

PythonRestructuredtext

Python Problem Overview


Here is what I would like to do:

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

To obtain:

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

The context is a list of publications, where I want them all to have a link marked "DOI" at the end.

However, this seems to fails with:

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

The exact error seems to depend on the version of docutils that I use, but they've all failed.

Is there a way to generate multiple links with the same text in restructured text?

Python Solutions


Solution 1 - Python

The warning > (WARNING/2) Duplicate explicit target name:foo

occurs when you use the same text for two different links in "Named hyperlink references":

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

To circumvent it, use anonymous hyperlink references with double underscores:

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

This works without a warning on docutils 0.8.1.

Solution 2 - Python

I think you'll want to use anonymous hyperlinks:

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

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

Keep in mind that the order they're referred to in the document is important. More information can be found here.

Solution 3 - Python

Seems like you need a newline and two underscores.

This is what I do:

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

to obtain:

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>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionluispedroView Question on Stackoverflow
Solution 1 - PythoncweiskeView Answer on Stackoverflow
Solution 2 - PythonJesseView Answer on Stackoverflow
Solution 3 - PythonUserView Answer on Stackoverflow