如何在reStructuredText中的表示链接中格式化文本?
具体来说,我希望从我的第一个生成以下HTML:
<a href="http://docs.python.org/library/optparse.html"><tt>optparse.OptionParser</tt> documentation documentation</a>
结果应如下所示:
其中“optparse.OptionParser”部分采用固定宽度字体。
我试过
```optparse.OptionParser`` <http://docs.python.org/library/optparse.html>`_
然而,这给了
<tt class="docutils literal">`optparse.OptionParser</tt> documentation <<a class="reference external" href="http://docs.python.org/library/optparse.html">http://docs.python.org/library/optparse.html</a>>`_
看起来像这样
``optparse.OptionParser
documentation <http://docs.python.org/library/optparse.html>\
_
答案 0 :(得分:72)
这个结构:
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。
答案 1 :(得分:4)
你试过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进行测试。
答案 2 :(得分:3)
从mzjn引用的相同FAQ页面中获取:
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无法完成的复杂事情。
答案 3 :(得分:0)
如果你想基本上得到相当于
的HTML / CSS<span class="red">This is red text</span>
在使用Sphinx的reStructuredText中,您可以通过创建角色来实现:
.. role:: red
然后你就这样使用它:
:red:`This is red text`
上面一行的末尾应该只有一个刻度线`
。
当然,你必须拥有
.red { color: red }
在CSS文件中。