javascript - 在某处添加 javascript 脚本标记,以便它适用于 sphinx 文档中的每个文件

标签 javascript python python-sphinx

我正在使用 Sphinx 来写一些笔记。我在笔记中使用数学的 Mathjax 扩展。数学的默认大小比我想要的大一点。在 Mathjax 页面上,我发现我可以通过将以下脚本添加到 HTML 文件来更改该大小。

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 文件执行此操作,这些文件都是同一个 sphinx 文档的一部分。是否可以在不将上述脚本添加到每个 .rst 文件的情况下执行此操作?

感谢您阅读本文,如果您能提供帮助,我们将不胜感激。

最佳答案

这可以通过模板来完成:

  1. 创建一个名为 templates 的文件夹在 Sphinx 项目目录中。

  2. 在conf.py中,添加

    templates_path = ["templates"]
    
  3. 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模板 block 默认为空。查看Sphinx templating documentation了解详情。

关于javascript - 在某处添加 javascript 脚本标记,以便它适用于 sphinx 文档中的每个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9444342/

相关文章:

javascript - 如何在内联样式属性(React)中延迟加载背景图像?

javascript - 我怎样才能自定义两种方式的数据绑定(bind)使表单变脏

javascript - HTML5 视频 : how to turn off subtitles

javascript - 不要在 jQuery fadeOut() 之后重新定位剩余元素

python - 如何使用 Sphinx 的 autodoc 记录嵌套类?

python - 求解线性方程组

python - Django 应用程序的 Cython : would it work?

python - Django 和 Shibboleth

pdf - sphinx 使用latexpdf 在我的pdf 中添加分页符?

c++ - C++ 中的狮身人面像 (Linux)