reST: встроенные ссылки с произвольными заголовками?

Если я определил внутреннюю цель гиперссылки, как я могу сослаться на нее, используя произвольный текст в качестве заголовка ссылки?

Например:

_`This is a very long internal link target`.

...

A `short reference`_ to the very long link target.

Как я могу сделать «короткую ссылку» целью «очень длинной внутренней цели»?

Изменить. Другой пример:

Widgets
=======

...

Use a `widget`_.

Как я могу сделать ссылку «виджет» (единственное число) на заголовок «Виджеты» (множественное число)?

(конечно, я понимаю, что это можно сделать с помощью `widget`_\s… Но это не решает общей проблемы)


person David Wolever    schedule 20.04.2011    source источник


Ответы (3)


Я не нашел способа сделать это, используя «стандартный» reST. Но с Sphinx работает следующее:

.. _`This is a very long internal link target`:

:ref:`Short reference <This is a very long internal link target>` to the very long link target.
person mzjn    schedule 25.04.2011

Хорошо, ответ mzjn также работает для классов:

:class:`MyClasses <mymodule.MyClass>` in plural is awesome.

Ура!

person Steve Pike    schedule 28.06.2011

Чистый метод reStructuredText заключается в определении нескольких имен целей для одной и той же цели:

.. _my widget:
.. _above:
My long title about widgets
===========================
…
See how to use  `my widget`_ in the section above_.

(Ограничение этого подхода заключается в том, что вы можете использовать один и тот же текст (например, "выше") для двух разных местоположений, и описанный выше подход в этом случае не работает. )

person Eric O Lebigot    schedule 10.05.2018