我正在使用Sphinx和Jinja和JSON扩展来创建用户文档,以具有灵活的模板。
解决方案运行良好,但是一些命令需要一些额外的说明,为此,我找到了一种方法,可以将这些额外的文本放在另一个文件中,并使用include指令将其附加到命令文档中,如下所示:
我的第一个带有模板的文件。
{% for cmd in commands %}
Here the command {{ cmd.description }}
{% if cmd.extra is defined %}
{% for line in cmd.extra %}
{{line}}
{% endfor %}
{% endif %}
{% endfor %}
该解决方案的JSON文件
{
commands: [
{
"description": "Short description here"
"extra": [".. include:: command_extra.rst"]
}
]
}
该解决方案的缺点是,对于每个具有此额外信息的命令,我必须在树中拥有一个额外的rst
文件,Witch会生成许多警告,并使源代码更难以管理。 / p>
我希望找到的解决方案是这样的:
所需的RST文件:
{% for cmd in commands %}
Here the command {{ cmd.description }}
{% if cmd.extra is defined %}
{% for line in cmd.extra %}
{{line}}
{% endfor %}
{% endif %}
{% endfor %}
.. |command1_extra| replace::
Multi line text here
.. |command2_extra| replace::
Multi line text here
所需的JSON文件:
{
commands: [
{
"description": "Short description here"
"extra": ["|command1_extra|"]
}
]
}
是否有任何sphinx / rst指令或扩展名可以使所需的解决方案成为可能?