diff --git a/packages/voila/src/index.ts b/packages/voila/src/index.ts index a47a63dc3..08e8e74e3 100644 --- a/packages/voila/src/index.ts +++ b/packages/voila/src/index.ts @@ -18,6 +18,8 @@ export { EditorLanguageRegistry } from '@jupyterlab/codemirror'; +export { PageConfig } from '@jupyterlab/coreutils'; + export { MathJaxTypesetter } from '@jupyterlab/mathjax2-extension'; export { createMarkdownParser } from '@jupyterlab/markedparser-extension'; diff --git a/packages/voila/src/manager.ts b/packages/voila/src/manager.ts index 57db3b6bf..0dd4f964d 100644 --- a/packages/voila/src/manager.ts +++ b/packages/voila/src/manager.ts @@ -71,22 +71,6 @@ if (typeof window !== 'undefined' && typeof window.define !== 'undefined') { window.define('@lumino/domutils', LuminoDomutils); } -const [urlParam, configParam] = ['fullMathjaxUrl', 'mathjaxConfig']; -const url = CoreUtils.PageConfig.getOption(urlParam); -const config = CoreUtils.PageConfig.getOption(configParam); -if (url !== 'null' || config !== 'null') { - CoreUtils.PageConfig.setOption( - urlParam, - url === 'null' - ? 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js' - : url - ); - CoreUtils.PageConfig.setOption( - configParam, - config === 'null' ? 'TeX-AMS_CHTML-full,Safe' : config - ); -} - const WIDGET_MIMETYPE = 'application/vnd.jupyter.widget-view+json'; /** diff --git a/share/jupyter/voila/templates/base/static/main.js b/share/jupyter/voila/templates/base/static/main.js index 44bb642be..aa97ed773 100644 --- a/share/jupyter/voila/templates/base/static/main.js +++ b/share/jupyter/voila/templates/base/static/main.js @@ -44,9 +44,25 @@ require([window.voila_js_url || 'static/voila'], function(voila) { const languages = new voila.EditorLanguageRegistry(); + const [urlParam, configParam] = ['fullMathjaxUrl', 'mathjaxConfig']; + const url = voila.PageConfig.getOption(urlParam); + const config = voila.PageConfig.getOption(configParam); + if (url !== 'null' || config !== 'null') { + voila.PageConfig.setOption( + urlParam, + url === 'null' + ? 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js' + : url + ); + voila.PageConfig.setOption( + configParam, + config === 'null' ? 'TeX-AMS_CHTML-full,Safe' : config + ); + } + const rendermime = new voila.RenderMimeRegistry({ initialFactories: voila.extendedRendererFactories, - latexTypesetter: new voila.MathJaxTypesetter(), + latexTypesetter: new voila.MathJaxTypesetter({ url: voila.PageConfig.getOption(urlParam), config: voila.PageConfig.getOption(configParam) }), markdownParser: voila.createMarkdownParser(languages) });