Jak mieć ten sam tekst w dwóch linkach ze zmienionym tekstem?

82

Oto, co chciałbym zrobić:

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

Pozyskać:

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

Kontekstem jest lista publikacji, gdzie chcę, aby wszystkie miały na końcu link oznaczony „DOI”.

Jednak wydaje się, że zawodzi to w przypadku:

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

Dokładny błąd wydaje się zależeć od używanej przeze mnie wersji docutils, ale wszystkie zawiodły.

Czy istnieje sposób na wygenerowanie wielu linków z tym samym tekstem w zmienionym tekście?

luispedro
źródło

Odpowiedzi:

138

Ostrzeżenie

(OSTRZEŻENIE / 2) Zduplikowana jawna nazwa celu: foo

występuje, gdy użyjesz tego samego tekstu dla dwóch różnych łączy w „Nazwanych odwołaniach do hiperłączy”:

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

Aby to obejść, użyj anonimowych odnośników do hiperłączy z podwójnymi podkreśleniami:

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

Działa to bez ostrzeżenia w docutils 0.8.1.

cweiske
źródło
Myślę, że jest to prawdą tylko w nowszych wersjach. Mogę potwierdzić, że teraz uzyskałem ten wynik (który jest prawdopodobnie lepszym wynikiem). Akceptuję tę nową odpowiedź.
luispedro,
16

Myślę, że będziesz chciał użyć anonimowych hiperłączy:

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

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

Pamiętaj, że kolejność, do której się odnoszą w dokumencie, jest ważna. Więcej informacji można znaleźć tutaj .

Jesse
źródło
4

Wygląda na to, że potrzebujesz nowej linii i dwóch podkreśleń.

Tym się właśnie zajmuję:

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

pozyskać:

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>
Użytkownik
źródło