【发布时间】:2018-09-12 07:42:07
【问题描述】:
我在我的rst 文件中包含了一个raw 指令:
.. raw:: html
< html here >
在 HTML 中,有一个动态放置的字符串,其中包含 reStructuredText。由于它被放置在raw 指令中,因此它不会呈现为 HTML,而是保留为 reStructuredText。
因此,我怎样才能访问 sphinx 的渲染功能,以便我可以手动生成 HTML,因为它会在 raw 指令之外自动生成?
我阅读了几个 sphinx 文件,但可能缺少一些基本信息。
我的理解是:
- jinjia用于模板渲染,不用于文件转换
- sphinx 有多种构建器,一种是 html 构建器(例如
make html)
我尝试使用 pandoc 界面,但 pandoc 生成的 HTML 与 sphinx 不同。所以我需要访问狮身人面像转换功能。
似乎 docutils 用于转换,但单独运行它也会产生不同的 html。所以我假设 sphinx 使用了一个我不知道的模板。
谢谢!
【问题讨论】:
-
问题不清楚。您是说将 reST 语法放在 HTML 内容中,而您又希望
raw指令作为 reST 处理?如果是这样,那是不可能的。相反,您可以使用 HTML 开头的raw指令,然后是您的 reST,然后是关闭的raw指令。 -
是的,这就是我想要的。两个方面:你说不可能,是的,不是正常使用狮身人面像。但是,应该可以通过调用 sphinx 内部使用的转换函数来手动处理该部分(将自定义 jinjia 过滤器添加到环境中)。
-
但是,在考虑您的超级简单解决方案时,所有这些都变得不必要了——两个指令。嗯... :-)
标签: python python-sphinx