[reStructuredText中的链接中的文本格式

问题描述 投票:71回答:4

您如何格式化reStructuredText中指定链接内的文本?

特别是,我希望从我的第一个脚本中生成以下HTML:

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

结果应如下所示:

optparse.OptionParser documentation

其中“ optparse.OptionParser”部分为固定宽度的字体。

我尝试过

optparse.OptionParser

但是,这给了

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

看起来像这样

``optparse.OptionParser<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;`_ _

python-sphinx restructuredtext
4个回答
82
投票

此结构:

产生此HTML(添加了一些换行符):

Here you have |optparse.OptionParser|_.

.. |optparse.OptionParser| replace:: ``optparse.OptionParser`` documentation
.. _optparse.OptionParser: http://docs.python.org/library/optparse.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>


5
投票

您是否尝试过http://docutils.sourceforge.net/FAQ.html#is-nested-inline-markup-possible?使用该扩展名,以下标记:

intersphinx

产生此HTML:

:py:class:`optparse.OptionParser`

使用Python 2.6和Sphinx 1.0.5进行测试。


3
投票

取自mzjn引用的同一FAQ页面:

<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>

从理论上讲,应该可以用RST无法完成的复杂工作。


0
投票

如果您本质上想获得与HTML / CSS等效的

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>

在使用Sphinx的reStructuredText中,您可以通过创建角色来做​​到这一点:

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

然后您就这样使用它:

.. role:: red

上面一行的末尾应该只有一个刻度线:red:`This is red text` 。当然,您必须具有

`

在您的CSS文件中。

© www.soinside.com 2019 - 2024. All rights reserved.