Отформатировать текст в ссылке в reStructuredText - PullRequest
63 голосов
/ 20 января 2011

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

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

<a href="http://docs.python.org/library/optparse.html"><tt>optparse.OptionParser</tt> documentation documentation</a>

Результат должен выглядеть следующим образом:

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

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

Iпробовал

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

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

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

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

Ответы [ 4 ]

73 голосов
/ 29 января 2011

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

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.

4 голосов
/ 20 января 2011

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

: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 голосов
/ 10 января 2014

Взяв с той же страницы FAQ, на которую ссылается 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.

0 голосов
/ 04 августа 2011

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

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

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

.. role:: red

Тогда вы используете это так:

:red:`This is red text`

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

.red { color: red }

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

...