Estoy usando Sphinx para documentar un proyecto de Python. Estoy usando el lienzo para visualizar algunos resultados en la documentación. Mi documentación necesita ser compatible con Firefox e IE. Necesito incluir la biblioteca excanvas.js en la documentación, pero solo si el navegador es IE. ¿Cómo puedo incluir esta biblioteca de forma condicional para que las rutas relativas sean correctas?¿Cómo modificar el <head> en la documentación de Sphinx para que se actualicen los enlaces relativos?
Ejemplo ....
carpetas de documentación
/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
...
por las notas en Sphinx' documentation pages, se modificó el layout.html archivo. Esta modificación consistía en insertar un bloque condicional de HTML en el encabezado de la plantilla, que agrega excanvas.js si la página se visualiza en IE.
{% extends "!layout.html" %}
{% block extrahead %}
<!--[if IE]>
<script type="text/javascript" src="_static/excanvas.js"></script>
<![endif]-->
{% endblock %}
El working_test_page.rst archivo y non_working_test_page.rst tienen el mismo contenido. Los contenidos siguen. La única diferencia es la ubicación de los archivos.
Script Test
==========
.. raw:: html
:file: test_block_1.html
El archivo test_block.html y test_block_copy.html tienen los mismos contenidos. Los dos archivos contienen un poco de HTML que configura un lienzo y lo usa.
Cuando esfinge compila los archivos primeras en el directorio de construcción HTML, los archivos siguientes resultados: estructura
/sphinx
/build
working_test_page.html
/nested
non_working_test_page.html
/_static
excanvas.js
...
El working_test_page.html archivo tiene el camino correcto para excanvas.js y cargas correctamente. El archivo non_working_test_page.html tiene una ruta incorrecta a excanvas.js y no se carga correctamente.
¿Cómo se puede cargar excanvas.js condicionalmente para que las rutas relativas en la documentación de sphinx sean correctas independientemente de la ubicación de los primeros archivos?