Dla przypomnienia, jest to rozwiązanie znacznie bardziej hack niż rozwiązanie ale teraz nie znajdę czegoś lepszego ...
pierwsze, wszystkim trzeba zrozumieć mojego obejścia jest oparty na motywy. W dokumencie używasz motywu (domyślnego lub niestandardowego), ale w każdym razie używasz motywu. Ten motyw jest podzielony na różne części (strona, toc, ...), które można indywidualnie przesłonić. To przesłonięcie może być wykonane na innym poziomie: sam motyw lub w niestandardowym katalogu szablonu projektu (domyślnie _templates
) (konfigurowalny w conf.py
).
Moje obejście polega na zastąpieniu szablonu page.html
w katalogu _templates
, który reprezentuje wszystkie strony w dokumentacji. W tym szablonie masz dostęp do pagename
(względna ścieżka do dokumentu dla każdego pliku). Wiedząc o tym, możesz wykonać warunkowe sprawdzenie w tym szablonie, aby wykryć, czy jest to plik, który chcesz zastąpić &, a następnie go przesłonić. Jeśli nie jest to plik, który musi być nadpisane, po prostu awaryjne na zachowanie domyślne:
{% extends "layout.html" %}
{% block body %}
{% if pagename == 'index' %}
{% include 'custom/index.html' %}
{% else %}
{{ body }}
{% endif %}
{% endblock %}
Jak wyjaśnić, to naprawdę brzmi jak hack ...
Czy ty ewentualnie znaleźć rozwiązanie? –
Tak, znalazłem rozwiązanie, ale to naprawdę brzmi jak włamanie ... Przesłoniłem szablon 'page.html' i wykonałem test warunkowy zgodnie z szablonem' pagename' & then 'include' zamiast z prawdziwy ... – egeloen
Czy możesz tu wkleić to rozwiązanie? Byłoby pomocne, nawet jeśli to tylko hack. –