自Docutils版本0.17(rsp。存储库版本0.17dev)开始,“html5”编写器将编写
<i>
标签,如果匹配的类值
存在于 inline
和 literal
元素中::
.. role:: i
In the "html5" writer output,
:i:`this text is set in a <i> Element`.
This works also with other roles,
if you give them the "i" class value, e.g.:
.. role:: alternative-voice
:class: i, language-la
Lemonade consists primarily of :alternative-voice:`Citrus limon`.
将示例复制到文件“foo.txt”,例如 并致电
rst2html5.py foo.txt foo.html
查看结果。
在我们深入探讨之前,您确定您真的需要
<i>
标签吗?人们经常使用 <i>
,但他们真正的意思是 <em>
...并且默认情况下它们几乎总是看起来相同...
没有?您真的需要
<i>
标签>吗?好的,那我们就开始吧
为了控制 docutils 发出的 HTML 标签,您需要创建一个新的 “writer”。这些是 docutils 组件,可以以任何所需的格式(例如 HTML、LateX 等)生成输出。
您可以在 docutils 源代码库中找到 docutils 中包含的各种 HTML 编写器此处。
这需要编写一些 Python 代码。本质上,up 需要提供一个 Python 类来发出您想要的 HTML。
简要查看源代码,您可能可以对最适合您需求的 HTML 编写器进行子类化(现在您可能需要
html5_polyglot
)并覆盖 visit_emphasis
方法。
然后,您需要找到一种方法来告诉 docutils 使用您的新作家。查看 tools 目录 获取一些示例。
如果您使用 Sphinx,我真的不确定如何让不同的作家在那里。您可能必须修改(或猴子补丁)Sphinx 源代码。
强调由单个星号字符包围的文本:
这是强调文字。 强调的文本通常以斜体显示。