我使用simple extension设置了配置值 big_logo 。我还测试了使用 sphinx.ext.ifconfig 设置配置值的方法,它似乎有效。
现在,我想在layout.html的模板中使用它 如下:
{% extends "!layout.html" %}
{% block header %}
{%- if big_logo %}
<div style="background-color: white;>
<img src="{{ pathto("_static/" + big_logo, 1) }}" alt="logo" />
</div>
{% endif %}
{% endblock %}
然而,这不起作用; make html 产量:
Exception occurred:
File "...", line 7, in block "header"
<img src="{{ pathto("_static/" + big_logo, 1) }}" alt="logo" />
UndefinedError: 'big_logo' is undefined
这似乎与基本主题的layout.html相同:
{%- block sidebarlogo %}
{%- if logo %}
<p class="logo"><a href="{{ pathto(master_doc) }}">
<img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
我唯一的疑问是 conf.py 不会设置变量“logo”而是设置“html_logo”。
如何在模板中使用配置值?
答案 0 :(得分:2)
您想要传递配置值the html context setting。根据我的理解,模板中只能使用变量defined by Sphinx和此词典中的变量。我不确定这将如何与您设置配置变量的方式相互作用,假设您想要像在other question中描述的那样进行,但它应该是可行的。请记住,conf.py
文件实际上只是普通的旧Python。