Wie kann man denselben Text in zwei Links mit umstrukturiertem Text haben?

81

Folgendes möchte ich tun:

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

Erhalten:

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

Der Kontext ist eine Liste von Veröffentlichungen, in denen alle einen Link mit der Bezeichnung "DOI" am Ende haben sollen.

Dies scheint jedoch zu scheitern mit:

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

Der genaue Fehler scheint von der Version der von mir verwendeten Docutils abzuhängen, aber alle sind fehlgeschlagen.

Gibt es eine Möglichkeit, mehrere Links mit demselben Text in umstrukturiertem Text zu generieren?

luispedro
quelle

Antworten:

137

Die Warnung

(WARNUNG / 2) Duplizieren Sie den expliziten Zielnamen: foo

tritt auf, wenn Sie denselben Text für zwei verschiedene Links in "Benannte Hyperlink-Referenzen" verwenden:

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

Verwenden Sie anonyme Hyperlink-Referenzen mit doppeltem Unterstrich, um dies zu umgehen :

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

Dies funktioniert ohne Warnung unter docutils 0.8.1.

cweiske
quelle
Ich denke, das gilt nur für neuere Versionen. Ich kann bestätigen, dass ich jetzt dieses Ergebnis erhalten habe (was wohl das bessere Ergebnis ist). Ich akzeptiere diese neue Antwort.
Luispedro
16

Ich denke, Sie möchten anonyme Hyperlinks verwenden:

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

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

Beachten Sie, dass die Reihenfolge, auf die im Dokument verwiesen wird, wichtig ist. Weitere Informationen finden Sie hier .

Jesse
quelle
4

Scheint, als bräuchten Sie einen Zeilenumbruch und zwei Unterstriche.

Das ist was ich mache:

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

erhalten:

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>
Nutzer
quelle