使用reStructuredText添加带自定义“id”和“class”属性的HTML

13 投票
4 回答
4077 浏览
提问于 2025-04-16 05:02

我正在使用rsStructuredText来生成HTML,想要在一个

段落外面加一个额外的div元素。这个div必须有一个“id”属性,值是我自己指定的。同时,这个

段落也必须有一个“class”属性,值是“editable”。

这是我目前的代码:

.. raw:: html 

   <div id="an_identifier">

.. class:: editable                                                                 

   paragraph content

.. raw:: html

   </div>

这是输出的结果:

<div id="an_identifier">
    <p class="editable">paragraph content</p>
</div>

虽然我已经得到了想要的结果,但我不喜欢直接嵌入原始HTML代码。我的问题是,在reStructuredText中有没有什么指令或其他方法可以做到同样的效果,而不那么突兀

4 个回答

2

如果你发现新加的“container”类和Bootstrap里同名的类冲突了(真让人头疼),可以试试下面这个:

.. class:: class_name

    paragraph content
24

自从0.8版本发布(2011年7月7日)以来,你可以使用一个叫做“容器指令”的东西,并且可以给它起个名字:

 .. container:: test
    :name: my-id

    a paragraph

这会得到以下结果

  <div class="test container" id="my-id">
  a paragraph
  </div>
2

我最近在做类似的事情,找到了一个解决办法,具体可以在这里查看。你需要做的是使用一个自定义指令,并把它添加到一个已有的写入器中。你可以简单地把链接中的指令(稍微修改一下)添加到rst2html.py脚本里,这样就可以了。还有,查看一下创建指令的文档,会对你有帮助。

撰写回答