Sphinx 别名支持(替换?)

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

我正在考虑将我的文档从 Doxygen 转移到 Sphinx 并寻找 Doxygen 别名的替代方案。

在 Doxygen 中,我有一个别名,可以将复杂的命令(如表格)替换为更易读的格式,如下所示(这只是一个示例,我有更复杂和嵌套的示例):

   table_row2{2}=<tr><td align= center>\1</td><td align= center>\2</td></tr> 

 limited_res{1}=The number of supported \1 depends on the specific platform. See the \ref appendixes section" 

它可以在文档中使用,如下所示:

...
table_h2{ Resource Name, Value }  
table_row2{ MAC Entries , 256}
table_row2{ Ingress Flow , \limited_res { Ingress Flow } }
...

我在 Sphinx 中发现的最接近的东西是替换,但即使是简单的命令替换,我也很难让它工作,如下所示:

.. |H1| replace:: `*****************************************************`

My section
|H1|

H1 要么不编译,要么只打印“*...*”。

我不确定这是语法问题还是无法完成。我试图避免记住 */ +/ -/ = 的含义,并根据嵌套级别对其进行命名。这几天我的记忆力不太好:)

更重要的问题:替换似乎不接受我认为必不可少的参数。

我可以考虑的另一个选择是编写像this这样的扩展,但我希望有一个更简单的方法。

python-sphinx substitution restructuredtext sections
2个回答
0
投票

要使星号出现在“我的部分”下方,您需要至少有一个空行将“我的部分”与“|H1|”分隔开。 Sphinx/docutils 中的空格有意义,并且分隔的内容被解释为两个段落而不是内联文本。

.. |H1| replace:: `*****************************************************`

My section

|H1|

要显示反引号,请使用反斜杠字符

\
将其转义。

.. |H1| replace:: \`*****************************************************\`

My section

|H1|

如果您想插入原始数据,您可以使用

raw
指令

编辑

这将创建一个部分

My section
==========

两个段落之间的空行将生成段落,如上所述。


0
投票

这种类型的别名最好在自定义预处理器中完成(也许已经有一个 Sphinx 扩展)。

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