Docutils 节点中文本和原始源的区别。文本?

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

创建新节点如

nodes.title
时,需要提供两个字符串:

  1. rawsource
  2. text

我经常看到这个:

nodes.title('foobar', 'foobar', ids=[id])

或者某个时候...

nodes.target('', '')

我不明白为什么会出现这种重复,以及为什么具有或不具有两倍相同的值是有用的。

python python-sphinx docutils
1个回答
0
投票

文档树节点的“rawsource”属性用于诊断目的。 它允许检查哪个 rST 源部分导致了特定节点的创建。 生产代码不应依赖它,将其留空不应改变输出。

直到 Docutils 0.16,rST 解析期间“text”属性中的转义字符已被删除。即使在

nodes.Text
元素中,这也可能导致不同的“文本”和“原始源”。

自 0.16 起,

nodes.Text.rawsource
是可选的,仅保留向后兼容性,自 Docutils 0.18 起已弃用,并将在 Docutils 2.0 中删除。

注意,其他节点(继承自

nodes.Element
)保留“rawsource”属性。

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