带有标题和内部列表reStructuredText的自定义指令

时间:2013-06-16 23:34:50

标签: restructuredtext

基本上我要做的就是复制这种风格(来自word doc)但是使用rst。

enter image description here

我在想我可能需要一个自定义指令,我可以在其中包含标题和样式内部复选框。

理想情况下,我希望能够做到这样的事情:

.. handson::

   The title

   - Check one
   - Check two

handson块内的bulltet项目将被设置为复选框,但文档的其余部分将只有正常的项目符号点。

我看了一下自定义指令的内容,但我不确定这是否是解决此问题的最佳方法。如果这对结果有任何影响,我也会使用rst2pdf。

1 个答案:

答案 0 :(得分:1)

如果您不想沿着创建自定义指令的路线走下去,可以使用普通的告诫块并“伪造”复选框。您的标记可以是标准的reStructuredText:

.. admonition:: The title

   - Check one
   - Check two

然后,您可以在reStructuredText文件中包含一些自定义CSS标记,以定位警告中的列表项:

.. raw:: html

   <style>
   .admonition ul { list-style-type: none; } 

   .admonition li:before { content: "\2610"; }
   </style>

这里CSS定位任何列表项元素,它是具有“admonition”类的任何元素的子元素,并使用Unicode Ballot box character,☐替换带有模拟复选框的列表项子弹点。

Docutils会应用additional class to generic admonitions,这是“告诫”和警告标题的串联。因此,在上面的示例中,我们可以更具体地使用CSS规则定位的元素:

.admonition-the-title ul { /* ... */ }

这可用于定位文档中的单个警告。

信用转到these two SO问题的答案How to create a checklist in reStructuredText (reST)?

显然上面的目标是HTML输出。但是,我没有使用rst2pdf,因此无法评论上述需要如何修改才能使用此程序。希望其他人能为此提供答案。据我所知,rst2pdf确实支持cascading stylesheet mechanism,所以它应该是直截了当的(对于知道rst2pdf样式表语法的人)添加额外的.. raw:: pdf角色并修改上面的列表样式。 / p>