Добавление тега javascript script в какое-то место, чтобы он работал для каждого файла в документации sphinx
Я использую Sphinx для написания заметок. Я использую расширение Mathjax для Math в примечаниях. Размер по умолчанию для математики немного больше, чем хотелось бы. На странице Mathjax я обнаружил, что могу изменить этот размер, добавив в файл HTML следующий script.
MathJax.Hub.Config({
"HTML-CSS": {scale: 90}
});
Итак, я попытался добавить в файл .rst
следующее:
.. raw:: html
<script type="text/javascript" >
MathJax.Hub.Config({
"HTML-CSS": {
scale: 90
}
});
</script>
==========
Objective
==========
To change math size \\( \\alpha \\).
Вышеизложенное отлично подходит для математики в этом конкретном файле .rst
. Но я хочу сделать это для многих разных .rst файлов, которые являются частью одного и того же документа сфинкса. Можно ли сделать это, не добавляя выше script в каждый .rst
файл?
Спасибо, что прочитали это, и были бы признательны, если вы сможете помочь.
Ответы
Ответ 1
Это можно сделать с помощью шаблона:
-
Создайте папку с именем templates
в каталоге проекта Sphinx.
-
В conf.py добавьте
templates_path = ["templates"]
-
В каталоге templates
создайте файл с именем layout.html
со следующим содержимым:
{% extends "!layout.html" %}
{%- block extrahead %}
<script type="text/javascript">
MathJax.Hub.Config({
"HTML-CSS": {
scale: 90
}
});
</script>
{% endblock %}
Элемент <script>
будет включен в <head>
каждой сгенерированной HTML-страницы.
Блок шаблона extrahead
по умолчанию пуст. Подробнее см. документацию по шаблонам Sphinx.
Ответ 2
Другой метод:
Используйте параметр script_files в вашем переопределенном файле layout.html
.
Ответ 3
И третий подход, который не включает шаблоны:
Вызвать add_javascript
в функции setup
в вашем проекте Sphinx conf.py:
# conf.py
# ... other settings ...
def setup(app):
# (create a setup() function if you don't already have one;
# or add to the existing setup() ...)
app.add_javascript("mathjax-config.js")
Создайте файл "mathjax-config.js" в исходном каталоге _static. (Проверьте параметр conf.py html_static_path
, чтобы проверить статические каталоги или определить его, если это необходимо.) Sphinx скопирует его в выходной файл каталог во время сборки.
Также существует метод add_stylesheet
для файлов css. И оба они могут принимать либо относительные пути к вашим статическим исходным dirs, либо полные URL-адреса для внешних ресурсов.