狮身人面像模板中的自定义jinja2标签

时间:2014-02-19 16:03:43

标签: python jinja2 python-sphinx

我想在我的sphinx文档中实现自定义导航。 我使用基于basic sphinx主题的自定义主题。但我不知道如何为模板系统创建新标签或在html模板中使用我自定义的sphinx插件指令。

我可以插入哪些想法?

更新

正如我在sphinx资源中所看到的,jinja2环境是在 websupport jinja2glue模块中构建的。虽然除了猴子修补之外我无法理解它的重新配置方式。

2 个答案:

答案 0 :(得分:1)

我找到了一个很好的方法来做到这一点。 Sphinx的配置参数template_bridge允许控制TemplateBribge对象 - 它负责主题渲染。

sphinx.jinja2glue.TemplateBridge方法中的标准environment构造init属性(它不是构造函数,方法的不幸名称) - 这是jinja2用于模板的环境本身渲染。所以只需子类TemplateBridge并覆盖init方法。

答案 1 :(得分:0)