Подтвердить что ты не робот

Как иметь один и тот же текст в двух ссылках с реструктурированным текстом?

Вот что я хотел бы сделать:

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

Чтобы получить:

<ol>
<li><a href="#" onclick="location.href='http://www.google.com'; return false;">link</a></li>
<li><a href="#" onclick="location.href='http://www.yahoo.com'; return false;">link</a></li>
</ol>

Контекст - это список публикаций, в которых я хочу, чтобы все они имели ссылку, помеченную "DOI" в конце.

Однако это, похоже, терпит неудачу:

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

Точная ошибка, похоже, зависит от версии docutils, которую я использую, но все они провалились.

Есть ли способ генерировать несколько ссылок с одним и тем же текстом в реструктурированном тексте?

4b9b3361

Ответ 1

Предупреждение

(ПРЕДУПРЕЖДЕНИЕ/2) Дублировать явное имя цели: foo

возникает, когда вы используете один и тот же текст для двух разных ссылок в "Именованные ссылки гиперссылок":

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

Чтобы обойти это, используйте анонимные ссылки ссылки гиперссылки с двойными символами подчеркивания:

`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

Имейте в виду, что порядок, на который они ссылаются в документе, важен. Более подробную информацию можно найти здесь.

Ответ 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>