在 reStructuredText 中使用 <i> 标签

问题描述 投票:0回答:3

我知道以下语法适用于

<em>
标签:

:emphasis:`lorum ipsum`
*lorum ipsum*

如何生成

<i>
标签?我似乎在标记规范中找不到任何提及。

restructuredtext
3个回答
2
投票

自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
查看结果。


1
投票

在我们深入探讨之前,您确定您真的需要

<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 源代码。


-1
投票

强调由单个星号字符包围的文本:

这是强调文字。 强调的文本通常以斜体显示。

© www.soinside.com 2019 - 2024. All rights reserved.