Powiedzmy mam projekt Sphinx z następujących źródeł:Jak dołączyć stronę główną do spisu Sphinx?
index.rst
installation.rst
templating/
index.rst
module.rst
fieldtype.rst
index.rst (strona główna) ma następujący drzewo TOC:
.. toctree::
:titlesonly:
installation
templating/index
chcę mój szablon do obejmują pasek boczny zawierający wszystkie 3 strony najwyższego poziomu (strona główna, instalacja, szablon/indeks).
Próbowałem dodanie drugiego, ukrytego drzewa TOC w głównej:
.. toctree::
:hidden:
index
.. toctree::
:titlesonly:
installation
templating/index
To rzeczywiście daje mi pożądanego rezultatu, wyjątkiem że czyni next
zmienny zestaw do bieżącej strony. Więc ten kod w moim szablonie:
Next up: <a href="{{ next.link }}">{{ next.title }}</a>
... zawsze wyświetla link strony głównej ze strony głównej. Nie dobrze.
Zawsze starał się zakodować rzeczywistą stronę odnośnik prawo w bocznym w szablonie:
{% set homeClass = 'current' if pagename == 'index' else '' %}
<ul class="{{ homeClass }}">
<li class="toctree-l1 {{ homeClass }}"><a class="{{ homeClass }} reference internal" href="/index.html">Home</a></li>
</ul>
{{ toctree() }}
To też działa, oprócz tego, że nie chcę, aby wymusić docs być dostępne na webroot serwera WWW - chcę, żeby działały również z systemu plików.
Nie mogę po prostu ustawić adresu URL na "index.html", ponieważ nie zadziała, gdy znajdujesz się w pliku w szablonie /.
Czy brakuje mi czegoś oczywistego? Musi istnieć sposób na przeniesienie strony głównej do spisu treści, bez łamania łączy i dynamicznej ścieżki, która działa w lokalnym systemie plików, nawet z podfolderów.
Nice! To jest wielki szczegół, który przegapiłem. –
i 'Home' zmienia nazwę łącza do "Home" –
shadi
Niestety "self" nie zawiera żadnych podtytułów (zobacz https://github.com/sphinx-doc/sphinx/issues/2103). – asmeurer