我正在使用ReStructuredText(ReST)格式编写一些文档,以便稍后使用Sphinx生成网页,我找不到编写一些“粗体斜体”文本的方法。
有所谓的“强调”(斜体)和“强调”(粗体)文本的标记。他们分别是*italic text*
和**bold text**
。我还阅读了一些关于这种格式的文档,这些格式标记不能简单地“嵌套”。即***text***
(或** *text* **
)不会产生粗体斜体文本。
仍然可能有某种方式来生成一个用粗体和斜体标记强调的文本,因为通过这种方式标记文本片段是一种普遍的做法。
尽管Markdown支持嵌套粗体和斜体,但reStructuredText却不支持(这是Markdown功能更强大的罕见情况之一,因为无法在reStructuredText中表示粗体斜体)。
HTML输出的配方。
my.rst
:
.. role:: red
:class: red
.. role:: bolditalic
:class: bolditalic
:red:`WARNING` :bolditalic:`Don't be stupid!`
my.css
:
.red { color: red; }
.bolditalic {
font-weight: bold;
font-style: italic;
}
建立者:
rst2html --strip-comments --halt warning --stylesheet=my.css my.rst my.html
在sphinx中,这可以通过自定义角色实现:您在css中创建一个样式,并使角色指向该样式。以下是带下划线的文本的完整工作示例:sphinx-dev thread。
编辑:
这是一个很好的例子:ReST strikethrough
编辑2:
sphinx-dev链接不再可用,所以这里是要点,它与上面的删除线链接非常相似:
CSS:
span.underlined {
text-decoration: underline;
}
在RST中注册角色:
.. role:: underlined
:class: underlined
以后再用它
:underlined:`test`
所有这些都可以在一个RST文档中:
.. raw:: html
<style type="text/css">
span.underlined {
text-decoration: underline;
}
</style>
.. role:: underlined
:class: underlined
:underlined:`test`
测试它::
rst2html5.py test01.rst test01.html