Per la cronaca, questa soluzione è molto più un hack che una soluzione, ma per ora, non mi trovare qualcosa di meglio ...
In primo luogo, di tutto ciò che serve per capire la mia soluzione è basata sulla tematizzazione. Nel tuo documento, usi un tema (quello predefinito o uno personalizzato), ma in ogni caso, usi un tema. Questo tema è diviso in diverse parti (pagina, toc, ...) che possono essere sovrascritte individualmente. Questa sostituzione può essere eseguita a diversi livelli: il tema stesso o nella directory del modello personalizzato del progetto (per impostazione predefinita _templates
) (configurabile nello conf.py
).
La mia soluzione alternativa è di ignorare il modello page.html
nella directory _templates
che rappresenta tutte le pagine della documentazione. In questo modello, si ha accesso allo pagename
(relativo al percorso doc di ciascun file). Sapendo questo, è possibile eseguire alcuni controlli condizionali in questo modello per rilevare se si tratta di un file che si desidera sovrascrivere & quindi sostituirlo. Se non si tratta di un file che devono essere ignorato, semplicemente ripiego sul comportamento di default:
{% extends "layout.html" %}
{% block body %}
{% if pagename == 'index' %}
{% include 'custom/index.html' %}
{% else %}
{{ body }}
{% endif %}
{% endblock %}
Come spiegare, suona davvero come un hack ...
avete fatto alla fine trovare una soluzione? –
Sì, ho trovato una soluzione ma suona davvero come un hack ... Ho scavalcato il modello 'page.html' e ho fatto qualche controllo condizionale in base al' pagename' e poi al modello personalizzato 'include' al posto del vero uno ... – egeloen
Potresti incollare la soluzione qui? Sarebbe utile anche se fosse solo un trucco. –