diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-10-16 00:47:20 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-10-17 01:42:17 +0900 |
commit | 2e6e940df857d4710e2a125a1d239587bc8f7a69 (patch) | |
tree | 86f91f497bf7e68ae098103b727c6eed014a4b75 /sphinx/ext/jsmath.py | |
parent | be2b86cc15a2f5fca1581c25ebf2db9a189dbc41 (diff) | |
download | sphinx-git-2e6e940df857d4710e2a125a1d239587bc8f7a69.tar.gz |
Fix #5497: Do not include MathJax.js and jsmath.js unless it is really needed
Diffstat (limited to 'sphinx/ext/jsmath.py')
-rw-r--r-- | sphinx/ext/jsmath.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/sphinx/ext/jsmath.py b/sphinx/ext/jsmath.py index 0ee42050c..3babd408e 100644 --- a/sphinx/ext/jsmath.py +++ b/sphinx/ext/jsmath.py @@ -21,6 +21,7 @@ if False: # For type annotation from typing import Any, Dict # NOQA from sphinx.application import Sphinx # NOQA + from sphinx.environment import BuildEnvironment # NOQA def html_visit_math(self, node): @@ -58,14 +59,16 @@ def html_visit_displaymath(self, node): raise nodes.SkipNode -def builder_inited(app): - # type: (Sphinx) -> None +def install_jsmath(app, env): + # type: (Sphinx, BuildEnvironment) -> None if app.builder.format != 'html' or app.builder.math_renderer_name != 'jsmath': # type: ignore # NOQA - pass - elif not app.config.jsmath_path: + return + if not app.config.jsmath_path: raise ExtensionError('jsmath_path config value must be set for the ' 'jsmath extension to work') - if app.builder.format == 'html': + + if env.get_domain('math').has_equations(): # type: ignore + # Enable jsmath only if equations exists app.builder.add_js_file(app.config.jsmath_path) # type: ignore @@ -76,5 +79,5 @@ def setup(app): (html_visit_displaymath, None)) app.add_config_value('jsmath_path', '', False) - app.connect('builder-inited', builder_inited) + app.connect('env-check-consistency', install_jsmath) return {'version': sphinx.__display_version__, 'parallel_read_safe': True} |