Как бороться с повторяющимися именами целей в reStructuredText?

Пример:

foo is a tool used to do foo.

Download_

.. _Download: http://example.com/foo

blah blah blah (omit a lot of paragraphs)

bar is another tool to do bar.

Download_

.. _Download: http://example.com/bar

Поскольку Download указывает на разные URL-адреса, docutilus выдает этот отчет об ошибке:

Duplicate target name, cannot be used as a
unique reference: "Download".

Находясь в уценке, я могу указать разные идентификаторы для этих двух Download:

[Download][download-foo]
[download-foo]: http://example.com/foo
[Download][download-bar]
[download-bar]: http://example.com/bar

Как я могу делать подобные вещи в reStructuredText?


person weakish    schedule 30.01.2011    source источник


Ответы (2)


Вариант первый

Как указал @mzjn, сделайте целевое имя более понятным:

`Download foo`_

.. _Download foo: http://example.com/foo

`Download bar`_

.. _Download bar: http://example.com/bar

Вариант второй

Из списка рассылки пользователя docutils:

Используйте анонимную гиперссылку:

Download__


__ http://example.com/foo


Download__

__ http://example.com/bar
person weakish    schedule 08.02.2011

Насколько я могу судить из документации, ссылка имена в документах ReST имеют общее пространство имен, поэтому они должны быть уникальными. Я не могу придумать ничего лучше этого:

foo is a tool used to do foo.

`Download foo`_

.. _Download foo: http://example.com/foo

blah blah blah (omit a lot of paragraphs)

bar is another tool to do bar.

`Download bar`_

.. _Download bar: http://example.com/bar
person mzjn    schedule 07.02.2011
comment
Тогда как насчет этого? Our product integrates with `sphinx`_ (omit a lot of paragraphs) Powered by `sphinx`_ , где первый sphinx ведет на домашнюю страницу поиска sphinx, а второй sphinx ссылается на домашнюю страницу конструктора документации sphinx. - person weakish; 08.02.2011