【问题标题】:Custom jinja2 tag in sphinx template狮身人面像模板中的自定义 jinja2 标记
【发布时间】:2014-02-19 16:03:43
【问题描述】:

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

我可以在哪里插入任何想法?

更新

正如我在 sphinx 源代码中看到的,jinja2 环境构建在 websupport jinja2glue 模块中。虽然我不明白除了猴子补丁之外它可以重新配置的方式。

【问题讨论】:

    标签: python jinja2 python-sphinx


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 我了解如何创建 jinja2 扩展。我只是在 sphinx 项目中没有看到可以插入它的地方。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 2010-11-28
      相关资源
      最近更新 更多