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

Форматировать текст по ссылке в reStructuredText

Как вы форматируете текст в указанной ссылке в reStructuredText?

В частности, я хочу сгенерировать следующий HTML из первого:

<a href="#" onclick="location.href='http://docs.python.org/library/optparse.html'; return false;"><tt>optparse.OptionParser</tt> documentation documentation</a>

Результат должен выглядеть так:

optparse.OptionParserдокументация

где часть "optparse.OptionParser" имеет шрифт фиксированной ширины.

Я пробовал

```optparse.OptionParser`` <http://docs.python.org/library/optparse.html>`_

однако это дало

<tt class="docutils literal">`optparse.OptionParser</tt> documentation &lt;<a class="reference external" href="#" onclick="location.href='http://docs.python.org/library/optparse.html'; return false;">http://docs.python.org/library/optparse.html</a>&gt;`_

который выглядит следующим образом

`` optparse.OptionParser documentation <http://docs.python.org/library/optparse.html>\ _

4b9b3361

Ответ 1

Эта конструкция:

Here you have |optparse.OptionParser|_.

.. |optparse.OptionParser| replace:: ``optparse.OptionParser`` documentation
.. _optparse.OptionParser: http://docs.python.org/library/optparse.html

создает этот HTML-код (добавляются некоторые строки):

<p>Here you have 
  <a class="reference external" href="http://docs.python.org/library/optparse.html">
  <tt class="docutils literal"><span class="pre">optparse.OptionParser</span></tt> documentation</a>.
</p>

Я понимаю, что это не совсем то, о чем вы просили, но, возможно, это достаточно близко. См. Также http://docutils.sourceforge.net/FAQ.html#is-nested-inline-markup-possible.

Ответ 2

Вы пробовали intersphinx? Используя это расширение, выполните следующую разметку:

:py:class:`optparse.OptionParser`

создает этот HTML-код:

<a class="reference external" href="http://docs.python.org/2.6/library/optparse.html#optparse.OptionParser" title="(in Python v2.6)"><tt class="xref py py-class docutils literal"><span class="pre">optparse.OptionParser</span></tt></a>

Протестировано с помощью Python 2.6 и Sphinx 1.0.5.

Ответ 3

Взятие с той же страницы часто задаваемых вопросов, на которую ссылается mzjn:

The "raw" directive can be used to insert raw HTML into HTML output:

Here is some |stuff|.

.. |stuff| raw:: html

   <em>emphasized text containing a
   <a href="http://example.org">hyperlink</a> and
   <tt>inline literals</tt></em>

Теоретически возможно делать сложные вещи с тем, что невозможно сделать с помощью RST.

Ответ 4

Если вы действительно хотите получить эквивалент HTML/CSS

<span class="red">This is red text</span>

в reStructuredText, используя Sphinx, вы можете сделать это, создав роль:

.. role:: red

Затем вы используете его следующим образом:

:red:`This is red text`

В конце строки выше должна быть только одна отметка `. Вы, конечно, должны иметь

.red { color: red }

в вашем файле CSS.