如何覆盖readthedocs上的模板?

时间:2015-12-01 12:40:59

标签: python jinja2 python-sphinx read-the-docs

我最近将sphinx documentation for blowdrycss添加到了readthedocs。

我想覆盖readthedocs上的layout.html模板。我当前的模板覆盖在localhost上工作正常,但在readthedocs上没有。该项目使用了Alabaster主题,扩展了基本主题。

可以看到项目目录结构here

相关部分是:

blowdrycss/
    docs/
        _templates/
            layout.html

        conf.py

conf.py中的模板设置:

templates_path = ['_templates']

layout.html的内容:

{% extends '!layout.html' %}


{% block sidebarsearch %}
    {{ super() }}
    <a href="https://flattr.com/submit/auto?user_id=nueverest&url=https%3A%2F%2Fgithub.com%2Fnueverest%2Fblowdrycss" target="_blank"><img src="http://button.flattr.com/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0"></a>
{% endblock %}


{% block footer %}
    <div class="footer" style="text-align: center;">
        <a href="https://flattr.com/submit/auto?user_id=nueverest&url=https%3A%2F%2Fgithub.com%2Fnueverest%2Fblowdrycss" target="_blank"><img src="http://button.flattr.com/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0"></a>
    </div>
    {{ super() }}
{% endblock %}

如何覆盖readthedocs上的layout.html模板?

更新 我也试过了:

相关部分是:

blowdrycss/
    docs/
        custom_templates/
            layout.html

        conf.py

conf.py中的模板设置:

templates_path = ['custom_templates']

2 个答案:

答案 0 :(得分:2)

虽然readthedocs不会立即支持templates_path,但您可以使用带有模板的自定义主题。 http://sphinx-doc.org/theming.html

只需创建一个新主题目录并将其添加到conf.py

html_theme = 'your_theme'
html_theme_path = ['.']

您可以在我的某个项目中看到一个示例:

答案 1 :(得分:0)