首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向sphinx中的某些文档添加自定义脚本

向sphinx中的某些文档添加自定义脚本
EN

Stack Overflow用户
提问于 2017-10-24 21:33:21
回答 1查看 649关注 0票数 1

我有这个文件夹结构,用于在sphinx中生成文档(html):

代码语言:javascript
复制
doc-root
- static (custom.css, custom.js)
- doc-1 (*.rst)
- doc-2 (*.rst)
- doc-3 (*.rst)
conf.py
index.rst (toctree for doc-1, doc-2 and doc-3)

我正在生成custom.js,并且只想为doc-2添加htmls作为脚本标记。

我尝试在根conf.py的设置(App)中添加app.add_javascript(' custom.js '),但是sphinx将custom.js添加到所有生成的htmls中。

我添加了一个doc-1/conf.py并添加了设置(App),但它永远不会被调用,因为我在根目录下使用-c选项从根目录生成htmls。

有没有办法做到这一点,通过让sphinx从子文件夹中尊重conf.py,或者在根conf.py中提供逻辑?

EN

回答 1

Stack Overflow用户

发布于 2017-10-25 00:11:05

我想出了一个解决方案:

将custom.js添加到_static/文件夹,然后创建一个包含以下内容的doc-root/templates/layout.html文件:

代码语言:javascript
复制
{% extends "!layout.html" %}

{%- block extrahead %}
<meta name="sourcename" content="{{ sourcename }}" />
{% if "doc-2" in sourcename %}
  <script type="text/javascript" src="./_static/custom.js"></script>
{% endif %}
{% endblock %}

确保src属性指向正确的相对js文件。我添加了meta标记只是为了响应当前的doc值。当sourcename变量包含doc-2/index.rst.txt值时,将添加脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46911929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档