{"id":953,"library":"sphinxcontrib-jsmath","title":"Sphinx Contrib JSMath","description":"Sphinxcontrib-jsmath is a Sphinx extension that enables rendering of display math in HTML output via JavaScript, utilizing the older jsMath library. It is often chosen for its smaller JavaScript package size compared to newer alternatives like MathJax. The current version is 1.0.1, last released in January 2019, but it continues to receive compatibility updates for newer Sphinx versions through various distribution packages.","status":"active","version":"1.0.1","language":"python","source_language":"en","source_url":"https://github.com/sphinx-doc/sphinxcontrib-jsmath","tags":["Sphinx","extension","math","JavaScript","HTML","documentation"],"install":[{"cmd":"pip install sphinxcontrib-jsmath","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"This is a Sphinx extension and requires Sphinx to function.","package":"Sphinx","optional":false}],"imports":[{"note":"The old 'sphinx.ext.jsmath' path was moved to 'sphinxcontrib.jsmath' in Sphinx 2.0 and the alias removed in Sphinx 4.0. Always use 'sphinxcontrib.jsmath' for modern Sphinx versions.","wrong":"extensions = ['sphinx.ext.jsmath']","symbol":"Extension Configuration","correct":"extensions = ['sphinxcontrib.jsmath']"}],"quickstart":{"code":"# conf.py\n\n# Add 'sphinxcontrib.jsmath' to the list of extensions\nextensions = [\n    'sphinxcontrib.jsmath',\n    # ... other extensions\n]\n\n# Set the path to the jsMath library.\n# This example assumes jsMath is placed in your Sphinx project's _static directory,\n# e.g., <your_project_root>/_static/jsMath/easy/load.js\n# You need to download the jsMath library separately and place it there.\n# If jsMath is hosted externally, provide the full URL.\njsmath_path = 'jsMath/easy/load.js'","lang":"python","description":"To enable sphinxcontrib-jsmath, add 'sphinxcontrib.jsmath' to the `extensions` list in your Sphinx project's `conf.py` file. Additionally, you must configure `jsmath_path` to point to the `jsMath/easy/load.js` file, which typically resides in your Sphinx project's `_static` directory after you've manually downloaded the jsMath library."},"warnings":[{"fix":"Be aware of the limitations of an older rendering engine. For more actively maintained math rendering, consider `sphinx.ext.mathjax`.","message":"The underlying jsMath library, on which this Sphinx extension relies, is no longer actively developed. This means new math rendering features or bug fixes specific to the JavaScript rendering engine are unlikely to be implemented.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Always use `'sphinxcontrib.jsmath'` in your `extensions` list in `conf.py`. This change was introduced in Sphinx 2.0, with the alias for the old path removed in 4.0.","message":"The import path for this extension changed. For Sphinx versions 4.0 and newer, `sphinx.ext.jsmath` is no longer a valid entry for `extensions` in `conf.py`.","severity":"breaking","affected_versions":"Sphinx >= 4.0"},{"fix":"Ensure `jsmath_path` is correctly configured in `conf.py` to point to the `jsMath/easy/load.js` file, typically within your `_static` directory or an external URL.","message":"The `jsmath_path` configuration variable has no default value. You must explicitly set this path in your `conf.py` to the location of the `jsMath/easy/load.js` file. Failure to do so will result in math not being rendered in your HTML output.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Modern browsers should render correctly, but be aware of potential issues with extremely old or niche browser environments.","message":"Due to the `jsMath` library's age, it may have known bugs or suboptimal rendering with very old or specific browser versions (e.g., Opera 9.5, MSIE). While these browsers are largely obsolete, it highlights the legacy nature of the underlying technology.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"search_vec":"'1.0.1':47 '2019':52 'altern':40 'chosen':30 'compar':37 'compat':58 'continu':55 'contrib':2 'current':44 'display':15 'distribut':66 'document':73 'enabl':12 'extens':10,69 'html':18,72 'januari':51 'javascript':21,34,71 'jsmath':3,6,25 'last':48 'librari':26 'like':41 'math':16,70 'mathjax':42 'newer':39,61 'often':29 'older':24 'output':19 'packag':35,67 'receiv':57 'releas':49 'render':13 'size':36 'smaller':33 'sphinx':1,9,62,68 'sphinxcontrib':5 'sphinxcontrib-jsmath':4 'updat':59 'util':22 'various':65 'version':45,63 'via':20","created_at":"2026-03-29T06:09:16.378849+00:00","updated_at":"2026-03-29T06:09:16.378849+00:00","problems":{"verify_error":"no import statement found"},"ecosystem":"pypi","meta_description":null,"install_score":80,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.0.1","cli_name":"","cli_version":null,"type":"library","homepage":"http://sphinx-doc.org/","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/sphinxcontrib-jsmath/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["web-framework","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-28","last_verified":"2026-08-27","next_check":"2026-07-05","install_tag":"verified"}}