Sto usando Sphinx per documentare un progetto python. Sto usando la tela per visualizzare alcuni risultati nella documentazione. La mia documentazione deve supportare Firefox e IE. Devo includere la libreria excanvas.js nella documentazione, ma solo se il brower è IE. Come posso includere condizionatamente questa libreria in modo che i percorsi relativi siano corretti?Come modificare <head> nella documentazione di Sphinx in modo che i collegamenti relativi siano aggiornati?
esempio ....
cartelle di documentazione
/sphinx
/source
working_test_page.rst
test_block.html
/nested
non_working_test_page.rst
test_block_copy.html
/_templates
layout.html
/_static
excanvas.js
...
Per le note alla Sphinx' documentation pages, il file layout.html è stato modificato. Questa modifica consisteva nell'inserire un blocco condizionale di HTML nel template head che aggiunge excanvas.js se la pagina viene visualizzata su IE.
{% extends "!layout.html" %}
{% block extrahead %}
<!--[if IE]>
<script type="text/javascript" src="_static/excanvas.js"></script>
<![endif]-->
{% endblock %}
Il working_test_page.rst di file e non_working_test_page.rst avere gli stessi contenuti. I contenuti seguono. L'unica differenza è la posizione dei file.
Script Test
==========
.. raw:: html
:file: test_block_1.html
Il test_block.html di file e test_block_copy.html hanno lo stesso contenuto. I due file contengono un codice HTML che imposta una tela e la usa.
Quando sfinge compila i file prime nella cartella di compilazione HTML, i seguenti file risultati di struttura:
/sphinx
/build
working_test_page.html
/nested
non_working_test_page.html
/_static
excanvas.js
...
Il file working_test_page.html ha il percorso corretto per excanvas.js e carichi correttamente. Il file non_working_test_page.html ha il percorso sbagliato per excanvas.js e non viene caricato correttamente.
Come è possibile caricare excanvas.js in modo condizionale in modo che i percorsi relativi nella documentazione della sfinge siano corretti indipendentemente dalla posizione dei primi file?